diff options
Diffstat (limited to 'snaps/openstack/utils')
-rw-r--r-- | snaps/openstack/utils/neutron_utils.py | 10 | ||||
-rw-r--r-- | snaps/openstack/utils/tests/neutron_utils_tests.py | 32 |
2 files changed, 25 insertions, 17 deletions
diff --git a/snaps/openstack/utils/neutron_utils.py b/snaps/openstack/utils/neutron_utils.py index 725e251..d297c8c 100644 --- a/snaps/openstack/utils/neutron_utils.py +++ b/snaps/openstack/utils/neutron_utils.py @@ -547,18 +547,19 @@ def get_ports(neutron, network, ips=None): return out -def create_security_group(neutron, keystone, sec_grp_settings): +def create_security_group(neutron, keystone, sec_grp_settings, project_id): """ Creates a security group object in OpenStack :param neutron: the Neutron client :param keystone: the Keystone client :param sec_grp_settings: the security group settings + :param project_id: the default project to associated the security group :return: a SNAPS-OO SecurityGroup domain object """ logger.info('Creating security group with name - %s', sec_grp_settings.name) os_group = neutron.create_security_group( - sec_grp_settings.dict_for_neutron(keystone)) + sec_grp_settings.dict_for_neutron(keystone, project_id)) return __map_os_security_group(neutron, os_group['security_group']) @@ -635,17 +636,18 @@ def get_security_group_by_id(neutron, sec_grp_id): return None -def create_security_group_rule(neutron, sec_grp_rule_settings): +def create_security_group_rule(neutron, sec_grp_rule_settings, proj_id): """ Creates a security group rule in OpenStack :param neutron: the client :param sec_grp_rule_settings: the security group rule settings + :param proj_id: the default project to apply to the rule settings :return: a SNAPS-OO SecurityGroupRule domain object """ logger.info('Creating security group to security group - %s', sec_grp_rule_settings.sec_grp_name) os_rule = neutron.create_security_group_rule( - sec_grp_rule_settings.dict_for_neutron(neutron)) + sec_grp_rule_settings.dict_for_neutron(neutron, proj_id)) return SecurityGroupRule(**os_rule['security_group_rule']) diff --git a/snaps/openstack/utils/tests/neutron_utils_tests.py b/snaps/openstack/utils/tests/neutron_utils_tests.py index bc7491e..4dfff87 100644 --- a/snaps/openstack/utils/tests/neutron_utils_tests.py +++ b/snaps/openstack/utils/tests/neutron_utils_tests.py @@ -842,9 +842,8 @@ class NeutronUtilsSecurityGroupTests(OSComponentTestCase): Tests the neutron_utils.create_security_group() function """ sec_grp_settings = SecurityGroupConfig(name=self.sec_grp_name) - security_group = neutron_utils.create_security_group(self.neutron, - self.keystone, - sec_grp_settings) + security_group = neutron_utils.create_security_group( + self.neutron, self.keystone, sec_grp_settings, self.project_id) self.assertTrue(sec_grp_settings.name, security_group.name) @@ -869,9 +868,9 @@ class NeutronUtilsSecurityGroupTests(OSComponentTestCase): with self.assertRaises(Exception): sec_grp_settings = SecurityGroupConfig() self.security_groups.append( - neutron_utils.create_security_group(self.neutron, - self.keystone, - sec_grp_settings)) + neutron_utils.create_security_group( + self.neutron, self.keystone, sec_grp_settings, + self.project_id)) def test_create_sec_grp_no_rules(self): """ @@ -880,8 +879,9 @@ class NeutronUtilsSecurityGroupTests(OSComponentTestCase): sec_grp_settings = SecurityGroupConfig( name=self.sec_grp_name, description='hello group') self.security_groups.append( - neutron_utils.create_security_group(self.neutron, self.keystone, - sec_grp_settings)) + neutron_utils.create_security_group( + self.neutron, self.keystone, sec_grp_settings, + self.project_id)) self.assertTrue(sec_grp_settings.name, self.security_groups[0].name) self.assertEqual(sec_grp_settings.name, self.security_groups[0].name) @@ -903,16 +903,20 @@ class NeutronUtilsSecurityGroupTests(OSComponentTestCase): rule_settings=[sec_grp_rule_settings]) self.security_groups.append( - neutron_utils.create_security_group(self.neutron, self.keystone, - sec_grp_settings)) + neutron_utils.create_security_group( + self.neutron, self.keystone, sec_grp_settings, + self.project_id)) free_rules = neutron_utils.get_rules_by_security_group( self.neutron, self.security_groups[0]) for free_rule in free_rules: self.security_group_rules.append(free_rule) + keystone = keystone_utils.keystone_client(self.os_creds) + project_id = keystone_utils.get_project( + keystone, self.os_creds.project_name) self.security_group_rules.append( neutron_utils.create_security_group_rule( - self.neutron, sec_grp_settings.rule_settings[0])) + self.neutron, sec_grp_settings.rule_settings[0], project_id)) # Refresh object so it is populated with the newly added rule security_group = neutron_utils.get_security_group( @@ -940,11 +944,13 @@ class NeutronUtilsSecurityGroupTests(OSComponentTestCase): self.security_groups.append(neutron_utils.create_security_group( self.neutron, self.keystone, SecurityGroupConfig( - name=self.sec_grp_name + '-1', description='hello group'))) + name=self.sec_grp_name + '-1', description='hello group'), + self.project_id)) self.security_groups.append(neutron_utils.create_security_group( self.neutron, self.keystone, SecurityGroupConfig( - name=self.sec_grp_name + '-2', description='hello group'))) + name=self.sec_grp_name + '-2', description='hello group'), + self.project_id)) sec_grp_1b = neutron_utils.get_security_group_by_id( self.neutron, self.security_groups[0].id) |