@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(); } }
@Override public void expect(ClusterState state, SchedulerDriver mockDriver) throws AssertionError { StateStore stateStore = new StateStore(persisterWithTasks); Optional<Protos.TaskInfo> task = stateStore.fetchTask(taskName); Assert.assertTrue( String.format("Missing task: %s, known tasks are: %s", taskName, stateStore.fetchTaskNames()), task.isPresent()); Collection<Protos.Environment.Variable> env = task.get().getCommand().getEnvironment().getVariablesList(); Optional<String> actualValue = env.stream() .filter(e -> e.getName().equals(key)) .map(e -> e.getValue()) .findFirst(); Assert.assertTrue(String.format("Missing env entry %s, known entries are: %s", key, env.stream().map(e -> TextFormat.shortDebugString(e)).collect(Collectors.toList())), actualValue.isPresent()); Assert.assertEquals(value, actualValue.get()); } };
CommandInfo.Builder commandInfo = CommandInfo.newBuilder(); commandInfo .setEnvironment(envBuilder)
public static final double MEM = 1000.0; public static final double DISK = 2000.0; public static final Protos.CommandInfo CMD = Protos.CommandInfo.newBuilder().setValue("echo test-cmd").build();
CommandInfo commandInfo = CommandInfo.newBuilder() .setEnvironment(envBuilder) .setValue(String.format("cd %s && %s", directory, command))
CommandInfo.Builder commandInfoBuilder = CommandInfo.newBuilder() .addUris(URI.newBuilder().setValue((String) mesosStormConf.get(CONF_EXECUTOR_URI))) .addUris(URI.newBuilder().setValue(configUri))
checkDiscoveryInfo(taskBuilder.getDiscovery(), expectedDynamicPortName, expectedDynamicOverlayPort); Assert.assertEquals(0, taskBuilder.getResourcesCount()); Map<String, String> portEnvVarMap = taskBuilder.getCommand().getEnvironment().getVariablesList() .stream() .filter(variable -> variable.getName().equals(expectedExplicitOverlayPortEnvvar) ||
.setValue(id) .build()) .setCommand(CommandInfo.newBuilder() .setValue(executorLaunchCommand) .addUris(URI.newBuilder().setValue(reefTarUri).build())
Assert.assertEquals(4, cmd.getUrisList().size()); List<Protos.CommandInfo.URI> urisList = new ArrayList<>(cmd.getUrisList()); urisList.sort((a, b) -> a.getValue().compareTo(b.getValue())); Assert.assertEquals(
request.setTaskDefinition(taskInfo.getCommand().getValue()); for (final List<String> containerInstances : containerInstancePartitions) { request.setContainerInstances(containerInstances);
Protos.TaskInfo.Builder taskBuilder = podInfoBuilder.getTaskBuilders().stream().findFirst().get(); boolean portInTaskEnv = false; for (int i = 0; i < taskBuilder.getCommand().getEnvironment().getVariablesCount(); i++) { Protos.Environment.Variable variable = taskBuilder.getCommand().getEnvironment().getVariables(i); if (Objects.equals(variable.getName(), "PORT_TEST_PORT")) { Assert.assertEquals(variable.getValue(), "10000"); boolean portInHealthEnv = false; Protos.CheckInfo readinessCheck = taskBuilder.getCheck(); for (int i = 0; i < readinessCheck.getCommand().getCommand().getEnvironment().getVariablesCount(); i++) { Protos.Environment.Variable variable = readinessCheck.getCommand() .getCommand().getEnvironment().getVariables(i); if (Objects.equals(variable.getName(), "PORT_TEST_PORT")) { Assert.assertEquals(variable.getValue(), "10000");
Protos.TaskInfo.Builder taskBuilder = podInfoBuilder.getTaskBuilders().stream().findFirst().get(); boolean portInTaskEnv = false; for (int i = 0; i < taskBuilder.getCommand().getEnvironment().getVariablesCount(); i++) { Protos.Environment.Variable variable = taskBuilder.getCommand().getEnvironment().getVariables(i); if (Objects.equals(variable.getName(), "PORT_TEST_PORT")) { Assert.assertEquals(variable.getValue(), "10000"); for (int i = 0; i < taskBuilder.getHealthCheck().getCommand().getEnvironment().getVariablesCount(); i++) { Protos.Environment.Variable variable = taskBuilder.getHealthCheck().getCommand().getEnvironment().getVariables(i); if (Objects.equals(variable.getName(), "PORT_TEST_PORT")) { Assert.assertEquals(variable.getValue(), "10000");
.setCommand( CommandInfo .newBuilder() .setValue(cmd)).build();
checkDiscoveryInfo(taskBuilder.getDiscovery(), expectedPortName, expectedDynamicallyAssignedPort); Assert.assertEquals(0, taskBuilder.getResourcesCount()); List<Protos.Environment.Variable> portEnvVars = taskBuilder.getCommand().getEnvironment().getVariablesList() .stream() .filter(variable -> variable.getName().equals(expectedDynamicOverlayPortEnvvar))
List<Protos.Environment.Variable> portEnvVars = taskBuilder.getCommand().getEnvironment().getVariablesList() .stream() .filter(variable -> variable.getName().equals(expectedPortEnvVar))
Assert.assertEquals(getResourceId(taskInfo.getResources(1)), getResourceId(fulfilledPortResource2)); Map<String, Protos.Environment.Variable> envvars = EnvUtils.toMap(taskInfo.getCommand().getEnvironment()); Assert.assertEquals(String.valueOf(10000), envvars.get(portenv0).getValue()); Assert.assertEquals(String.valueOf(10001), envvars.get(portenv1).getValue());
.setScalar(Protos.Value.Scalar.newBuilder().setValue(128))) .setContainer(containerInfoBuilder) .setCommand(Protos.CommandInfo.newBuilder().setShell(false)) .build();
executorInfoBuilder.setCommand(CommandInfo.newBuilder() .addUris(URI.newBuilder().setValue(configUri)) .setValue(commandLineShim.getCommandLine(details.getId()))) ).build()); } else { executorInfoBuilder.setCommand(CommandInfo.newBuilder() .addUris(URI.newBuilder().setValue((String) mesosStormConf.get(CONF_EXECUTOR_URI))) .addUris(URI.newBuilder().setValue(configUri))
TaskSpec oldTaskSpecification = TestPodFactory.getTaskSpec( TestConstants.TASK_NAME, TestPodFactory.CMD.getValue(), TestPodFactory.getResourceSet(TestConstants.RESOURCE_SET_ID, 1, 2, 3), Arrays.asList( TestPodFactory.CMD.getValue(), TestPodFactory.getResourceSet(TestConstants.RESOURCE_SET_ID, 1, 2, 3), Arrays.asList(
TaskSpec oldTaskSpecification = TestPodFactory.getTaskSpec( TestConstants.TASK_NAME, TestPodFactory.CMD.getValue(), TestPodFactory.getResourceSet(TestConstants.RESOURCE_SET_ID, 1, 2, 3), Arrays.asList( TestPodFactory.CMD.getValue(), TestPodFactory.getResourceSet(TestConstants.RESOURCE_SET_ID, 1, 2, 3), Arrays.asList(