Skip to content

Commit f9360ae

Browse files
Jenkinsopenstack-gerrit
authored andcommitted
Merge "Provide user with coherent interface to get request_ids"
2 parents d56c95d + f535e69 commit f9360ae

File tree

4 files changed

+42
-56
lines changed

4 files changed

+42
-56
lines changed

novaclient/tests/unit/v2/test_hosts.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,21 +73,21 @@ def test_update_both(self):
7373

7474
def test_host_startup(self):
7575
host = self.cs.hosts.get('sample_host')[0]
76-
resp, result = host.startup()
76+
result = host.startup()
7777
self.assert_request_id(result, fakes.FAKE_REQUEST_ID_LIST)
7878
self.assert_called(
7979
'GET', '/os-hosts/sample_host/startup')
8080

8181
def test_host_reboot(self):
8282
host = self.cs.hosts.get('sample_host')[0]
83-
resp, result = host.reboot()
83+
result = host.reboot()
8484
self.assert_request_id(result, fakes.FAKE_REQUEST_ID_LIST)
8585
self.assert_called(
8686
'GET', '/os-hosts/sample_host/reboot')
8787

8888
def test_host_shutdown(self):
8989
host = self.cs.hosts.get('sample_host')[0]
90-
resp, result = host.shutdown()
90+
result = host.shutdown()
9191
self.assert_request_id(result, fakes.FAKE_REQUEST_ID_LIST)
9292
self.assert_called(
9393
'GET', '/os-hosts/sample_host/shutdown')

novaclient/tests/unit/v2/test_servers.py

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -597,28 +597,28 @@ def test_remove_floating_ip(self):
597597

598598
def test_stop(self):
599599
s = self.cs.servers.get(1234)
600-
resp, ret = s.stop()
600+
ret = s.stop()
601601
self.assert_request_id(ret, fakes.FAKE_REQUEST_ID_LIST)
602602
self.assert_called('POST', '/servers/1234/action')
603-
resp, ret = self.cs.servers.stop(s)
603+
ret = self.cs.servers.stop(s)
604604
self.assert_request_id(ret, fakes.FAKE_REQUEST_ID_LIST)
605605
self.assert_called('POST', '/servers/1234/action')
606606

607607
def test_force_delete(self):
608608
s = self.cs.servers.get(1234)
609-
resp, ret = s.force_delete()
609+
ret = s.force_delete()
610610
self.assert_request_id(ret, fakes.FAKE_REQUEST_ID_LIST)
611611
self.assert_called('POST', '/servers/1234/action')
612-
resp, ret = self.cs.servers.force_delete(s)
612+
ret = self.cs.servers.force_delete(s)
613613
self.assert_request_id(ret, fakes.FAKE_REQUEST_ID_LIST)
614614
self.assert_called('POST', '/servers/1234/action')
615615

616616
def test_restore(self):
617617
s = self.cs.servers.get(1234)
618-
resp, ret = s.restore()
618+
ret = s.restore()
619619
self.assert_request_id(ret, fakes.FAKE_REQUEST_ID_LIST)
620620
self.assert_called('POST', '/servers/1234/action')
621-
resp, ret = self.cs.servers.restore(s)
621+
ret = self.cs.servers.restore(s)
622622
self.assert_request_id(ret, fakes.FAKE_REQUEST_ID_LIST)
623623
self.assert_called('POST', '/servers/1234/action')
624624

@@ -633,31 +633,31 @@ def test_start(self):
633633

634634
def test_rescue(self):
635635
s = self.cs.servers.get(1234)
636-
resp, ret = s.rescue()
636+
ret = s.rescue()
637637
self.assert_request_id(ret, fakes.FAKE_REQUEST_ID_LIST)
638638
self.assert_called('POST', '/servers/1234/action')
639-
resp, ret = self.cs.servers.rescue(s)
639+
ret = self.cs.servers.rescue(s)
640640
self.assert_request_id(ret, fakes.FAKE_REQUEST_ID_LIST)
641641
self.assert_called('POST', '/servers/1234/action')
642642

