use of org.datanucleus.samples.metadata.inh2.Container in project pravega by pravega.
the class PravegaSegmentStoreService method createPravegaSegmentStoreApp.
private App createPravegaSegmentStoreApp() {
App app = new App();
app.setId(this.id);
app.setCpus(cpu);
app.setMem(mem);
app.setInstances(instances);
// set constraints
app.setConstraints(setConstraint("hostname", "UNIQUE"));
// docker container
app.setContainer(new Container());
app.getContainer().setType(CONTAINER_TYPE);
app.getContainer().setDocker(new Docker());
// set the image and network
app.getContainer().getDocker().setImage(IMAGE_PATH + "/nautilus/pravega:" + PRAVEGA_VERSION);
// set port
app.setPortDefinitions(Arrays.asList(createPortDefinition(SEGMENTSTORE_PORT)));
app.setRequirePorts(true);
// healthchecks
List<HealthCheck> healthCheckList = new ArrayList<HealthCheck>();
healthCheckList.add(setHealthCheck(300, "TCP", false, 60, 20, 0, SEGMENTSTORE_PORT));
app.setHealthChecks(healthCheckList);
// set env
String zk = zkUri.getHost() + ":" + ZKSERVICE_ZKPORT;
// Environment variables to configure SS service.
Map<String, Object> map = new HashMap<>();
map.put("ZK_URL", zk);
map.put("BK_ZK_URL", zk);
map.put("CONTROLLER_URL", conUri.toString());
getCustomEnvVars(map, SEGMENTSTORE_EXTRA_ENV);
// Properties set to override defaults for system tests
String hostSystemProperties = "-Xmx1024m" + setSystemProperty("autoScale.muteInSeconds", "120") + setSystemProperty("autoScale.cooldownInSeconds", "120") + setSystemProperty("autoScale.cacheExpiryInSeconds", "120") + setSystemProperty("autoScale.cacheCleanUpInSeconds", "120") + setSystemProperty("log.level", "DEBUG") + setSystemProperty("log.dir", "$MESOS_SANDBOX/pravegaLogs") + setSystemProperty("curator-default-session-timeout", String.valueOf(30 * 1000)) + setSystemProperty("hdfs.replaceDataNodesOnFailure", "false");
map.put("PRAVEGA_SEGMENTSTORE_OPTS", hostSystemProperties);
app.setEnv(map);
app.setArgs(Arrays.asList("segmentstore"));
return app;
}
Aggregations