("/%s/instances/%s/console" %
(GANETI_RAPI_VERSION, instance)), None, None)
- def GetJobs(self):
+ def GetJobs(self, bulk=False):
"""Gets all jobs for the cluster.
+ @type bulk: bool
+ @param bulk: Whether to return detailed information about jobs.
@rtype: list of int
- @return: job ids for the cluster
+ @return: List of job ids for the cluster or list of dicts with detailed
+ information about the jobs if bulk parameter was true.
"""
- return [int(j["id"])
- for j in self._SendRequest(HTTP_GET,
- "/%s/jobs" % GANETI_RAPI_VERSION,
- None, None)]
+ query = []
+ _AppendIf(query, bulk, ("bulk", 1))
+
+ if bulk:
+ return self._SendRequest(HTTP_GET,
+ "/%s/jobs" % GANETI_RAPI_VERSION,
+ query, None)
+ else:
+ return [int(j["id"])
+ for j in self._SendRequest(HTTP_GET,
+ "/%s/jobs" % GANETI_RAPI_VERSION,
+ None, None)]
def GetJobStatus(self, job_id):
"""Gets the status of a job.
self.assertEqual([123, 124], self.client.GetJobs())
self.assertHandler(rlib2.R_2_jobs)
+ self.rapi.AddResponse('[ { "id": "123", "uri": "\\/2\\/jobs\\/123" },'
+ ' { "id": "124", "uri": "\\/2\\/jobs\\/124" } ]')
+ self.assertEqual([{"id": "123", "uri": "/2/jobs/123"},
+ {"id": "124", "uri": "/2/jobs/124"}],
+ self.client.GetJobs(bulk=True))
+ self.assertHandler(rlib2.R_2_jobs)
+ self.assertBulk()
+
def testGetJobStatus(self):
self.rapi.AddResponse("{\"foo\": \"bar\"}")
self.assertEqual({"foo": "bar"}, self.client.GetJobStatus(1234))