Set security_groups when create internal ports for nova server
Make sure nova server be created in correct security groups
if user specified subnet and security_groups when create/update
server.
Change-Id: Ic93cad4def90f3da25390d871d6a8c14ffe1c5ae
Closes-Bug: #1571975
diff --git a/functional/test_nova_server_networks.py b/functional/test_nova_server_networks.py
index ae550b2..f258f83 100644
--- a/functional/test_nova_server_networks.py
+++ b/functional/test_nova_server_networks.py
@@ -31,6 +31,16 @@
properties:
network: {get_resource: net}
cidr: 11.11.11.0/24
+ security_group:
+ type: OS::Neutron::SecurityGroup
+ properties:
+ name: the_sg
+ description: Ping and SSH
+ rules:
+ - protocol: icmp
+ - protocol: tcp
+ port_range_min: 22
+ port_range_max: 22
server:
type: OS::Nova::Server
properties:
@@ -39,6 +49,8 @@
networks:
- subnet: {get_resource: subnet}
fixed_ip: 11.11.11.11
+ security_groups:
+ - {get_resource: security_group}
outputs:
networks:
value: {get_attr: [server, networks]}
@@ -55,7 +67,7 @@
output = self._stack_output(stack, output_key)
return output
- def test_create_server_with_subnet_fixed_ip(self):
+ def test_create_server_with_subnet_fixed_ip_sec_group(self):
parms = {'flavor': self.conf.minimal_instance_type,
'image': self.conf.minimal_image_ref}
stack_identifier = self.stack_create(
@@ -65,6 +77,12 @@
networks = self.get_outputs(stack_identifier, 'networks')
self.assertEqual(['11.11.11.11'], networks['my_net'])
+ server_resource = self.client.resources.get(
+ stack_identifier, 'server')
+ server_id = server_resource.physical_resource_id
+ server = self.compute_client.servers.get(server_id)
+ self.assertEqual([{"name": "the_sg"}], server.security_groups)
+
def test_create_update_server_with_subnet(self):
parms = {'flavor': self.conf.minimal_instance_type,
'image': self.conf.minimal_image_ref}