Revision 0b58db81 test/ganeti.rapi.client_unittest.py
b/test/ganeti.rapi.client_unittest.py | ||
---|---|---|
165 | 165 |
self.assertEqual(client.JOB_STATUS_FINALIZED, constants.JOBS_FINALIZED) |
166 | 166 |
self.assertEqual(client.JOB_STATUS_ALL, constants.JOB_STATUS_ALL) |
167 | 167 |
|
168 |
# Node evacuation |
|
169 |
self.assertEqual(client.NODE_EVAC_PRI, constants.IALLOCATOR_NEVAC_PRI) |
|
170 |
self.assertEqual(client.NODE_EVAC_SEC, constants.IALLOCATOR_NEVAC_SEC) |
|
171 |
self.assertEqual(client.NODE_EVAC_ALL, constants.IALLOCATOR_NEVAC_ALL) |
|
172 |
|
|
168 | 173 |
# Legacy name |
169 | 174 |
self.assertEqual(client.JOB_STATUS_WAITLOCK, constants.JOB_STATUS_WAITING) |
170 | 175 |
|
... | ... | |
860 | 865 |
|
861 | 866 |
self.rapi.AddResponse(serializer.DumpJson([rlib2._NODE_EVAC_RES1])) |
862 | 867 |
self.rapi.AddResponse("8888") |
863 |
job_id = self.client.EvacuateNode("node-3", iallocator="hail", dry_run=True) |
|
868 |
job_id = self.client.EvacuateNode("node-3", iallocator="hail", dry_run=True, |
|
869 |
mode=constants.IALLOCATOR_NEVAC_ALL, |
|
870 |
early_release=True) |
|
864 | 871 |
self.assertEqual(8888, job_id) |
865 | 872 |
self.assertItems(["node-3"]) |
866 |
self.assertEqual(serializer.LoadJson(self.rapi.GetLastRequestData()), |
|
867 |
{ "iallocator": "hail", }) |
|
873 |
self.assertEqual(serializer.LoadJson(self.rapi.GetLastRequestData()), { |
|
874 |
"iallocator": "hail", |
|
875 |
"mode": "all", |
|
876 |
"early_release": True, |
|
877 |
}) |
|
868 | 878 |
self.assertDryRun() |
869 | 879 |
|
870 | 880 |
self.assertRaises(client.GanetiApiError, |
... | ... | |
878 | 888 |
"node-4", accept_old=False) |
879 | 889 |
self.assertEqual(self.rapi.CountPending(), 0) |
880 | 890 |
|
881 |
self.rapi.AddResponse(serializer.DumpJson([])) |
|
882 |
self.assertRaises(client.GanetiApiError, self.client.EvacuateNode, |
|
883 |
"node-4", accept_old=True) |
|
884 |
self.assertEqual(self.rapi.CountPending(), 0) |
|
885 |
|
|
886 |
self.rapi.AddResponse(serializer.DumpJson([])) |
|
887 |
self.assertRaises(client.GanetiApiError, self.client.EvacuateNode, |
|
888 |
"node-4", accept_old=True, primary=True) |
|
889 |
self.assertEqual(self.rapi.CountPending(), 0) |
|
891 |
for mode in [client.NODE_EVAC_PRI, client.NODE_EVAC_ALL]: |
|
892 |
self.rapi.AddResponse(serializer.DumpJson([])) |
|
893 |
self.assertRaises(client.GanetiApiError, self.client.EvacuateNode, |
|
894 |
"node-4", accept_old=True, mode=mode) |
|
895 |
self.assertEqual(self.rapi.CountPending(), 0) |
|
890 | 896 |
|
891 | 897 |
self.rapi.AddResponse(serializer.DumpJson([])) |
892 |
self.assertRaises(client.GanetiApiError, self.client.EvacuateNode, |
|
893 |
"node-4", accept_old=True, secondary=False) |
|
898 |
self.rapi.AddResponse(serializer.DumpJson("21533")) |
|
899 |
result = self.client.EvacuateNode("node-3", iallocator="hail", |
|
900 |
dry_run=True, accept_old=True, |
|
901 |
mode=client.NODE_EVAC_SEC, |
|
902 |
early_release=True) |
|
903 |
self.assertEqual(result, "21533") |
|
904 |
self.assertItems(["node-3"]) |
|
905 |
self.assertQuery("iallocator", ["hail"]) |
|
906 |
self.assertQuery("early_release", ["1"]) |
|
907 |
self.assertFalse(self.rapi.GetLastRequestData()) |
|
908 |
self.assertDryRun() |
|
894 | 909 |
self.assertEqual(self.rapi.CountPending(), 0) |
895 | 910 |
|
896 |
for sec in [True, None]: |
|
897 |
self.rapi.AddResponse(serializer.DumpJson([])) |
|
898 |
self.rapi.AddResponse(serializer.DumpJson([["res", "foo"]])) |
|
899 |
result = self.client.EvacuateNode("node-3", iallocator="hail", |
|
900 |
dry_run=True, accept_old=True, |
|
901 |
primary=False, secondary=sec) |
|
902 |
self.assertEqual(result, [["res", "foo"]]) |
|
903 |
self.assertItems(["node-3"]) |
|
904 |
self.assertQuery("iallocator", ["hail"]) |
|
905 |
self.assertFalse(self.rapi.GetLastRequestData()) |
|
906 |
self.assertDryRun() |
|
907 |
self.assertEqual(self.rapi.CountPending(), 0) |
|
908 |
|
|
909 | 911 |
def testMigrateNode(self): |
910 | 912 |
self.rapi.AddResponse(serializer.DumpJson([])) |
911 | 913 |
self.rapi.AddResponse("1111") |
Also available in: Unified diff