def _create_first_session(self, url, user, pw, exception): try: session = self._create_session_and_login(url, user, pw, exception) except self.XenAPI.Failure as e: # if user and pw of the master are different, we're doomed! if e.details[0] == "HOST_IS_SLAVE": master = e.details[1] url = pool.swap_xapi_host(url, master) session = self._create_session_and_login(url, user, pw, exception) self.is_slave = True else: raise self._sessions.put(session) return url
def _create_first_session(self, url, user, pw, exception): try: session = self._create_session(url) with timeout.Timeout(FLAGS.xenapi_login_timeout, exception): session.login_with_password(user, pw) except self.XenAPI.Failure, e: # if user and pw of the master are different, we're doomed! if e.details[0] == 'HOST_IS_SLAVE': master = e.details[1] url = pool.swap_xapi_host(url, master) session = self.XenAPI.Session(url) session.login_with_password(user, pw) self.is_slave = True else: raise
def _create_first_session(self, url, user, pw, exception): try: session = self._create_session_and_login(url, user, pw, exception) except self.XenAPI.Failure as e: # if user and pw of the master are different, we're doomed! if e.details[0] == 'HOST_IS_SLAVE': master = e.details[1] url = pool.swap_xapi_host(url, master) session = self._create_session_and_login( url, user, pw, exception) self.is_slave = True else: raise self._sessions.put(session) return url
def _create_first_session(self, url, user, pw, exception): try: session = self._create_session(url) with timeout.Timeout(CONF.xenapi_login_timeout, exception): session.login_with_password(user, pw) except self.XenAPI.Failure, e: # if user and pw of the master are different, we're doomed! if e.details[0] == 'HOST_IS_SLAVE': master = e.details[1] url = pool.swap_xapi_host(url, master) session = self.XenAPI.Session(url) session.login_with_password(user, pw) self.is_slave = True else: raise
def _create_first_session(self, url, user, pw, exception): try: session = self._create_session(url) with timeout.Timeout(CONF.xenserver.login_timeout, exception): session.login_with_password(user, pw, self.nova_version, "OpenStack") except self.XenAPI.Failure as e: # if user and pw of the master are different, we're doomed! if e.details[0] == "HOST_IS_SLAVE": master = e.details[1] url = pool.swap_xapi_host(url, master) session = self.XenAPI.Session(url) session.login_with_password(user, pw, self.nova_version, "OpenStack") self.is_slave = True else: raise self._sessions.put(session) return url
def __init__(self, url, user, pw): self.XenAPI = self.get_imported_xenapi() self._sessions = queue.Queue() self.host_uuid = None exception = self.XenAPI.Failure( _("Unable to log in to XenAPI " "(is the Dom0 disk full?)")) is_slave = False for i in xrange(FLAGS.xenapi_connection_concurrent): try: session = self._create_session(url) with timeout.Timeout(FLAGS.xenapi_login_timeout, exception): session.login_with_password(user, pw) except self.XenAPI.Failure, e: # if user and pw of the master are different, we're doomed! if e.details[0] == 'HOST_IS_SLAVE': master = e.details[1] session = self.XenAPI.Session( pool.swap_xapi_host(url, master)) session.login_with_password(user, pw) is_slave = True else: raise self._sessions.put(session)