summaryrefslogtreecommitdiffstats
path: root/snaps/openstack/create_security_group.py
diff options
context:
space:
mode:
Diffstat (limited to 'snaps/openstack/create_security_group.py')
-rw-r--r--snaps/openstack/create_security_group.py23
1 files changed, 13 insertions, 10 deletions
diff --git a/snaps/openstack/create_security_group.py b/snaps/openstack/create_security_group.py
index 7a20fe1..490f419 100644
--- a/snaps/openstack/create_security_group.py
+++ b/snaps/openstack/create_security_group.py
@@ -20,7 +20,6 @@ from neutronclient.common.exceptions import NotFound, Conflict
from snaps.config.security_group import (
SecurityGroupConfig, SecurityGroupRuleConfig)
from snaps.openstack.openstack_creator import OpenStackNetworkObject
-from snaps.openstack.utils import keystone_utils
from snaps.openstack.utils import neutron_utils
__author__ = 'spisarski'
@@ -57,7 +56,9 @@ class OpenStackSecurityGroup(OpenStackNetworkObject):
super(self.__class__, self).initialize()
self.__security_group = neutron_utils.get_security_group(
- self._neutron, sec_grp_settings=self.sec_grp_settings)
+ self._neutron, self._keystone,
+ sec_grp_settings=self.sec_grp_settings,
+ project_name=self._os_creds.project_name)
if self.__security_group:
# Populate rules
existing_rules = neutron_utils.get_rules_by_security_group(
@@ -84,10 +85,8 @@ class OpenStackSecurityGroup(OpenStackNetworkObject):
logger.info(
'Creating security group %s...' % self.sec_grp_settings.name)
- keystone = keystone_utils.keystone_client(self._os_creds)
self.__security_group = neutron_utils.create_security_group(
- self._neutron, keystone,
- self.sec_grp_settings)
+ self._neutron, self._keystone, self.sec_grp_settings)
# Get the rules added for free
auto_rules = neutron_utils.get_rules_by_security_group(
@@ -103,15 +102,16 @@ class OpenStackSecurityGroup(OpenStackNetworkObject):
for sec_grp_rule_setting in self.sec_grp_settings.rule_settings:
try:
custom_rule = neutron_utils.create_security_group_rule(
- self._neutron, sec_grp_rule_setting)
+ self._neutron, self._keystone, sec_grp_rule_setting,
+ self._os_creds.project_name)
self.__rules[sec_grp_rule_setting] = custom_rule
except Conflict as e:
logger.warn('Unable to create rule due to conflict - %s',
e)
# Refresh security group object to reflect the new rules added
- self.__security_group = neutron_utils.get_security_group(
- self._neutron, sec_grp_settings=self.sec_grp_settings)
+ self.__security_group = neutron_utils.get_security_group_by_id(
+ self._neutron, self.__security_group.id)
return self.__security_group
@@ -159,6 +159,8 @@ class OpenStackSecurityGroup(OpenStackNetworkObject):
self.__security_group = None
+ super(self.__class__, self).clean()
+
def get_security_group(self):
"""
Returns the OpenStack security group object
@@ -179,8 +181,9 @@ class OpenStackSecurityGroup(OpenStackNetworkObject):
:param rule_setting: the rule configuration
"""
rule_setting.sec_grp_name = self.sec_grp_settings.name
- new_rule = neutron_utils.create_security_group_rule(self._neutron,
- rule_setting)
+ new_rule = neutron_utils.create_security_group_rule(
+ self._neutron, self._keystone, rule_setting,
+ self._os_creds.project_name)
self.__rules[rule_setting] = new_rule
self.sec_grp_settings.rule_settings.append(rule_setting)