diff --git a/lib/rapi/client.py b/lib/rapi/client.py index dc36bd0e807c83269c5ca94043eff168df893dc9..9ae294e550fa169bd5727d55c69dbf1ce04c8648 100644 --- a/lib/rapi/client.py +++ b/lib/rapi/client.py @@ -490,7 +490,7 @@ class GanetiRapiClient(object): if dry_run: query.append(("dry-run", 1)) - self._SendRequest(HTTP_DELETE, "/2/tags", query) + return self._SendRequest(HTTP_DELETE, "/2/tags", query) def GetInstances(self, bulk=False): """Gets information about instances on the cluster. @@ -512,7 +512,6 @@ class GanetiRapiClient(object): else: return [i["id"] for i in instances] - def GetInstanceInfo(self, instance): """Gets information about an instance. @@ -605,7 +604,8 @@ class GanetiRapiClient(object): if dry_run: query.append(("dry-run", 1)) - self._SendRequest(HTTP_DELETE, "/2/instances/%s/tags" % instance, query) + return self._SendRequest(HTTP_DELETE, "/2/instances/%s/tags" % instance, + query) def RebootInstance(self, instance, reboot_type=None, ignore_secondaries=None, dry_run=False): @@ -630,7 +630,8 @@ class GanetiRapiClient(object): if dry_run: query.append(("dry-run", 1)) - self._SendRequest(HTTP_POST, "/2/instances/%s/reboot" % instance, query) + return self._SendRequest(HTTP_POST, "/2/instances/%s/reboot" % instance, + query) def ShutdownInstance(self, instance, dry_run=False): """Shuts down an instance. @@ -645,7 +646,8 @@ class GanetiRapiClient(object): if dry_run: query.append(("dry-run", 1)) - self._SendRequest(HTTP_PUT, "/2/instances/%s/shutdown" % instance, query) + return self._SendRequest(HTTP_PUT, "/2/instances/%s/shutdown" % instance, + query) def StartupInstance(self, instance, dry_run=False): """Starts up an instance. @@ -660,7 +662,8 @@ class GanetiRapiClient(object): if dry_run: query.append(("dry-run", 1)) - self._SendRequest(HTTP_PUT, "/2/instances/%s/startup" % instance, query) + return self._SendRequest(HTTP_PUT, "/2/instances/%s/startup" % instance, + query) def ReinstallInstance(self, instance, os, no_startup=False): """Reinstalls an instance. @@ -676,7 +679,8 @@ class GanetiRapiClient(object): query = [("os", os)] if no_startup: query.append(("nostartup", 1)) - self._SendRequest(HTTP_POST, "/2/instances/%s/reinstall" % instance, query) + return self._SendRequest(HTTP_POST, "/2/instances/%s/reinstall" % instance, + query) def ReplaceInstanceDisks(self, instance, disks, mode="replace_auto", remote_node=None, iallocator="hail", dry_run=False): @@ -758,7 +762,7 @@ class GanetiRapiClient(object): if dry_run: query.append(("dry-run", 1)) - self._SendRequest(HTTP_DELETE, "/2/jobs/%d" % job_id, query) + return self._SendRequest(HTTP_DELETE, "/2/jobs/%d" % job_id, query) def GetNodes(self, bulk=False): """Gets all nodes in the cluster. diff --git a/test/ganeti.rapi.client_unittest.py b/test/ganeti.rapi.client_unittest.py index 546d1c453101941c072e24431e4ea5a249406674..4742c5eb647efba5aa8c3a5c31cab3c4bdf9d262 100755 --- a/test/ganeti.rapi.client_unittest.py +++ b/test/ganeti.rapi.client_unittest.py @@ -186,7 +186,9 @@ class GanetiRapiClientTests(unittest.TestCase): self.assertQuery("tag", ["awesome"]) def testDeleteClusterTags(self): - self.client.DeleteClusterTags(["awesome"], dry_run=True) + self.rapi.AddResponse("5107") + self.assertEqual(5107, self.client.DeleteClusterTags(["awesome"], + dry_run=True)) self.assertHandler(rlib2.R_2_tags) self.assertDryRun() self.assertQuery("tag", ["awesome"]) @@ -237,15 +239,19 @@ class GanetiRapiClientTests(unittest.TestCase): self.assertQuery("tag", ["awesome"]) def testDeleteInstanceTags(self): - self.client.DeleteInstanceTags("foo", ["awesome"], dry_run=True) + self.rapi.AddResponse("25826") + self.assertEqual(25826, self.client.DeleteInstanceTags("foo", ["awesome"], + dry_run=True)) self.assertHandler(rlib2.R_2_instances_name_tags) self.assertItems(["foo"]) self.assertDryRun() self.assertQuery("tag", ["awesome"]) def testRebootInstance(self): - self.client.RebootInstance("i-bar", reboot_type="hard", - ignore_secondaries=True, dry_run=True) + self.rapi.AddResponse("6146") + job_id = self.client.RebootInstance("i-bar", reboot_type="hard", + ignore_secondaries=True, dry_run=True) + self.assertEqual(6146, job_id) self.assertHandler(rlib2.R_2_instances_name_reboot) self.assertItems(["i-bar"]) self.assertDryRun() @@ -253,19 +259,25 @@ class GanetiRapiClientTests(unittest.TestCase): self.assertQuery("ignore_secondaries", ["True"]) def testShutdownInstance(self): - self.client.ShutdownInstance("foo-instance", dry_run=True) + self.rapi.AddResponse("1487") + self.assertEqual(1487, self.client.ShutdownInstance("foo-instance", + dry_run=True)) self.assertHandler(rlib2.R_2_instances_name_shutdown) self.assertItems(["foo-instance"]) self.assertDryRun() def testStartupInstance(self): - self.client.StartupInstance("bar-instance", dry_run=True) + self.rapi.AddResponse("27149") + self.assertEqual(27149, self.client.StartupInstance("bar-instance", + dry_run=True)) self.assertHandler(rlib2.R_2_instances_name_startup) self.assertItems(["bar-instance"]) self.assertDryRun() def testReinstallInstance(self): - self.client.ReinstallInstance("baz-instance", "DOS", no_startup=True) + self.rapi.AddResponse("19119") + self.assertEqual(19119, self.client.ReinstallInstance("baz-instance", "DOS", + no_startup=True)) self.assertHandler(rlib2.R_2_instances_name_reinstall) self.assertItems(["baz-instance"]) self.assertQuery("os", ["DOS"]) @@ -313,7 +325,9 @@ class GanetiRapiClientTests(unittest.TestCase): self.assertItems(["1234"]) def testDeleteJob(self): - self.client.DeleteJob(999, dry_run=True) + self.rapi.AddResponse("[true, \"Job 123 will be canceled\"]") + self.assertEqual([True, "Job 123 will be canceled"], + self.client.DeleteJob(999, dry_run=True)) self.assertHandler(rlib2.R_2_jobs_id) self.assertItems(["999"]) self.assertDryRun() @@ -425,7 +439,9 @@ class GanetiRapiClientTests(unittest.TestCase): self.assertQuery("tag", ["awesome"]) def testDeleteNodeTags(self): - self.client.DeleteNodeTags("node-w", ["awesome"], dry_run=True) + self.rapi.AddResponse("16861") + self.assertEqual(16861, self.client.DeleteNodeTags("node-w", ["awesome"], + dry_run=True)) self.assertHandler(rlib2.R_2_nodes_name_tags) self.assertItems(["node-w"]) self.assertDryRun()