.setName(taskName) .setSlaveId(aggregatedOffers.getSlaveID()) .setExecutor(executorInfoBuilder.build()) .addAllResources(workerResources) .build();
Value.Range.newBuilder().setBegin(ports.get(1)) .setEnd(ports.get(1))))) .setExecutor( ExecutorInfo .newBuilder()
.setScalar(Value.Scalar.newBuilder().setValue(taskMem - containerCpus))) .setData(taskData) .setExecutor(executorBuilder.build()) .build();
Protos.ExecutorInfo executorInfo = launchOperation.getLaunchGroup().getExecutor(); Collection<Protos.TaskInfo> taskInfos = launchOperation.getLaunchGroup().getTaskGroup().getTasksList().stream() .map(t -> t.toBuilder().setExecutor(executorInfo).build()) .collect(Collectors.toList()); stateStore.storeTasks(taskInfos);
.build()) .build()) .setExecutor(executorInfo) .build();
Protos.ExecutorInfo executorInfo = launchOperation.getLaunchGroup().getExecutor(); Collection<Protos.TaskInfo> taskInfos = launchOperation.getLaunchGroup().getTaskGroup().getTasksList().stream() .map(t -> t.toBuilder().setExecutor(executorInfo).build()) .collect(Collectors.toList()); stateStore.storeTasks(taskInfos);
.setSlaveId(initTaskInfo.getSlaveId()) .addAllResources(Arrays.asList(cpu, mem, disk, ports)) .setExecutor(initTaskInfo.getExecutor()) .build();
.setName(name) .setSlaveId(EMPTY_SLAVE_ID) .setExecutor(executor.getExecutorInfo()) .addAllResources(Arrays.asList( ResourceUtils.getDesiredScalar(role, principal, "cpus", cpus),
@Test public void testExecutorStateMechanism() throws IOException, InterruptedException, ExecutionException, ClassNotFoundException { Protos.TaskStatus taskStatus = Protos.TaskStatus.getDefaultInstance(); SerializableState state = Mockito.mock(SerializableState.class); when(state.get(anyString())).thenReturn(taskStatus); Protos.FrameworkID frameworkID = Protos.FrameworkID.newBuilder().setValue(FRAMEWORK_ID).build(); Protos.SlaveID slaveID = Protos.SlaveID.newBuilder().setValue(SLAVE_ID).build(); Protos.ExecutorID executorID = Protos.ExecutorID.newBuilder().setValue(EXECUTOR_ID).build(); Protos.TaskID taskID = Protos.TaskID.newBuilder().setValue(TASK_ID).build(); Protos.TaskInfo taskInfo = Protos.TaskInfo.newBuilder() .setTaskId(taskID) .setExecutor(Protos.ExecutorInfo.newBuilder() .setExecutorId(executorID) .setCommand(Protos.CommandInfo.getDefaultInstance()) ) .setSlaveId(slaveID) .setName("Test") .build(); ESTaskStatus executorState = new ESTaskStatus(state, frameworkID, taskInfo, mock(StatePath.class)); executorState.setStatus(taskStatus); verify(state, times(1)).set(anyString(), any(Protos.TaskStatus.class)); Protos.TaskStatus newStatus = executorState.getStatus(); assertNotNull(newStatus); assertEquals(taskStatus.getExecutorId().toString(), newStatus.getExecutorId().toString()); } }
public static Protos.TaskInfo getDefaultTaskInfo() { return Protos.TaskInfo.newBuilder() .setName("dummyTaskName") .setTaskId(Protos.TaskID.newBuilder().setValue(SLAVE_ID)) .setSlaveId(getSlaveId()) .setExecutor(Protos.ExecutorInfo.newBuilder() .setExecutorId(getExecutorId()) .setCommand(Protos.CommandInfo.newBuilder().setValue("").build()) .build()) .setDiscovery( Protos.DiscoveryInfo.newBuilder() .setVisibility(Protos.DiscoveryInfo.Visibility.EXTERNAL) .setPorts(Protos.Ports.newBuilder() .addPorts(Discovery.CLIENT_PORT_INDEX, Protos.Port.newBuilder().setNumber(9200)) .addPorts(Discovery.TRANSPORT_PORT_INDEX, Protos.Port.newBuilder().setNumber(9300)) ) ) .build(); }
public CassandraDaemonTask updateConfig(CassandraConfig cassandraConfig, ExecutorConfig executorConfig, UUID targetConfigName) { LOGGER.info("Updating config for task: {} to config: {}", getTaskInfo().getName(), targetConfigName.toString()); final Protos.Label label = Protos.Label.newBuilder() .setKey("config_target") .setValue(targetConfigName.toString()) .build(); return new CassandraDaemonTask(getBuilder() .setExecutor(getExecutor().update(executorConfig).getExecutorInfo()) .setTaskId(createId(getName())) .setData(getData().withNewConfig(cassandraConfig).getBytes()) .clearResources() .addAllResources(TaskUtils.updateResources( cassandraConfig.getCpus(), cassandraConfig.getMemoryMb(), getTaskInfo().getResourcesList() )) .clearLabels() .setLabels(Protos.Labels.newBuilder().addLabels(label).build()).build()); }
private Protos.TaskInfo buildCustomizedExecutorTaskInfo(final TaskContext taskContext, final CloudAppConfiguration appConfig, final CloudJobConfiguration jobConfig, final ShardingContexts shardingContexts, final Protos.Offer offer, final Protos.CommandInfo command) { Protos.TaskInfo.Builder result = Protos.TaskInfo.newBuilder().setTaskId(Protos.TaskID.newBuilder().setValue(taskContext.getId()).build()) .setName(taskContext.getTaskName()).setSlaveId(offer.getSlaveId()) .addResources(buildResource("cpus", jobConfig.getCpuCount(), offer.getResourcesList())) .addResources(buildResource("mem", jobConfig.getMemoryMB(), offer.getResourcesList())) .setData(ByteString.copyFrom(new TaskInfoData(shardingContexts, jobConfig).serialize())); Protos.ExecutorInfo.Builder executorBuilder = Protos.ExecutorInfo.newBuilder().setExecutorId(Protos.ExecutorID.newBuilder() .setValue(taskContext.getExecutorId(jobConfig.getAppName()))).setCommand(command) .addResources(buildResource("cpus", appConfig.getCpuCount(), offer.getResourcesList())) .addResources(buildResource("mem", appConfig.getMemoryMB(), offer.getResourcesList())); if (env.getJobEventRdbConfiguration().isPresent()) { executorBuilder.setData(ByteString.copyFrom(SerializationUtils.serialize(env.getJobEventRdbConfigurationMap()))).build(); } return result.setExecutor(executorBuilder.build()).build(); }
/** * Returns the {@link Protos.TaskInfo} to be passed to a StateStore upon launch. The TaskInfo is formatted * differently depending on where it's being sent: * * <ul><li>Mesos {@code LAUNCH_GROUP}: The {@link Protos.ExecutorInfo} is included in the * {@link Protos.Offer.Operation}, but not in the {@link Protos.TaskInfo}.</li> * <li>StateStore: The {@link Protos.ExecutorInfo} is included in the {@link Protos.TaskInfo} directly. This is how * tasks used to be launched in Mesos' classic {@code LAUNCH} operations. We now store there so that it can be * fetched when launching other tasks against the same executor instance</li></ul> */ public Protos.TaskInfo getStateStoreTaskInfo() { return taskInfo.toBuilder() .setExecutor(executorInfo) .build(); }
@Override public CassandraDaemonTask updateId() { return new CassandraDaemonTask(getBuilder() .setTaskId(createId(getName())) .setExecutor(getExecutor().clearId().getExecutorInfo()) .setData(getData() .withState(Protos.TaskState.TASK_STAGING).getBytes()) .build()); }
private Protos.TaskInfo normalizeCassandraTaskInfo(CassandraDaemonTask daemonTask) { Protos.TaskInfo daemonTaskInfo = daemonTask.getTaskInfo(); Protos.ExecutorInfo expectedExecutorInfo = Protos.ExecutorInfo.newBuilder(daemonTaskInfo.getExecutor()) .setExecutorId(Protos.ExecutorID.newBuilder().setValue("")) .build(); daemonTaskInfo = Protos.TaskInfo.newBuilder(daemonTaskInfo) .setTaskId(Protos.TaskID.newBuilder().setValue("")) .setExecutor(expectedExecutorInfo) .build(); return daemonTaskInfo; }