Extra changes on Flavor Config
[snaps.git] / snaps / openstack / create_network.py
index c9c58e8..13c9667 100644 (file)
@@ -15,7 +15,7 @@
 import logging
 
 import enum
-from neutronclient.common.exceptions import NetworkNotFoundClient
+from neutronclient.common.exceptions import NetworkNotFoundClient, Unauthorized
 
 from snaps.config.network import NetworkConfig, SubnetConfig, PortConfig
 from snaps.openstack.openstack_creator import OpenStackNetworkObject
@@ -51,9 +51,14 @@ class OpenStackNetwork(OpenStackNetworkObject):
         """
         super(self.__class__, self).initialize()
 
-        self.__network = neutron_utils.get_network(
-            self._neutron, network_settings=self.network_settings,
-            project_id=self.network_settings.get_project_id(self._os_creds))
+        try:
+            self.__network = neutron_utils.get_network(
+                self._neutron, self._keystone,
+                network_settings=self.network_settings,
+                project_name=self._os_creds.project_name)
+        except Unauthorized as e:
+            logger.warn('Unable to lookup network with name %s - %s',
+                        self.network_settings.name, e)
 
         return self.__network
 
@@ -77,12 +82,13 @@ class OpenStackNetwork(OpenStackNetworkObject):
         """
         Removes and deletes all items created in reverse order.
         """
-        if self.__network:
-            try:
-                neutron_utils.delete_network(self._neutron, self.__network)
-            except NetworkNotFoundClient:
-                pass
-            self.__network = None
+        try:
+            neutron_utils.delete_network(self._neutron, self.__network)
+        except NetworkNotFoundClient:
+            pass
+        self.__network = None
+
+        super(self.__class__, self).clean()
 
     def get_network(self):
         """