From 655d803b449fe608b0fe6afc7781bce3582dff24 Mon Sep 17 00:00:00 2001 From: Pengju Jiao Date: Wed, 17 May 2017 17:20:12 +0800 Subject: [PATCH] Fix start failed job not working Currently, when we start a failed job, nothing will happen. It is because freezer-scheduler has filtered all the job with status 'completed'. This patch will fix it. Change-Id: I9ef420ba5dbf1e80582a6b0ab947646630a6b7fa Closes-Bug: #1625189 --- freezer_api/api/v1/jobs.py | 2 ++ freezer_api/api/v2/jobs.py | 2 ++ freezer_api/common/json_schemas.py | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/freezer_api/api/v1/jobs.py b/freezer_api/api/v1/jobs.py index 0583a1b5..6f0ad8be 100644 --- a/freezer_api/api/v1/jobs.py +++ b/freezer_api/api/v1/jobs.py @@ -258,6 +258,8 @@ class Job(object): def start(self, params=None): if self.job_schedule.get('event') != 'start': self.job_schedule['event'] = 'start' + self.job_schedule['status'] = '' + self.job_schedule['result'] = '' self.need_update = True return 'success' return 'start already requested' diff --git a/freezer_api/api/v2/jobs.py b/freezer_api/api/v2/jobs.py index 57ee4f9a..e93e7cfd 100644 --- a/freezer_api/api/v2/jobs.py +++ b/freezer_api/api/v2/jobs.py @@ -271,6 +271,8 @@ class Job(object): def start(self, params=None): if self.job_schedule.get('event') != 'start': self.job_schedule['event'] = 'start' + self.job_schedule['status'] = '' + self.job_schedule['result'] = '' self.need_update = True return 'success' return 'start already requested' diff --git a/freezer_api/common/json_schemas.py b/freezer_api/common/json_schemas.py index 34794956..fb01e390 100644 --- a/freezer_api/common/json_schemas.py +++ b/freezer_api/common/json_schemas.py @@ -72,7 +72,7 @@ schedule_properties = { "status": { "id": "status", "type": "string", - "enum": ["completed", "stop", "scheduled", + "enum": ["", "completed", "stop", "scheduled", "running", "aborting", "removed"] }, "result": {