Added functionality for OpenStackSecurityGroup#initialize() not to accept
[snaps.git] / snaps / openstack / create_security_group.py
index 7a20fe1..52ea9dc 100644 (file)
@@ -57,7 +57,8 @@ 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, sec_grp_settings=self.sec_grp_settings,
+            project_id=self.project_id)
         if self.__security_group:
             # Populate rules
             existing_rules = neutron_utils.get_rules_by_security_group(
@@ -86,8 +87,8 @@ class OpenStackSecurityGroup(OpenStackNetworkObject):
 
             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, keystone, self.sec_grp_settings,
+                project_id=self.project_id)
 
             # Get the rules added for free
             auto_rules = neutron_utils.get_rules_by_security_group(
@@ -103,15 +104,15 @@ 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, sec_grp_rule_setting, self.project_id)
                     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
 
@@ -179,8 +180,8 @@ 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, rule_setting, self.project_id)
         self.__rules[rule_setting] = new_rule
         self.sec_grp_settings.rule_settings.append(rule_setting)