Exemplo n.º 1
0
 def _backend_host_list(self, *args, **kwargs):
     verb = kwargs.get('verb', None)
     if verb is not None:
         try:
             params = web.input()
             backend_id = params.get('backend_id', None)
             if backend_id is not None:
                 backend = backends.backend_get({'_id': backend_id})
                 transport = get_xmlrpc_transport(backend['backend_url'],
                                                  backend['is_kerberos'])
                 s = Hosts(transport)
                 hostlist = s.list()
                 result = self._prepare_output(
                     result={'backend_id': backend_id,
                             'datalist': hostlist})
                 return result
         except KerberosError as e:
             (first, last) = e.message
             (message, error_no) = last
             result = self._prepare_output(result={'backend_id': backend_id,
                                                   'error': True,
                                                   'error_type': 'Kerberos',
                                                   'error_msg': message,
                                                   'error_no': error_no})
             return result
     result = self._prepare_output(result={'backend_id': backend_id,
                                           'datalist': []})
     return result