643643
def test_rescue_password(self):
644644
s = self.cs.servers.get(1234)
645-
resp, ret = s.rescue(password='asdf')
645+
ret = s.rescue(password='asdf')
646646
self.assert_request_id(ret, fakes.FAKE_REQUEST_ID_LIST)
647647
self.assert_called('POST', '/servers/1234/action',
648648
{'rescue': {'adminPass': 'asdf'}})
649-
resp, ret = self.cs.servers.rescue(s, password='asdf')
649+
ret = self.cs.servers.rescue(s, password='asdf')
650650
self.assert_request_id(ret, fakes.FAKE_REQUEST_ID_LIST)
651651
self.assert_called('POST', '/servers/1234/action',
652652
{'rescue': {'adminPass': 'asdf'}})
653653

654654
def test_rescue_image(self):
655655
s = self.cs.servers.get(1234)
656-
resp, ret = s.rescue(image=1)
656+
ret = s.rescue(image=1)
657657
self.assert_request_id(ret, fakes.FAKE_REQUEST_ID_LIST)
658658
self.assert_called('POST', '/servers/1234/action',
659659
{'rescue': {'rescue_image_ref': 1}})
660-
resp, ret = self.cs.servers.rescue(s, image=1)
660+
ret = self.cs.servers.rescue(s, image=1)
661661
self.assert_request_id(ret, fakes.FAKE_REQUEST_ID_LIST)
662662
self.assert_called('POST', '/servers/1234/action',
663663
{'rescue': {'rescue_image_ref': 1}})
@@ -768,18 +768,18 @@ def test_clear_password(self):
768768

769769
def test_get_server_diagnostics(self):
770770
s = self.cs.servers.get(1234)
771-
resp, diagnostics = s.diagnostics()
771+
diagnostics = s.diagnostics()
772772
self.assert_request_id(diagnostics, fakes.FAKE_REQUEST_ID_LIST)
773773
self.assertIsNotNone(diagnostics)
774774
self.assert_called('GET', '/servers/1234/diagnostics')
775775

776-
resp, diagnostics_from_manager = self.cs.servers.diagnostics(1234)
776+
diagnostics_from_manager = self.cs.servers.diagnostics(1234)
777777
self.assert_request_id(diagnostics_from_manager,
778778
fakes.FAKE_REQUEST_ID_LIST)
779779
self.assertIsNotNone(diagnostics_from_manager)
780780
self.assert_called('GET', '/servers/1234/diagnostics')
781781

782-
self.assertEqual(diagnostics, diagnostics_from_manager)
782+
self.assertEqual(diagnostics[1], diagnostics_from_manager[1])
783783

784784
def test_get_vnc_console(self):
785785
s = self.cs.servers.get(1234)
@@ -908,11 +908,11 @@ def test_list_security_group(self):
908908

909909
def test_evacuate(self):
910910
s = self.cs.servers.get(1234)
911-
resp, ret = s.evacuate('fake_target_host', 'True')
911+
ret = s.evacuate('fake_target_host', 'True')
912912
self.assert_request_id(ret, fakes.FAKE_REQUEST_ID_LIST)
913913
self.assert_called('POST', '/servers/1234/action')
914-
resp, ret = self.cs.servers.evacuate(s, 'fake_target_host',
915-
'False', 'NewAdminPassword')
914+
ret = self.cs.servers.evacuate(s, 'fake_target_host',
915+
'False', 'NewAdminPassword')
916916
self.assert_request_id(ret, fakes.FAKE_REQUEST_ID_LIST)
917917
self.assert_called('POST', '/servers/1234/action')
918918

