'Authenticates the service on the device.
Tries all the IP addrs listed in the san_ip parameter
until a working one is found or the list is exhausted.'

def session_login(self):

    try:
        self._get_session_key()
        self.get_firmware_version()
        LOG.debug('Logged    in    to    array    at    %s    (session    %s)', self._base_url, self._session_key)
        return
    except exception.DotHillConnectionError:
        not_responding = self._curr_ip_addr
        LOG.exception('session_login    failed    to    connect    to    %s', self._curr_ip_addr)
        for host in self._mgmt_ip_addrs:
            if (host is not_responding):
                continue
            self._set_host(host)
            try:
                self._get_session_key()
                return
            except exception.DotHillConnectionError:
                LOG.error('Failed    to    connect    to    %s', self._curr_ip_addr)
                continue
    raise exception.DotHillConnectionError(message=_('Failed    to    log    in    to    management    controller'))
