diff options
Diffstat (limited to 'snaps/openstack/create_router.py')
-rw-r--r-- | snaps/openstack/create_router.py | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/snaps/openstack/create_router.py b/snaps/openstack/create_router.py index f0ccb5d..50c0b28 100644 --- a/snaps/openstack/create_router.py +++ b/snaps/openstack/create_router.py @@ -43,6 +43,8 @@ class OpenStackRouter(OpenStackNetworkObject): if not router_settings: raise RouterCreationError('router_settings is required') + self.__keystone = None + self.router_settings = router_settings # Attributes instantiated on create() @@ -61,9 +63,13 @@ class OpenStackRouter(OpenStackNetworkObject): """ super(self.__class__, self).initialize() + self.__keystone = keystone_utils.keystone_client(self._os_creds) + try: self.__router = neutron_utils.get_router( - self._neutron, router_settings=self.router_settings) + self._neutron, self.__keystone, + router_settings=self.router_settings, + project_name=self._os_creds.project_name) except Unauthorized as e: logger.warn('Unable to lookup router with name %s - %s', self.router_settings.name, e) @@ -78,10 +84,9 @@ 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, keystone, port_settings=port_setting, + self._neutron, self.__keystone, port_settings=port_setting, project_name=self._os_creds.project_name) if port: self.__ports.append(port) @@ -114,10 +119,9 @@ 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, keystone, port_settings=port_setting, + self._neutron, self.__keystone, port_settings=port_setting, project_name=self._os_creds.project_name) logger.info( 'Retrieved port %s for router - %s', port_setting.name, |