Fixing security group in CreateInstanceTwoNetTests 79/55479/1
authorGeorg Kunz <georg.kunz@ericsson.com>
Wed, 11 Apr 2018 21:19:00 +0000 (23:19 +0200)
committerGeorg Kunz <georg.kunz@ericsson.com>
Wed, 11 Apr 2018 22:15:55 +0000 (00:15 +0200)
The test CreateInstanceTwoNetTests does define and create a security
group and a corresponding rule but never associates them with the
created instances. Moreover, some commercial systems require explicit
egress rules in addition to ingress rules in order to allow traffic to
pass. Anm egress rule has been added.

JIRA: SNAPS-300

Change-Id: Ie0da75781f8b4e97af11e4e7588c7a53acad59ac
Signed-off-by: Georg Kunz <georg.kunz@ericsson.com>
snaps/openstack/tests/create_instance_tests.py

index c0e3195..ce58a01 100644 (file)
@@ -2902,14 +2902,17 @@ class CreateInstanceTwoNetTests(OSIntegrationTestCase):
                              metadata=self.flavor_metadata))
             self.flavor_creator.create()
 
-            sec_grp_name = self.guid + '-sec-grp'
+            self.sec_grp_name = self.guid + '-sec-grp'
             rule1 = SecurityGroupRuleConfig(
-                sec_grp_name=sec_grp_name, direction=Direction.ingress,
+                sec_grp_name=self.sec_grp_name, direction=Direction.ingress,
+                protocol=Protocol.icmp)
+            rule2 = SecurityGroupRuleConfig(
+                sec_grp_name=self.sec_grp_name, direction=Direction.egress,
                 protocol=Protocol.icmp)
             self.sec_grp_creator = OpenStackSecurityGroup(
                 self.os_creds,
                 SecurityGroupConfig(
-                    name=sec_grp_name, rule_settings=[rule1]))
+                    name=self.sec_grp_name, rule_settings=[rule1, rule2]))
             self.sec_grp_creator.create()
         except:
             self.tearDown()
@@ -2989,6 +2992,7 @@ class CreateInstanceTwoNetTests(OSIntegrationTestCase):
             name=self.vm_inst1_name,
             flavor=self.flavor_creator.flavor_settings.name,
             userdata=_get_ping_userdata(self.ip2),
+            security_group_names=self.sec_grp_name,
             port_settings=[PortConfig(
                 name=self.port_1_name,
                 ip_addrs=[{
@@ -3001,6 +3005,7 @@ class CreateInstanceTwoNetTests(OSIntegrationTestCase):
             name=self.vm_inst2_name,
             flavor=self.flavor_creator.flavor_settings.name,
             userdata=_get_ping_userdata(self.ip1),
+            security_group_names=self.sec_grp_name,
             port_settings=[PortConfig(
                 name=self.port_2_name,
                 ip_addrs=[{