.setEnvironment(Protos.Environment.newBuilder() .addVariables(Protos.Environment.Variable.newBuilder() .setName("IGNITE_TCP_DISCOVERY_ADDRESSES") .setValue(getAddress(offer.getHostname()))) .addVariables(Protos.Environment.Variable.newBuilder() .setName("JVM_OPTS") .setValue(clusterProps.jmvOpts()))) .addUris(Protos.CommandInfo.URI.newBuilder()
public static Environment createEnvironment( final Map<String, String> env) { return Environment.newBuilder() .addAllVariables(env.entrySet().stream() .map(entry -> Environment.Variable.newBuilder() .setName(entry.getKey()) .setValue(entry.getValue()).build()) .collect(Collectors.toList())) .build(); }
private static void extendEnv(Protos.CommandInfo.Builder builder, Map<String, String> environment) { for (Map.Entry<String, String> entry : environment.entrySet()) { builder.getEnvironmentBuilder().addVariablesBuilder().setName(entry.getKey()).setValue(entry.getValue()); } }
.addVariables( Protos.Environment.Variable.newBuilder() .setName("HADOOP_OPTS") .setValue( jvmOpts + if (env.containsKey("JAVA_HOME")) { envBuilder.addVariables(Protos.Environment.Variable.newBuilder() .setName("JAVA_HOME") .setValue(env.get("JAVA_HOME"))); .setName("JAVA_LIBRARY_PATH") .setValue(env.get("JAVA_LIBRARY_PATH")));
if (secretSpec.getEnvKey().isPresent()) { commandBuilder.getEnvironmentBuilder().addVariablesBuilder() .setName(secretSpec.getEnvKey().get()) .setType(Protos.Environment.Variable.Type.SECRET) .setSecret(getReferenceSecret(secretSpec.getSecretPath()));
.getEnvironmentBuilder() .addVariablesBuilder() .setName(TestConstants.PORT_ENV_NAME) .setValue(portValue);
@Override public Protos.CommandInfo create(Map<String, String> additionalEnvironmentVariables) { Protos.CommandInfo.Builder builder = Protos.CommandInfo.newBuilder(); Optional<String> command = Optional.ofNullable(mesosConfig.getCommand()); builder.setShell(command.isPresent()); command.ifPresent(builder::setValue); builder.addAllUris(mesosConfig.getUri().stream().map(uri -> Protos.CommandInfo.URI.newBuilder().setValue(uri).build()).collect(Collectors.toList())); Map<String, String> environmentVariables = new LinkedHashMap<>(); environmentVariables.putAll(additionalEnvironmentVariables); environmentVariables.putAll(mesosConfig.getEnvironment()); //todo: migrate to foreach environmentVariables.entrySet().stream() .map(kv -> Protos.Environment.Variable.newBuilder().setName(kv.getKey()).setValue(kv.getValue()).build()) .collect(Collectors.collectingAndThen( Collectors.toList(), variables -> builder.setEnvironment(Protos.Environment.newBuilder().addAllVariables(variables)))); return builder.build(); } }
@Test public void addEnvVarToEnvironmentWithSecret() { Protos.Environment.Builder envBuilder = Protos.Environment.newBuilder(); envBuilder.addVariablesBuilder() .setName(SECRET_KEY) .setType(Protos.Environment.Variable.Type.SECRET) .setSecret(getReferenceSecret(SECRET_PATH)); Protos.Environment newEnv = EnvUtils.withEnvVar(envBuilder.build(), TEST_ENV_KEY, TEST_ENV_VALUE); Assert.assertEquals(newEnv.getVariablesCount(), 2); for(Protos.Environment.Variable envVar : newEnv.getVariablesList()) { if (envVar.getName().equals(SECRET_KEY)) { Assert.assertEquals(envVar.getSecret(), getReferenceSecret(SECRET_PATH)); } if (envVar.getName().equals(TEST_ENV_KEY)) { Assert.assertEquals(envVar.getValue(), TEST_ENV_VALUE); } } }
private static void updateFaultDomainEnv(Protos.TaskInfo.Builder builder, Protos.Offer offer) { if (!offer.hasDomain() || !offer.getDomain().hasFaultDomain() || !builder.hasCommand()) { return; } Protos.Environment.Variable regionVar = Protos.Environment.Variable.newBuilder() .setName(EnvConstants.REGION_TASKENV) .setValue(offer.getDomain().getFaultDomain().getRegion().getName()) .build(); Protos.Environment.Variable zoneVar = Protos.Environment.Variable.newBuilder() .setName(EnvConstants.ZONE_TASKENV) .setValue(offer.getDomain().getFaultDomain().getZone().getName()) .build(); builder.getCommandBuilder() .getEnvironmentBuilder() .addVariables(regionVar) .addVariables(zoneVar); } }
/** * Adds or updates the provided environment variable entry in the provided command builder. */ public static Environment withEnvVar(Environment environment, String key, String value) { Map<String, Environment.Variable> envMap = toMap(environment); envMap.put(key, Environment.Variable.newBuilder() .setName(key) .setValue(value) .build()); Environment.Builder envBuilder = Environment.newBuilder(); for (Map.Entry<String, Environment.Variable> entry : envMap.entrySet()) { envBuilder.addVariables(entry.getValue()); } return envBuilder.build(); }
/** * Returns a Protobuf representation of the provided environment {@link Map}. * This is the inverse of {@link #toMap(Environment)}. */ public static Environment toProto(Map<String, String> environmentMap) { Environment.Builder envBuilder = Environment.newBuilder(); for (Map.Entry<String, String> entry : environmentMap.entrySet()) { envBuilder.addVariablesBuilder() .setName(entry.getKey()) .setValue(entry.getValue()); } return envBuilder.build(); }
@Test public void overwriteExistingEnvVarKey() { Protos.Environment.Builder envBuilder = Protos.Environment.newBuilder(); envBuilder.addVariablesBuilder() .setName(TEST_ENV_KEY) .setValue(TEST_ENV_VALUE) .build(); Protos.Environment newEnv = EnvUtils.withEnvVar(envBuilder.build(), TEST_ENV_KEY, TEST_REPLACE_ENV_VALUE); Assert.assertEquals(newEnv.getVariablesCount(), 1); Protos.Environment.Variable envVar = newEnv.getVariables(0); Assert.assertEquals(envVar.getValue(), TEST_REPLACE_ENV_VALUE); }
private static Protos.TaskInfo createTaskInfoWithZone(String taskName, String zone) { return Protos.TaskInfo.newBuilder(createTask(taskName)) .setCommand(Protos.CommandInfo.newBuilder() .setEnvironment(Protos.Environment.newBuilder() .addVariables(Protos.Environment.Variable.newBuilder() .setName(EnvConstants.ZONE_TASKENV) .setValue(zone)))) .build(); }
public static Protos.TaskInfo getTaskInfoExternalVolume(Integer esNodeId) { return Protos.TaskInfo.newBuilder(getDefaultTaskInfo()) .setCommand(Protos.CommandInfo.newBuilder() .setValue("") .setEnvironment(Protos.Environment.newBuilder() .addVariables(Protos.Environment.Variable.newBuilder() .setName(ExecutorEnvironmentalVariables.ELASTICSEARCH_NODE_ID) .setValue(esNodeId.toString()))) .build()) .build(); }
/** * Construct a Mesos environment variable. */ public static Protos.Environment.Variable variable(String name, String value) { checkNotNull(name); return Protos.Environment.Variable.newBuilder() .setName(name) .setValue(value) .build(); }