From f4dafb3a5c4e119809756acecfbd7b231a063ddc Mon Sep 17 00:00:00 2001 From: Artem Goncharov Date: Sun, 19 Dec 2021 12:51:42 +0100 Subject: [PATCH] Switch update_server cloud layer to proxy Rely on proxy in the cloud layer for update_server method Change-Id: I15e387e36a1ea8c39a860aa10767c8a63e5c2390 --- openstack/cloud/_compute.py | 18 +++++++----------- .../tests/unit/cloud/test_update_server.py | 16 ++++++++++++++-- 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/openstack/cloud/_compute.py b/openstack/cloud/_compute.py index 21961a910..01eb54cd9 100644 --- a/openstack/cloud/_compute.py +++ b/openstack/cloud/_compute.py @@ -1269,18 +1269,14 @@ class ComputeCloudMixin(_normalize.Normalizer): :raises: OpenStackCloudException on operation error. """ - server = self.get_server(name_or_id=name_or_id, bare=True) - if server is None: - raise exc.OpenStackCloudException( - "failed to find server '{server}'".format(server=name_or_id)) + server = self.compute.find_server( + name_or_id, + ignore_missing=False + ) + + server = self.compute.update_server( + server, **kwargs) - data = proxy._json_response( - self.compute.put( - '/servers/{server_id}'.format(server_id=server['id']), - json={'server': kwargs}), - error_message="Error updating server {0}".format(name_or_id)) - server = self._normalize_server( - self._get_and_munchify('server', data)) return self._expand_server(server, bare=bare, detailed=detailed) def create_server_group(self, name, policies=[], policy=None): diff --git a/openstack/tests/unit/cloud/test_update_server.py b/openstack/tests/unit/cloud/test_update_server.py index 4fd5f0097..e25ec2e36 100644 --- a/openstack/tests/unit/cloud/test_update_server.py +++ b/openstack/tests/unit/cloud/test_update_server.py @@ -43,7 +43,13 @@ class TestUpdateServer(base.TestCase): self.get_nova_discovery_mock_dict(), dict(method='GET', uri=self.get_mock_url( - 'compute', 'public', append=['servers', 'detail']), + 'compute', 'public', + append=['servers', self.server_name]), + status_code=404), + dict(method='GET', + uri=self.get_mock_url( + 'compute', 'public', append=['servers'], + qs_elements=['name=%s' % self.server_name]), json={'servers': [self.fake_server]}), dict(method='PUT', uri=self.get_mock_url( @@ -69,7 +75,13 @@ class TestUpdateServer(base.TestCase): self.get_nova_discovery_mock_dict(), dict(method='GET', uri=self.get_mock_url( - 'compute', 'public', append=['servers', 'detail']), + 'compute', 'public', + append=['servers', self.server_name]), + status_code=404), + dict(method='GET', + uri=self.get_mock_url( + 'compute', 'public', append=['servers'], + qs_elements=['name=%s' % self.server_name]), json={'servers': [self.fake_server]}), dict(method='PUT', uri=self.get_mock_url(