Merge "adding nova to session cache"

This commit is contained in:
Jenkins
2015-08-28 01:08:47 +00:00
committed by Gerrit Code Review
3 changed files with 59 additions and 16 deletions

View File

@@ -29,6 +29,7 @@ _SESSION_CACHE = None
SESSION_TYPE_GENERIC = 'generic'
SESSION_TYPE_KEYSTONE = 'keystone'
SESSION_TYPE_NOVA = 'nova'
def cache():
@@ -56,6 +57,7 @@ class SessionCache(object):
self._session_funcs = {
SESSION_TYPE_GENERIC: self.get_generic_session,
SESSION_TYPE_KEYSTONE: self.get_keystone_session,
SESSION_TYPE_NOVA: self.get_nova_session,
}
def _set_session(self, session_type, session):
@@ -104,3 +106,14 @@ class SessionCache(object):
session = self.get_generic_session()
self._set_session(SESSION_TYPE_KEYSTONE, session)
return session
def get_nova_session(self):
session = self._sessions.get(SESSION_TYPE_NOVA)
if not session:
if CONF.nova.ca_file:
session = keystone.Session(cert=CONF.nova.ca_file,
verify=CONF.nova.api_insecure)
else:
session = self.get_generic_session()
self._sessions[SESSION_TYPE_NOVA] = session
return session