From f9cc9013ae72795a291dcfda26f6488c449cd3ad Mon Sep 17 00:00:00 2001 From: Stephen Finucane Date: Mon, 9 Dec 2024 13:32:15 +0000 Subject: [PATCH] compute: Workaround bug #2089821 By passing a dict instead of a single value, we force SDK to populate the correct attribute on the object. Also fixed conflicts in openstackclient/compute/v2/server.py added by ece30e8f703f918e391e934ecd2b201f211bfbfe Change-Id: I9f4c5964dc0546215474c92db567966ffad68a1a Signed-off-by: Stephen Finucane Related-bug: #2089821 (cherry picked from commit 22b30b99ce0e7b64aed1a13df73ab52a0b33204d) --- openstackclient/compute/v2/server.py | 8 ++++++-- openstackclient/tests/unit/compute/v2/test_server.py | 8 ++++---- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py index 55aa6469ec..7abc5b92e3 100644 --- a/openstackclient/compute/v2/server.py +++ b/openstackclient/compute/v2/server.py @@ -701,7 +701,10 @@ class AddServerSecurityGroup(command.Command): security_group = compute_v2.find_security_group( compute_client, parsed_args.group )['name'] - compute_client.add_security_group_to_server(server, security_group) + compute_client.add_security_group_to_server( + server, + {'name': security_group}, + ) class AddServerVolume(command.ShowOne): @@ -4039,7 +4042,8 @@ class RemoveServerSecurityGroup(command.Command): compute_client, parsed_args.group )['name'] compute_client.remove_security_group_from_server( - server, security_group + server, + {'name': security_group}, ) diff --git a/openstackclient/tests/unit/compute/v2/test_server.py b/openstackclient/tests/unit/compute/v2/test_server.py index 0420bfc17f..67171e2bd4 100644 --- a/openstackclient/tests/unit/compute/v2/test_server.py +++ b/openstackclient/tests/unit/compute/v2/test_server.py @@ -1186,7 +1186,7 @@ class TestServerAddSecurityGroup(compute_fakes.TestComputev2): self.server.id, ignore_missing=False ) self.compute_sdk_client.add_security_group_to_server.assert_called_once_with( - self.server, 'fake_sg' + self.server, {'name': 'fake_sg'} ) mock_find_nova_net_sg.assert_called_once_with( self.compute_sdk_client, 'fake_sg' @@ -1207,7 +1207,7 @@ class TestServerAddSecurityGroup(compute_fakes.TestComputev2): self.server.id, ignore_missing=False ) self.compute_sdk_client.add_security_group_to_server.assert_called_once_with( - self.server, 'fake_sg' + self.server, {'name': 'fake_sg'} ) self.assertIsNone(result) @@ -7394,7 +7394,7 @@ class TestServerRemoveSecurityGroup(TestServer): self.server.id, ignore_missing=False ) self.compute_sdk_client.remove_security_group_from_server.assert_called_once_with( - self.server, 'fake_sg' + self.server, {'name': 'fake_sg'} ) mock_find_nova_net_sg.assert_called_once_with( self.compute_sdk_client, 'fake_sg' @@ -7415,7 +7415,7 @@ class TestServerRemoveSecurityGroup(TestServer): self.server.id, ignore_missing=False ) self.compute_sdk_client.remove_security_group_from_server.assert_called_once_with( - self.server, 'fake_sg' + self.server, {'name': 'fake_sg'} ) self.assertIsNone(result)