summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorManuel Buil <mbuil@suse.com>2018-04-16 10:24:34 +0200
committerManuel Buil <mbuil@suse.com>2018-04-17 18:43:44 +0200
commitdc76020bee7085a3e2e9d1bd94e4ad7904d3b77d (patch)
tree541ea271e5383411f6d037ec7f27fce52c1f3ce1
parentbf07de830d7517f7173a3e8a68e1fa6dac2539da (diff)
Add listing security groups functionality
JIRA: SNAPS-302 Be able to list the available security groups Change-Id: I82e2daeb388f4eb3bc8cbc5fd02006b30b959c2f Signed-off-by: Manuel Buil <mbuil@suse.com>
-rw-r--r--snaps/openstack/utils/neutron_utils.py15
-rw-r--r--snaps/openstack/utils/tests/neutron_utils_tests.py27
2 files changed, 42 insertions, 0 deletions
diff --git a/snaps/openstack/utils/neutron_utils.py b/snaps/openstack/utils/neutron_utils.py
index 0d69fc8..3daf1f7 100644
--- a/snaps/openstack/utils/neutron_utils.py
+++ b/snaps/openstack/utils/neutron_utils.py
@@ -681,6 +681,21 @@ def get_security_group_by_id(neutron, sec_grp_id):
return None
+def list_security_groups(neutron):
+
+ """
+ Lists the available security groups
+ :param neutron: the neutron client
+ """
+ logger.info('Listing the available security groups')
+ sec_groups = []
+ response = neutron.list_security_groups()
+ for sg in response['security_groups']:
+ sec_groups.append(__map_os_security_group(neutron, sg))
+
+ return sec_groups
+
+
def create_security_group_rule(neutron, keystone, sec_grp_rule_settings,
proj_name):
"""
diff --git a/snaps/openstack/utils/tests/neutron_utils_tests.py b/snaps/openstack/utils/tests/neutron_utils_tests.py
index cd293ca..1c874cc 100644
--- a/snaps/openstack/utils/tests/neutron_utils_tests.py
+++ b/snaps/openstack/utils/tests/neutron_utils_tests.py
@@ -1010,6 +1010,33 @@ class NeutronUtilsSecurityGroupTests(OSComponentTestCase):
self.assertEqual(self.security_groups[0].id, sec_grp_1b.id)
self.assertEqual(self.security_groups[1].id, sec_grp_2b.id)
+ def test_create_list_sec_grp_no_rules(self):
+ """
+ Tests the neutron_utils.create_security_group() and
+ list_security_groups function
+ """
+ sec_grp_settings = SecurityGroupConfig(
+ name=self.sec_grp_name + "-1", description='hello group')
+ self.security_groups.append(neutron_utils.create_security_group(
+ self.neutron, self.keystone, sec_grp_settings))
+
+ sec_grp_settings2 = SecurityGroupConfig(
+ name=self.sec_grp_name + "-2", description='hola group')
+ self.security_groups.append(neutron_utils.create_security_group(
+ self.neutron, self.keystone, sec_grp_settings2))
+
+ returned_sec_groups = neutron_utils.list_security_groups(self.neutron)
+
+ self.assertIsNotNone(returned_sec_groups)
+ worked = 0
+ for sg in returned_sec_groups:
+ if sec_grp_settings.name == sg.name:
+ worked += 1
+ elif sec_grp_settings2.name == sg.name:
+ worked += 1
+
+ self.assertEqual(worked, 2)
+
class NeutronUtilsFloatingIpTests(OSComponentTestCase):
"""