From 22b30b99ce0e7b64aed1a13df73ab52a0b33204d Mon Sep 17 00:00:00 2001 From: Stephen Finucane <stephenfin@redhat.com> 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. Change-Id: I9f4c5964dc0546215474c92db567966ffad68a1a Signed-off-by: Stephen Finucane <stephenfin@redhat.com> Related-bug: #2089821 --- openstackclient/compute/v2/server.py | 6 ++++-- openstackclient/tests/unit/compute/v2/test_server.py | 8 ++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py index f7b860df8d..02f1c3515b 100644 --- a/openstackclient/compute/v2/server.py +++ b/openstackclient/compute/v2/server.py @@ -714,7 +714,8 @@ class AddServerSecurityGroup(command.Command): for security_group in security_groups: try: compute_client.add_security_group_to_server( - server, security_group + server, + {'name': security_group}, ) except sdk_exceptions.HttpException as e: errors += 1 @@ -4083,7 +4084,8 @@ class RemoveServerSecurityGroup(command.Command): for security_group in security_groups: try: compute_client.remove_security_group_from_server( - server, security_group + server, + {'name': security_group}, ) except sdk_exceptions.HttpException as e: errors += 1 diff --git a/openstackclient/tests/unit/compute/v2/test_server.py b/openstackclient/tests/unit/compute/v2/test_server.py index a07e33333f..7746b82af4 100644 --- a/openstackclient/tests/unit/compute/v2/test_server.py +++ b/openstackclient/tests/unit/compute/v2/test_server.py @@ -1165,7 +1165,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' @@ -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'} ) self.assertIsNone(result) @@ -7400,7 +7400,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' @@ -7421,7 +7421,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)