def METHOD_NAME(self, session):
    # type: (Dict[str, str]) -> Dict[str, str]
    # {'Status': 'Failure', 'ErrorDescription': ['HOST_IS_SLAVE', '192.168.101.102']}
    if len(session.get('ErrorDescription', [])) < 1:
        return {}
    master_address = session['ErrorDescription'][1]
    if not master_address.startswith('http://'):
        master_address = 'http://' + master_address
    master_xenserver = xmlrpclib.Server(master_address)
    # Master credentials can be different, we could specify new `master_username` and
    # `master_password` options later if requested
    master_session = self._session_login(master_xenserver)
    if master_session.get('Status') == 'Success':
        self.xenserver = master_xenserver
        return master_session
    return {}