novaclient/v2/hosts.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,11 @@ def host_action(self, host, action):
7474
7575
:param host: The host to perform an action
7676
:param actiob: The action to perform
77-
:returns: A Response object and an instance of
78-
novaclient.base.DictWithMeta
77+
returns: An instance of novaclient.base.TupleWithMeta
7978
"""
8079
url = '/os-hosts/{0}/{1}'.format(host, action)
8180
resp, body = self.api.client.get(url)
82-
# For compatibility, return Response object as a first return value
83-
return resp, self.convert_into_with_meta(body, resp)
81+
return base.TupleWithMeta((resp, body), resp)
8482

8583
def list(self, zone=None):
8684
url = '/os-hosts'

novaclient/v2/servers.py

Lines changed: 19 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -166,26 +166,23 @@ def stop(self):
166166
"""
167167
Stop -- Stop the running server.
168168
169-
:returns: A Response object and an instance of
170-
novaclient.base.TupleWithMeta
169+
:returns: An instance of novaclient.base.TupleWithMeta
171170
"""
172171
return self.manager.stop(self)
173172

174173
def force_delete(self):
175174
"""
176175
Force delete -- Force delete a server.
177176
178-
:returns: A Response object and an instance of
179-
novaclient.base.TupleWithMeta
177+
:returns: An instance of novaclient.base.TupleWithMeta
180178
"""
181179
return self.manager.force_delete(self)
182180

183181
def restore(self):
184182
"""
185183
Restore -- Restore a server in 'soft-deleted' state.
186184
187-
:returns: A Response object and an instance of
188-
novaclient.base.TupleWithMeta
185+
:returns: An instance of novaclient.base.TupleWithMeta
189186
"""
190187
return self.manager.restore(self)
191188

@@ -251,8 +248,7 @@ def rescue(self, password=None, image=None):
251248
252249
:param password: The admin password to be set in the rescue instance.
253250
:param image: The :class:`Image` to rescue with.
254-
:returns: A Response object and an instance of
255-
novaclient.base.DictWithMeta
251+
:returns: An instance of novaclient.base.TupleWithMeta
256252
"""
257253
return self.manager.rescue(self, password, image)
258254

@@ -494,8 +490,7 @@ def evacuate(self, host=None, on_shared_storage=None, password=None):
494490
parameter must have its default value of None.
495491
:param password: string to set as admin password on the evacuated
496492
server.
497-
:returns: A Response object and an instance of
498-
novaclient.base.TupleWithMeta
493+
:returns: An instance of novaclient.base.TupleWithMeta
499494
"""
500495
if api_versions.APIVersion("2.14") <= self.manager.api_version:
501496
if on_shared_storage is not None:
@@ -974,34 +969,31 @@ def stop(self, server):
974969
Stop the server.
975970
976971
:param server: The :class:`Server` (or its ID) to stop
977-
:returns: A Response object and an instance of
978-
novaclient.base.TupleWithMeta
972+
:returns: An instance of novaclient.base.TupleWithMeta
979973
"""
980974
resp, body = self._action_return_resp_and_body('os-stop', server, None)
981-
return resp, self.convert_into_with_meta(body, resp)
975+
return base.TupleWithMeta((resp, body), resp)
982976

983977
def force_delete(self, server):
984978
"""
985979
Force delete the server.
986980
987981
:param server: The :class:`Server` (or its ID) to force delete
988-
:returns: A Response object and an instance of
989-
novaclient.base.TupleWithMeta
982+
:returns: An instance of novaclient.base.TupleWithMeta
990983
"""
991984
resp, body = self._action_return_resp_and_body('forceDelete', server,
992985
None)
993-
return resp, self.convert_into_with_meta(body, resp)
986+
return base.TupleWithMeta((resp, body), resp)
994987

