def test_update_killed_job(in_place): job = StatelessJob(job_file=UPDATE_STATELESS_JOB_ADD_INSTANCES_SPEC) job.create() job.wait_for_state(goal_state="RUNNING") job.stop() job.wait_for_state(goal_state="KILLED") update = StatelessUpdate( job, updated_job_file=UPDATE_STATELESS_JOB_UPDATE_REDUCE_INSTANCES_SPEC) update.create(in_place=in_place) update.wait_for_state(goal_state="SUCCEEDED") assert job.get_spec().instance_count == 3 assert job.get_status().state == stateless_pb2.JOB_STATE_KILLED
def test_stop_running_job_with_active_update_remove_instances(in_place): stateless_job = StatelessJob( job_file=UPDATE_STATELESS_JOB_ADD_INSTANCES_SPEC) stateless_job.create() stateless_job.wait_for_state(goal_state="RUNNING") assert len(stateless_job.query_pods()) == 5 update = StatelessUpdate( stateless_job, updated_job_file=UPDATE_STATELESS_JOB_UPDATE_REDUCE_INSTANCES_SPEC, batch_size=1, ) update.create(in_place=in_place) update.wait_for_state(goal_state="ROLLING_FORWARD") stateless_job.stop() update.wait_for_state(goal_state="SUCCEEDED") assert stateless_job.get_spec().instance_count == 3