diff --git a/lib/rapi/client.py b/lib/rapi/client.py index ab52f7d2fdf916aefbb6da11aa057c7529d99799..2e42116ea7b0e0a284fb20f73913e1d3c750e30c 100644 --- a/lib/rapi/client.py +++ b/lib/rapi/client.py @@ -69,6 +69,25 @@ NODE_ROLE_MASTER = "master" NODE_ROLE_OFFLINE = "offline" NODE_ROLE_REGULAR = "regular" +JOB_STATUS_QUEUED = "queued" +JOB_STATUS_WAITLOCK = "waiting" +JOB_STATUS_CANCELING = "canceling" +JOB_STATUS_RUNNING = "running" +JOB_STATUS_CANCELED = "canceled" +JOB_STATUS_SUCCESS = "success" +JOB_STATUS_ERROR = "error" +JOB_STATUS_FINALIZED = frozenset([ + JOB_STATUS_CANCELED, + JOB_STATUS_SUCCESS, + JOB_STATUS_ERROR, + ]) +JOB_STATUS_ALL = frozenset([ + JOB_STATUS_QUEUED, + JOB_STATUS_WAITLOCK, + JOB_STATUS_CANCELING, + JOB_STATUS_RUNNING, + ]) | JOB_STATUS_FINALIZED + # Internal constants _REQ_DATA_VERSION_FIELD = "__version__" _INST_CREATE_REQV1 = "instance-create-reqv1" diff --git a/test/ganeti.rapi.client_unittest.py b/test/ganeti.rapi.client_unittest.py index 2cd1e8d0d6dc041dac5b5616e0bcd4401d6ca3ac..b5f7050b29cabbb00798eb440584adb89c918d0b 100755 --- a/test/ganeti.rapi.client_unittest.py +++ b/test/ganeti.rapi.client_unittest.py @@ -149,6 +149,16 @@ class TestConstants(unittest.TestCase): self.assertEqual(client._INST_CREATE_REQV1, rlib2._INST_CREATE_REQV1) self.assertEqual(client._INST_REINSTALL_REQV1, rlib2._INST_REINSTALL_REQV1) self.assertEqual(client._INST_NIC_PARAMS, constants.INIC_PARAMS) + self.assertEqual(client.JOB_STATUS_QUEUED, constants.JOB_STATUS_QUEUED) + self.assertEqual(client.JOB_STATUS_WAITLOCK, constants.JOB_STATUS_WAITLOCK) + self.assertEqual(client.JOB_STATUS_CANCELING, + constants.JOB_STATUS_CANCELING) + self.assertEqual(client.JOB_STATUS_RUNNING, constants.JOB_STATUS_RUNNING) + self.assertEqual(client.JOB_STATUS_CANCELED, constants.JOB_STATUS_CANCELED) + self.assertEqual(client.JOB_STATUS_SUCCESS, constants.JOB_STATUS_SUCCESS) + self.assertEqual(client.JOB_STATUS_ERROR, constants.JOB_STATUS_ERROR) + self.assertEqual(client.JOB_STATUS_FINALIZED, constants.JOBS_FINALIZED) + self.assertEqual(client.JOB_STATUS_ALL, constants.JOB_STATUS_ALL) class RapiMockTest(unittest.TestCase):