RAPI client: Add job status constants
authorMichael Hanselmann <hansmi@google.com>
Fri, 18 Mar 2011 14:05:43 +0000 (15:05 +0100)
committerMichael Hanselmann <hansmi@google.com>
Fri, 18 Mar 2011 14:54:15 +0000 (15:54 +0100)
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: RenĂ© Nussbaumer <rn@google.com>

lib/rapi/client.py
test/ganeti.rapi.client_unittest.py

index ab52f7d..2e42116 100644 (file)
@@ -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"
index 2cd1e8d..b5f7050 100755 (executable)
@@ -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):