summaryrefslogtreecommitdiffstats
path: root/snaps/config
diff options
context:
space:
mode:
Diffstat (limited to 'snaps/config')
-rw-r--r--snaps/config/network.py37
-rw-r--r--snaps/config/router.py53
2 files changed, 53 insertions, 37 deletions
diff --git a/snaps/config/network.py b/snaps/config/network.py
index 5f18c6b..8148c61 100644
--- a/snaps/config/network.py
+++ b/snaps/config/network.py
@@ -98,11 +98,15 @@ class NetworkConfig(object):
return self.project_id
else:
if self.project_name:
- keystone = keystone_utils.keystone_client(os_creds)
- project = keystone_utils.get_project(
- keystone=keystone, project_name=self.project_name)
- if project:
- return project.id
+ session = keystone_utils.keystone_session(os_creds)
+ keystone = keystone_utils.keystone_client(os_creds, session)
+ try:
+ project = keystone_utils.get_project(
+ keystone=keystone, project_name=self.project_name)
+ if project:
+ return project.id
+ finally:
+ keystone_utils.close_session(session)
return None
@@ -255,9 +259,13 @@ class SubnetConfig(object):
if self.name:
out['name'] = self.name
if self.project_name:
- keystone = keystone_utils.keystone_client(os_creds)
- project = keystone_utils.get_project(
- keystone=keystone, project_name=self.project_name)
+ session = keystone_utils.keystone_session(os_creds)
+ keystone = keystone_utils.keystone_client(os_creds, session)
+ try:
+ project = keystone_utils.get_project(
+ keystone=keystone, project_name=self.project_name)
+ finally:
+ keystone_utils.close_session(session)
project_id = None
if project:
project_id = project.id
@@ -441,10 +449,15 @@ class PortConfig(object):
out = dict()
- keystone = keystone_utils.keystone_client(os_creds)
- network = neutron_utils.get_network(
- neutron, keystone, network_name=self.network_name,
- project_name=self.project_name)
+ session = keystone_utils.keystone_session(os_creds)
+ keystone = keystone_utils.keystone_client(os_creds, session)
+ try:
+ network = neutron_utils.get_network(
+ neutron, keystone, network_name=self.network_name,
+ project_name=self.project_name)
+ finally:
+ keystone_utils.close_session(session)
+
if not network:
raise PortConfigError(
'Cannot locate network with name - ' + self.network_name
diff --git a/snaps/config/router.py b/snaps/config/router.py
index f5bbbf0..6b03ad2 100644
--- a/snaps/config/router.py
+++ b/snaps/config/router.py
@@ -78,31 +78,34 @@ class RouterConfig(object):
out = dict()
ext_gw = dict()
- keystone = keystone_utils.keystone_client(os_creds)
-
- if self.name:
- out['name'] = self.name
- if self.project_name:
- project = keystone_utils.get_project(
- keystone=keystone, project_name=self.project_name)
- if project:
- out['tenant_id'] = project.id
- else:
- raise RouterConfigError(
- 'Could not find project ID for project named - ' +
- self.project_name)
- if self.admin_state_up is not None:
- out['admin_state_up'] = self.admin_state_up
- if self.external_gateway:
- ext_net = neutron_utils.get_network(
- neutron, keystone, network_name=self.external_gateway)
- if ext_net:
- ext_gw['network_id'] = ext_net.id
- out['external_gateway_info'] = ext_gw
- else:
- raise RouterConfigError(
- 'Could not find the external network named - ' +
- self.external_gateway)
+ session = keystone_utils.keystone_session(os_creds)
+ keystone = keystone_utils.keystone_client(os_creds, session)
+ try:
+ if self.name:
+ out['name'] = self.name
+ if self.project_name:
+ project = keystone_utils.get_project(
+ keystone=keystone, project_name=self.project_name)
+ if project:
+ out['tenant_id'] = project.id
+ else:
+ raise RouterConfigError(
+ 'Could not find project ID for project named - ' +
+ self.project_name)
+ if self.admin_state_up is not None:
+ out['admin_state_up'] = self.admin_state_up
+ if self.external_gateway:
+ ext_net = neutron_utils.get_network(
+ neutron, keystone, network_name=self.external_gateway)
+ if ext_net:
+ ext_gw['network_id'] = ext_net.id
+ out['external_gateway_info'] = ext_gw
+ else:
+ raise RouterConfigError(
+ 'Could not find the external network named - ' +
+ self.external_gateway)
+ finally:
+ keystone_utils.close_session(session)
return {'router': out}