995988
def restore(self, server):
996989
"""
997990
Restore soft-deleted server.
998991
999992
:param server: The :class:`Server` (or its ID) to restore
1000-
:returns: A Response object and an instance of
1001-
novaclient.base.TupleWithMeta
993+
:returns: An instance of novaclient.base.TupleWithMeta
1002994
"""
1003995
resp, body = self._action_return_resp_and_body('restore', server, None)
1004-
return resp, self.convert_into_with_meta(body, resp)
996+
return base.TupleWithMeta((resp, body), resp)
1005997

1006998
def start(self, server):
1007999
"""
@@ -1073,8 +1065,7 @@ def rescue(self, server, password=None, image=None):
10731065
:param server: The :class:`Server` to rescue.
10741066
:param password: The admin password to be set in the rescue instance.
10751067
:param image: The :class:`Image` to rescue with.
1076-
:returns: A Response object and an instance of
1077-
novaclient.base.DictWithMeta
1068+
:returns: An instance of novaclient.base.TupleWithMeta
10781069
"""
10791070
info = {}
10801071
if password:
@@ -1083,8 +1074,7 @@ def rescue(self, server, password=None, image=None):
10831074
info['rescue_image_ref'] = base.getid(image)
10841075
resp, body = self._action_return_resp_and_body('rescue', server,
10851076
info or None)
1086-
# For compatibility, return Response object as a first return value
1087-
return resp, base.DictWithMeta(body, resp)
1077+
return base.TupleWithMeta((resp, body), resp)
10881078

10891079
def unrescue(self, server):
10901080
"""
@@ -1142,13 +1132,11 @@ def diagnostics(self, server):
11421132
11431133
:param server: The :class:`Server` (or its ID) for which
11441134
diagnostics to be returned
1145-
:returns: A Respose object and an instance of
1146-
novaclient.base.DictWithMeta
1135+
:returns: An instance of novaclient.base.TupleWithMeta
11471136
"""
11481137
resp, body = self.api.client.get("/servers/%s/diagnostics" %
11491138
base.getid(server))
1150-
# For compatibility, return Response object as a first return value
1151-
return resp, base.DictWithMeta(body, resp)
1139+
return base.TupleWithMeta((resp, body), resp)
11521140

11531141
def create(self, name, image, flavor, meta=None, files=None,
11541142
reservation_id=None, min_count=None,
@@ -1605,8 +1593,7 @@ def evacuate(self, server, host=None, on_shared_storage=True,
16051593
:param on_shared_storage: Specifies whether instance files located
16061594
on shared storage
16071595
:param password: string to set as password on the evacuated server.
1608-
:returns: A Response object and an instance of
1609-
novaclient.base.TupleWithMeta
1596+
:returns: An instance of novaclient.base.TupleWithMeta
16101597
"""
16111598

16121599
body = {'onSharedStorage': on_shared_storage}
@@ -1618,7 +1605,7 @@ def evacuate(self, server, host=None, on_shared_storage=True,
16181605

16191606
resp, body = self._action_return_resp_and_body('evacuate', server,
16201607
body)
1621-
return resp, self.convert_into_with_meta(body, resp)
1608+
return base.TupleWithMeta((resp, body), resp)
16221609

16231610
@api_versions.wraps("2.14")
16241611
def evacuate(self, server, host=None, password=None):
@@ -1628,6 +1615,7 @@ def evacuate(self, server, host=None, password=None):
16281615
:param server: The :class:`Server` (or its ID) to share onto.
16291616
:param host: Name of the target host.
16301617
:param password: string to set as password on the evacuated server.
1618+
:returns: An instance of novaclient.base.TupleWithMeta
16311619
"""
16321620

16331621
body = {}
@@ -1639,7 +1627,7 @@ def evacuate(self, server, host=None, password=None):
16391627

16401628
resp, body = self._action_return_resp_and_body('evacuate', server,
16411629
body)
1642-
return resp, self.convert_into_with_meta(body, resp)
1630+
return base.TupleWithMeta((resp, body), resp)
16431631

16441632
def interface_list(self, server):
16451633
"""

0 commit comments

Comments
 (0)