示例#1
0
 def _backend_servers_stats(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})
                 if backend is not None:
                     transport = get_xmlrpc_transport(
                         backend['backend_url'],
                         backend['is_kerberos'])
                     s = Servers(transport)
                     count_servers = s.count()
                     result = self._prepare_output(result={
                         'backend_id': backend_id,
                         'server_count': count_servers})
                     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,
             'server_count': 0})
         return result