Java Code Examples for mesosphere.marathon.client.model.v2.App#setEnv()
The following examples show how to use
mesosphere.marathon.client.model.v2.App#setEnv() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: BookkeeperService.java From pravega with Apache License 2.0 | 5 votes |
private App createBookieApp() { App app = new App(); app.setId(this.id); app.setCpus(cpu); app.setMem(mem); app.setInstances(instances); app.setConstraints(setConstraint("hostname", "UNIQUE")); app.setContainer(new Container()); app.getContainer().setType(CONTAINER_TYPE); app.getContainer().setDocker(new Docker()); app.getContainer().getDocker().setImage(IMAGE_PATH + "/nautilus/bookkeeper:" + PRAVEGA_VERSION); Collection<Volume> volumeCollection = new ArrayList<>(); volumeCollection.add(createVolume("/bk", "mnt", "RW")); //TODO: add persistent volume (see issue https://github.com/pravega/pravega/issues/639) app.getContainer().setVolumes(volumeCollection); app.setPorts(Arrays.asList(BK_PORT)); app.setRequirePorts(true); //set env String zk = zkUri.getHost() + ":" + ZKSERVICE_ZKPORT; Map<String, Object> map = new HashMap<>(); map.put("ZK_URL", zk); map.put("ZK", zk); map.put("bookiePort", String.valueOf(BK_PORT)); map.put("DLOG_EXTRA_OPTS", "-Xms512m"); app.setEnv(map); //healthchecks List<HealthCheck> healthCheckList = new ArrayList<>(); healthCheckList.add(setHealthCheck(300, "TCP", false, 60, 20, 0, BK_PORT)); app.setHealthChecks(healthCheckList); return app; }
Example 2
Source File: MarathonAppDeployer.java From spring-cloud-deployer-mesos with Apache License 2.0 | 4 votes |
private void createAppDeployment(AppDeploymentRequest request, String deploymentId, Container container, Integer index) { App app = new App(); app.setContainer(container); app.setId(deploymentId); Map<String, String> env = new HashMap<>(); env.putAll(request.getDefinition().getProperties()); for (String envVar : properties.getEnvironmentVariables()) { String[] strings = envVar.split("=", 2); Assert.isTrue(strings.length == 2, "Invalid environment variable declared: " + envVar); env.put(strings[0], strings[1]); } if (index != null) { env.put(INSTANCE_INDEX_PROPERTY_KEY, index.toString()); } app.setEnv(env); Collection<String> uris = deduceUris(request); app.setUris(uris); Collection<Constraint> constraints = deduceConstraints(request); app.setConstraints(constraints.stream().map(Constraint::toStringList).collect(Collectors.toList())); Double cpus = deduceCpus(request); Double memory = deduceMemory(request); Integer instances = index == null ? deduceInstances(request) : 1; app.setCpus(cpus); app.setMem(memory); app.setInstances(instances); HealthCheck healthCheck = new HealthCheck(); healthCheck.setPath("/health"); healthCheck.setGracePeriodSeconds(300); app.setHealthChecks(Arrays.asList(healthCheck)); logger.debug("Creating app with definition:\n" + app.toString()); try { marathon.createApp(app); } catch (MarathonException e) { throw new RuntimeException(e); } }
Example 3
Source File: PravegaSegmentStoreService.java From pravega with Apache License 2.0 | 4 votes |
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; }
Example 4
Source File: PravegaControllerService.java From pravega with Apache License 2.0 | 4 votes |
/** * To configure the controller app. * * @return App instance of marathon app */ private App createPravegaControllerApp() { App app = new App(); app.setId(this.id); app.setCpus(cpu); app.setMem(mem); app.setInstances(instances); app.setConstraints(setConstraint("hostname", "UNIQUE")); app.setContainer(new Container()); app.getContainer().setType(CONTAINER_TYPE); app.getContainer().setDocker(new Docker()); app.getContainer().getDocker().setImage(IMAGE_PATH + "/nautilus/pravega:" + PRAVEGA_VERSION); String zk = zkUri.getHost() + ":" + ZKSERVICE_ZKPORT; //set port app.setPortDefinitions(Arrays.asList(createPortDefinition(CONTROLLER_PORT), createPortDefinition(REST_PORT))); app.setRequirePorts(true); List<HealthCheck> healthCheckList = new ArrayList<HealthCheck>(); healthCheckList.add(setHealthCheck(300, "TCP", false, 60, 20, 0, CONTROLLER_PORT)); app.setHealthChecks(healthCheckList); String componentCode = "controller"; //set env String controllerSystemProperties = "-Xmx512m" + setSystemProperty(Config.PROPERTY_ZK_URL.getFullName(componentCode), zk) + setSystemProperty(Config.PROPERTY_RPC_HOST.getFullName(componentCode), this.id + ".marathon.mesos") + setSystemProperty(Config.PROPERTY_RPC_PORT.getFullName(componentCode), String.valueOf(CONTROLLER_PORT)) + setSystemProperty(Config.PROPERTY_SERVICE_PORT.getFullName(componentCode), String.valueOf(CONTROLLER_PORT)) + setSystemProperty(Config.PROPERTY_REST_PORT.getFullName(componentCode), String.valueOf(REST_PORT)) + setSystemProperty("log.level", "DEBUG") + setSystemProperty("log.dir", "$MESOS_SANDBOX/pravegaLogs") + setSystemProperty("curator-default-session-timeout", String.valueOf(10 * 1000)) + setSystemProperty(Config.PROPERTY_TXN_MAX_LEASE.getFullName(componentCode), String.valueOf(120 * 1000)) + setSystemProperty(Config.PROPERTY_RETENTION_FREQUENCY_MINUTES.getFullName(componentCode), String.valueOf(2)); Map<String, Object> map = new HashMap<>(); map.put("PRAVEGA_CONTROLLER_OPTS", controllerSystemProperties); app.setEnv(map); app.setArgs(Arrays.asList("controller")); return app; }