X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=snaps%2Fopenstack%2Fcreate_router.py;h=f0ccb5d2cedeb4719cc5806970a61e8e92979fd1;hb=c711acf8ae3e4ad6f746500747857bcc9fd6f7be;hp=4f95c3b05cef4792c40e890da9278c93a5f3300d;hpb=c0aee4c0d7620a32f5314ca938e4aca10c27adda;p=snaps.git diff --git a/snaps/openstack/create_router.py b/snaps/openstack/create_router.py index 4f95c3b..f0ccb5d 100644 --- a/snaps/openstack/create_router.py +++ b/snaps/openstack/create_router.py @@ -14,11 +14,11 @@ # limitations under the License. import logging -from neutronclient.common.exceptions import NotFound +from neutronclient.common.exceptions import NotFound, Unauthorized from snaps.config.router import RouterConfig from snaps.openstack.openstack_creator import OpenStackNetworkObject -from snaps.openstack.utils import neutron_utils +from snaps.openstack.utils import neutron_utils, keystone_utils __author__ = 'spisarski' @@ -61,8 +61,12 @@ class OpenStackRouter(OpenStackNetworkObject): """ super(self.__class__, self).initialize() - self.__router = neutron_utils.get_router( - self._neutron, router_settings=self.router_settings) + try: + self.__router = neutron_utils.get_router( + self._neutron, router_settings=self.router_settings) + except Unauthorized as e: + logger.warn('Unable to lookup router with name %s - %s', + self.router_settings.name, e) if self.__router: for internal_subnet_name in self.router_settings.internal_subnets: @@ -74,9 +78,11 @@ class OpenStackRouter(OpenStackNetworkObject): raise RouterCreationError( 'Subnet not found with name ' + internal_subnet_name) + keystone = keystone_utils.keystone_client(self._os_creds) for port_setting in self.router_settings.port_settings: port = neutron_utils.get_port( - self._neutron, port_settings=port_setting) + self._neutron, keystone, port_settings=port_setting, + project_name=self._os_creds.project_name) if port: self.__ports.append(port) @@ -108,9 +114,11 @@ class OpenStackRouter(OpenStackNetworkObject): raise RouterCreationError( 'Subnet not found with name ' + internal_subnet_name) + keystone = keystone_utils.keystone_client(self._os_creds) for port_setting in self.router_settings.port_settings: port = neutron_utils.get_port( - self._neutron, port_settings=port_setting) + self._neutron, keystone, port_settings=port_setting, + project_name=self._os_creds.project_name) logger.info( 'Retrieved port %s for router - %s', port_setting.name, self.router_settings.name) @@ -126,9 +134,8 @@ class OpenStackRouter(OpenStackNetworkObject): port_setting.name, self.router_settings.name) self.__ports.append(port) - neutron_utils.add_interface_router(self._neutron, - self.__router, - port=port) + neutron_utils.add_interface_router( + self._neutron, self.__router, port=port) else: raise RouterCreationError( 'Error creating port with name - '