def test_mesos_executor_driver_status_update(self): os.environ['MESOS_SLAVE_PID'] = str(self.slave.pid) executor = Executor() driver = PesosExecutorDriver(executor, context=self.context) assert driver.start() == mesos_pb2.DRIVER_RUNNING # wait until registered driver.executor_process.connected.wait(timeout=MAX_TIMEOUT) assert driver.executor_process.connected.is_set() task_status = mesos_pb2.TaskStatus( task_id=mesos_pb2.TaskID(value='task-id'), state=mesos_pb2.TASK_FAILED, ) assert driver.send_status_update( task_status) == mesos_pb2.DRIVER_RUNNING self.slave.status_update_event.wait(timeout=MAX_TIMEOUT) assert self.slave.status_update_event.is_set() assert len(self.slave.status_updates) == 1 assert self.slave.status_updates[0][0] == driver.executor_process.pid status_update_message = self.slave.status_updates[0][1] status_update = status_update_message.update assert status_update.slave_id == self.slave.slave_id assert status_update.framework_id == mesos_pb2.FrameworkID( value=self.FRAMEWORK_ID) assert status_update.executor_id == mesos_pb2.ExecutorID( value=self.EXECUTOR_ID) assert status_update.status.task_id == task_status.task_id assert status_update.status.state == task_status.state assert status_update.HasField('timestamp') assert status_update.HasField('uuid')
def test_mesos_executor_driver_status_update(self): os.environ['MESOS_SLAVE_PID'] = str(self.slave.pid) executor = Executor() driver = PesosExecutorDriver(executor, context=self.context) assert driver.start() == mesos_pb2.DRIVER_RUNNING # wait until registered driver.executor_process.connected.wait(timeout=MAX_TIMEOUT) assert driver.executor_process.connected.is_set() task_status = mesos_pb2.TaskStatus( task_id=mesos_pb2.TaskID(value='task-id'), state=mesos_pb2.TASK_FAILED, ) assert driver.send_status_update(task_status) == mesos_pb2.DRIVER_RUNNING self.slave.status_update_event.wait(timeout=MAX_TIMEOUT) assert self.slave.status_update_event.is_set() assert len(self.slave.status_updates) == 1 assert self.slave.status_updates[0][0] == driver.executor_process.pid status_update_message = self.slave.status_updates[0][1] status_update = status_update_message.update assert status_update.slave_id == self.slave.slave_id assert status_update.framework_id == mesos_pb2.FrameworkID(value=self.FRAMEWORK_ID) assert status_update.executor_id == mesos_pb2.ExecutorID(value=self.EXECUTOR_ID) assert status_update.status.task_id == task_status.task_id assert status_update.status.state == task_status.state assert status_update.HasField('timestamp') assert status_update.HasField('uuid')