|
|
@@ -218,30 +218,21 @@ class OpenStackVMFirewallService(BaseVMFirewallService):
|
|
|
"[label: %s network id: %s description: %s]", label,
|
|
|
network, description)
|
|
|
net = network.id if isinstance(network, Network) else network
|
|
|
+ # We generally mandate a network to be associated with a firewall,
|
|
|
+ # however because of some networking specificity in Nectar, we must
|
|
|
+ # allow None value as well
|
|
|
+ if not net:
|
|
|
+ net = ""
|
|
|
if not description:
|
|
|
description = ""
|
|
|
- description += "[{}{}]".format(OpenStackVMFirewall._network_id_tag,
|
|
|
- net)
|
|
|
+ description += " [{}{}]".format(OpenStackVMFirewall._network_id_tag,
|
|
|
+ net)
|
|
|
sg = self.provider.os_conn.network.create_security_group(
|
|
|
name=label, description=description or label)
|
|
|
if sg:
|
|
|
return OpenStackVMFirewall(self.provider, sg)
|
|
|
return None
|
|
|
|
|
|
- def find(self, **kwargs):
|
|
|
- label = kwargs.pop('label', None)
|
|
|
-
|
|
|
- # All kwargs should have been popped at this time.
|
|
|
- if len(kwargs) > 0:
|
|
|
- raise TypeError("Unrecognised parameters for search: %s."
|
|
|
- " Supported attributes: %s" % (kwargs, 'label'))
|
|
|
-
|
|
|
- log.debug("Searching for %s", label)
|
|
|
- sgs = [self.provider.os_conn.network.find_security_group(label)]
|
|
|
- results = [OpenStackVMFirewall(self.provider, sg)
|
|
|
- for sg in sgs if sg]
|
|
|
- return ClientPagedResultList(self.provider, results)
|
|
|
-
|
|
|
def delete(self, group_id):
|
|
|
log.debug("Deleting OpenStack Firewall with the id: %s", group_id)
|
|
|
firewall = self.get(group_id)
|