Skip to content

Commit b7b140d

Browse files
Jenkinsopenstack-gerrit
authored andcommitted
Merge "Pass security group id to novaclient while adding security group to server"
2 parents 3b6bb4f + e26eecc commit b7b140d

2 files changed

Lines changed: 49 additions & 1 deletion

File tree

openstackclient/compute/v2/server.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ def take_action(self, parsed_args):
260260
parsed_args.group,
261261
)
262262

263-
server.add_security_group(security_group.name)
263+
server.add_security_group(security_group.id)
264264

265265

266266
class AddServerVolume(command.Command):

openstackclient/tests/compute/v2/test_server.py

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,54 @@ def test_server_add_floating_ip(self):
168168
self.assertIsNone(result)
169169

170170

171+
class TestServerAddSecurityGroup(TestServer):
172+
173+
def setUp(self):
174+
super(TestServerAddSecurityGroup, self).setUp()
175+
176+
self.security_group = \
177+
compute_fakes.FakeSecurityGroup.create_one_security_group()
178+
# This is the return value for utils.find_resource() for security group
179+
self.security_groups_mock.get.return_value = self.security_group
180+
181+
attrs = {
182+
'security_groups': [{'name': self.security_group.id}]
183+
}
184+
methods = {
185+
'add_security_group': None,
186+
}
187+
188+
self.server = compute_fakes.FakeServer.create_one_server(
189+
attrs=attrs,
190+
methods=methods
191+
)
192+
# This is the return value for utils.find_resource() for server
193+
self.servers_mock.get.return_value = self.server
194+
195+
# Get the command object to test
196+
self.cmd = server.AddServerSecurityGroup(self.app, None)
197+
198+
def test_server_add_security_group(self):
199+
arglist = [
200+
self.server.id,
201+
self.security_group.id
202+
]
203+
verifylist = [
204+
('server', self.server.id),
205+
('group', self.security_group.id),
206+
]
207+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
208+
result = self.cmd.take_action(parsed_args)
209+
self.security_groups_mock.get.assert_called_with(
210+
self.security_group.id,
211+
)
212+
self.servers_mock.get.assert_called_with(self.server.id)
213+
self.server.add_security_group.assert_called_with(
214+
self.security_group.id,
215+
)
216+
self.assertIsNone(result)
217+
218+
171219
class TestServerCreate(TestServer):
172220

173221
columns = (

0 commit comments

Comments
 (0)