def config_http_get(self): """ r = {} r['global'] = self._args.__dict__ for service, config in self.service_config.items(): r[service] = config return r """ rsp = output.display_user_menu() #rsp += '<h4>Defaults:</h4>' rsp += '<table border="1" cellpadding="1" cellspacing="0">\n' rsp += '<tr><th colspan="2">Defaults</th></tr>' for k, v in self._args.__dict__.items(): rsp += '<tr><td>%s</td><td>%s</td></tr>' % (k, v) rsp += '</table>' rsp += '<br>' for service, config in self.service_config.items(): #rsp += '<h4>%s:</h4>' %(service) rsp += '<table border="1" cellpadding="1" cellspacing="0">\n' rsp += '<tr><th colspan="2">%s</th></tr>' % (service) for k, v in config.items(): rsp += '<tr><td>%s</td><td>%s</td></tr>' % (k, v) rsp += '</table>' rsp += '<br>' return rsp
def show_config(self): """ r = {} r['global'] = self._args.__dict__ for service, config in self.service_config.items(): r[service] = config return r """ rsp = output.display_user_menu() # rsp += '<h4>Defaults:</h4>' rsp += '<table border="1" cellpadding="1" cellspacing="0">\n' rsp += '<tr><th colspan="2">Defaults</th></tr>' for k in sorted(self._args.__dict__.iterkeys()): v = self._args.__dict__[k] rsp += "<tr><td>%s</td><td>%s</td></tr>" % (k, v) rsp += "</table>" rsp += "<br>" for service, config in self.service_config.items(): # rsp += '<h4>%s:</h4>' %(service) rsp += '<table border="1" cellpadding="1" cellspacing="0">\n' rsp += '<tr><th colspan="2">%s</th></tr>' % (service) for k in sorted(config.iterkeys()): rsp += "<tr><td>%s</td><td>%s</td></tr>" % (k, config[k]) rsp += "</table>" rsp += "<br>" return rsp
def show_stats(self): stats = self._debug stats.update(self._db_conn.get_debug_stats()) rsp = output.display_user_menu() rsp += ' <table border="1" cellpadding="1" cellspacing="0">\n' for k in sorted(stats.iterkeys()): rsp += ' <tr>\n' rsp += ' <td>%s</td>\n' % (k) rsp += ' <td>%s</td>\n' % (stats[k]) rsp += ' </tr>\n' return rsp
def show_all_services(self, service_type=None): rsp = output.display_user_menu() rsp += ' <table border="1" cellpadding="1" cellspacing="0">\n' rsp += ' <tr>\n' rsp += ' <td>Service Type</td>\n' rsp += ' <td>Remote IP</td>\n' rsp += ' <td>Service Id</td>\n' rsp += ' <td>Provision State</td>\n' rsp += ' <td>Admin State</td>\n' rsp += ' <td>In Use</td>\n' rsp += ' <td>Heartbeats</td>\n' rsp += ' <td>Time since last Heartbeat</td>\n' rsp += ' </tr>\n' # lookup publishers of the service if service_type: pubs = self._db_conn.lookup_service(service_type) else: pubs = self._db_conn.get_all_services() if not pubs: return rsp for pub in pubs: info = pub['info'] pdata = self.get_pub_data(pub['service_id']) rsp += ' <tr>\n' if service_type: rsp += ' <td>' + pub['service_type'] + '</td>\n' else: link = do_html_url("/services/%s" % (pub['service_type']), pub['service_type']) rsp += ' <td>' + link + '</td>\n' rsp += ' <td>' + pub['remote'] + '</td>\n' link = do_html_url("/service/%s/brief" % (pub['service_id']), pub['service_id']) rsp += ' <td>' + link + '</td>\n' rsp += ' <td>' + pub['prov_state'] + '</td>\n' rsp += ' <td>' + pub['admin_state'] + '</td>\n' rsp += ' <td>' + str(pub['in_use']) + '</td>\n' rsp += ' <td>' + str(pdata['hbcount']) + '</td>\n' (expired, color, timedelta) = self.service_expired( pub, include_color=True) #status = "down" if expired else "up" rsp += ' <td bgcolor=%s>' % ( color) + str(timedelta) + '</td>\n' rsp += ' </tr>\n' rsp += ' </table>\n' return rsp
def show_all_clients(self, service_type=None, service_id=None): rsp = output.display_user_menu() rsp += ' <table border="1" cellpadding="1" cellspacing="0">\n' rsp += ' <tr>\n' rsp += ' <td>Client IP</td>\n' rsp += ' <td>Client Type</td>\n' rsp += ' <td>Client Id</td>\n' rsp += ' <td>Service Type</td>\n' rsp += ' <td>Service Id</td>\n' rsp += ' <td>TTL (sec)</td>\n' rsp += ' <td>Time Remaining</td>\n' rsp += ' <td>Refresh Count</td>\n' rsp += ' </tr>\n' # lookup subscribers of the service clients = self._db_conn.get_all_clients(service_type=service_type, service_id=service_id) if not clients: return rsp for client in clients: (service_type, client_id, service_id, mtime, ttl) = client cl_entry, subs = self._db_conn.lookup_client( service_type, client_id) if cl_entry is None: continue sdata = self.get_sub_data(client_id, service_type) if sdata is None: self.syslog('Missing sdata for client %s, service %s' % (client_id, service_type)) continue rsp += ' <tr>\n' rsp += ' <td>' + cl_entry['remote'] + '</td>\n' client_type = cl_entry.get('client_type', '') rsp += ' <td>' + client_type + '</td>\n' rsp += ' <td>' + client_id + '</td>\n' rsp += ' <td>' + service_type + '</td>\n' sig = service_id + ':' + service_type link = do_html_url("service/%s/brief" % (sig), sig) rsp += ' <td>' + link + '</td>\n' rsp += ' <td>' + str(ttl) + '</td>\n' remaining = ttl - int(time.time() - mtime) rsp += ' <td>' + str(remaining) + '</td>\n' rsp += ' <td>' + str(sdata['ttl_expires']) + '</td>\n' rsp += ' </tr>\n' rsp += ' </table>\n' return rsp
def show_all_clients(self, service_type=None, service_id=None): rsp = output.display_user_menu() rsp += ' <table border="1" cellpadding="1" cellspacing="0">\n' rsp += ' <tr>\n' rsp += ' <td>Client IP</td>\n' rsp += ' <td>Client Type</td>\n' rsp += ' <td>Client Id</td>\n' rsp += ' <td>Service Type</td>\n' rsp += ' <td>Service Id</td>\n' rsp += ' <td>TTL (sec)</td>\n' rsp += ' <td>Time Remaining</td>\n' rsp += ' <td>Refresh Count</td>\n' rsp += ' </tr>\n' # lookup subscribers of the service clients = self._db_conn.get_all_clients(service_type=service_type, service_id=service_id) if not clients: return rsp for client in clients: (service_type, client_id, service_id, mtime, ttl) = client cl_entry, subs = self._db_conn.lookup_client(service_type, client_id) if cl_entry is None: continue sdata = self.get_sub_data(client_id, service_type) if sdata is None: self.syslog('Missing sdata for client %s, service %s' % (client_id, service_type)) continue rsp += ' <tr>\n' rsp += ' <td>' + cl_entry['remote'] + '</td>\n' client_type = cl_entry.get('client_type', '') rsp += ' <td>' + client_type + '</td>\n' rsp += ' <td>' + client_id + '</td>\n' rsp += ' <td>' + service_type + '</td>\n' sig = service_id + ':' + service_type link = do_html_url("service/%s/brief" % (sig), sig) rsp += ' <td>' + link + '</td>\n' rsp += ' <td>' + str(ttl) + '</td>\n' remaining = ttl - int(time.time() - mtime) rsp += ' <td>' + str(remaining) + '</td>\n' rsp += ' <td>' + str(sdata['ttl_expires']) + '</td>\n' rsp += ' </tr>\n' rsp += ' </table>\n' return rsp
def show_all_services(self, service_type=None): rsp = output.display_user_menu() rsp += ' <table border="1" cellpadding="1" cellspacing="0">\n' rsp += ' <tr>\n' rsp += ' <td>Service Type</td>\n' rsp += ' <td>Remote IP</td>\n' rsp += ' <td>Service Id</td>\n' rsp += ' <td>Provision State</td>\n' rsp += ' <td>Admin State</td>\n' rsp += ' <td>In Use</td>\n' rsp += ' <td>Time since last Heartbeat</td>\n' rsp += ' </tr>\n' # lookup publishers of the service if service_type: pubs = self._db_conn.lookup_service(service_type) else: pubs = self._db_conn.get_all_services() if not pubs: return rsp for pub in pubs: info = pub['info'] rsp += ' <tr>\n' if service_type: rsp += ' <td>' + pub['service_type'] + '</td>\n' else: link = do_html_url("/services/%s" % (pub['service_type']), pub['service_type']) rsp += ' <td>' + link + '</td>\n' rsp += ' <td>' + pub['remote'] + '</td>\n' sig = pub['service_id'] + ':' + pub['service_type'] link = do_html_url("/service/%s/brief" % sig, sig) rsp += ' <td>' + link + '</td>\n' rsp += ' <td>' + pub['prov_state'] + '</td>\n' rsp += ' <td>' + pub['admin_state'] + '</td>\n' rsp += ' <td>' + str(pub['in_use']) + '</td>\n' (expired, color, timedelta) = self.service_expired(pub, include_color=True) #status = "down" if expired else "up" rsp += ' <td bgcolor=%s>' % (color) + str( timedelta) + '</td>\n' rsp += ' </tr>\n' rsp += ' </table>\n' return rsp
def show_all_clients(self): rsp = output.display_user_menu() rsp += ' <table border="1" cellpadding="1" cellspacing="0">\n' rsp += " <tr>\n" rsp += " <td>Client IP</td>\n" rsp += " <td>Client Type</td>\n" rsp += " <td>Client Id</td>\n" rsp += " <td>Service Type</td>\n" rsp += " <td>Service Id</td>\n" rsp += " <td>TTL (sec)</td>\n" rsp += " <td>Time Remaining</td>\n" rsp += " <td>Refresh Count</td>\n" rsp += " </tr>\n" # lookup subscribers of the service clients = self._db_conn.get_all_clients() if not clients: return rsp for client in clients: (service_type, client_id, service_id, mtime, ttl) = client cl_entry = self._db_conn.lookup_client(service_type, client_id) if cl_entry is None: continue sdata = self.get_sub_data(client_id, service_type) if sdata is None: self.syslog("Missing sdata for client %s, service %s" % (client_id, service_type)) continue rsp += " <tr>\n" rsp += " <td>" + cl_entry["remote"] + "</td>\n" client_type = cl_entry.get("client_type", "") rsp += " <td>" + client_type + "</td>\n" rsp += " <td>" + client_id + "</td>\n" rsp += " <td>" + service_type + "</td>\n" link = do_html_url("service/%s/brief" % (service_id), service_id) rsp += " <td>" + link + "</td>\n" rsp += " <td>" + str(ttl) + "</td>\n" remaining = ttl - int(time.time() - mtime) rsp += " <td>" + str(remaining) + "</td>\n" rsp += " <td>" + str(sdata["ttl_expires"]) + "</td>\n" rsp += " </tr>\n" rsp += " </table>\n" return rsp
def show_all_services(self, service_type=None): rsp = output.display_user_menu() rsp += ' <table border="1" cellpadding="1" cellspacing="0">\n' rsp += ' <tr>\n' rsp += ' <td>Service Type</td>\n' rsp += ' <td>Remote IP</td>\n' rsp += ' <td>Service Id</td>\n' rsp += ' <td>Oper State</td>\n' rsp += ' <td>Admin State</td>\n' rsp += ' <td>In Use</td>\n' rsp += ' <td>Time since last Heartbeat</td>\n' rsp += ' </tr>\n' for pub in self._db_conn.service_entries(service_type): info = pub['info'] service_type = pub['service_type'] service_id = pub['service_id'] sig = service_id + ':' + service_type rsp += ' <tr>\n' if service_type: rsp += ' <td>' + service_type + '</td>\n' else: link = do_html_url("/services/%s" % service_type, service_type) rsp += ' <td>' + link + '</td>\n' rsp += ' <td>' + pub['remote'] + '</td>\n' link = do_html_url("/service/%s/brief" % sig, sig) rsp += ' <td>' + link + '</td>\n' oper_state_str = pub['oper_state'] if oper_state_str == 'down' and len(pub['oper_state_msg']) > 0: oper_state_str += '/' + pub['oper_state_msg'] rsp += ' <td>' + oper_state_str + '</td>\n' rsp += ' <td>' + pub['admin_state'] + '</td>\n' link = do_html_url("/clients/%s/%s" % (service_type, service_id), str(pub['in_use'])) rsp += ' <td>' + link + '</td>\n' (expired, color, timedelta) = self.service_expired( pub, include_color=True) #status = "down" if expired else "up" rsp += ' <td bgcolor=%s>' % ( color) + str(timedelta) + '</td>\n' rsp += ' </tr>\n' rsp += ' </table>\n' return rsp
def show_all_services(self, service_type=None): rsp = output.display_user_menu() rsp += ' <table border="1" cellpadding="1" cellspacing="0">\n' rsp += ' <tr>\n' rsp += ' <td>Service Type</td>\n' rsp += ' <td>Remote IP</td>\n' rsp += ' <td>Service Id</td>\n' rsp += ' <td>Oper State</td>\n' rsp += ' <td>Admin State</td>\n' rsp += ' <td>In Use</td>\n' rsp += ' <td>Time since last Heartbeat</td>\n' rsp += ' </tr>\n' for pub in self._db_conn.service_entries(service_type): info = pub['info'] service_type = pub['service_type'] service_id = pub['service_id'] sig = service_id + ':' + service_type rsp += ' <tr>\n' if service_type: rsp += ' <td>' + service_type + '</td>\n' else: link = do_html_url("/services/%s" % service_type, service_type) rsp += ' <td>' + link + '</td>\n' rsp += ' <td>' + pub['remote'] + '</td>\n' link = do_html_url("/service/%s/brief" % sig, sig) rsp += ' <td>' + link + '</td>\n' oper_state_str = pub['oper_state'] if oper_state_str == 'down' and len(pub['oper_state_msg']) > 0: oper_state_str += '/' + pub['oper_state_msg'] rsp += ' <td>' + oper_state_str + '</td>\n' rsp += ' <td>' + pub['admin_state'] + '</td>\n' link = do_html_url("/clients/%s/%s" % (service_type, service_id), str(pub['in_use'])) rsp += ' <td>' + link + '</td>\n' (expired, color, timedelta) = self.service_expired(pub, include_color=True) #status = "down" if expired else "up" rsp += ' <td bgcolor=%s>' % (color) + str( timedelta) + '</td>\n' rsp += ' </tr>\n' rsp += ' </table>\n' return rsp
def show_stats(self): stats = self._debug stats.update(self._db_conn.get_debug_stats()) rsp = output.display_user_menu() rsp += ' <table border="1" cellpadding="1" cellspacing="0">\n' rsp += ' <tr>\n' rsp += ' <td>Publishers</td>\n' rsp += ' <td>%s</td>\n' % len(self._pub_data) rsp += ' </tr>\n' rsp += ' <tr>\n' rsp += ' <td>Subscribers</td>\n' rsp += ' <td>%s</td>\n' % len(self._sub_data) rsp += ' </tr>\n' for k, v in stats.items(): rsp += ' <tr>\n' rsp += ' <td>%s</td>\n' % (k) rsp += ' <td>%s</td>\n' % (v) rsp += ' </tr>\n' return rsp
def show_stats(self): stats = self._debug stats.update(self._db_conn.get_debug_stats()) rsp = output.display_user_menu() rsp += ' <table border="1" cellpadding="1" cellspacing="0">\n' rsp += ' <tr>\n' rsp += ' <td>Publishers</td>\n' rsp += ' <td>%s</td>\n' % len(self._pub_data) rsp += ' </tr>\n' rsp += ' <tr>\n' rsp += ' <td>Subscribers</td>\n' rsp += ' <td>%s</td>\n' % len(self._sub_data) rsp += ' </tr>\n' for k, v in stats.items(): rsp += ' <tr>\n' rsp += ' <td>%s</td>\n' %(k) rsp += ' <td>%s</td>\n' %(v) rsp += ' </tr>\n' return rsp
def show_all_services(self, service_type=None): rsp = output.display_user_menu() rsp += ' <table border="1" cellpadding="1" cellspacing="0">\n' rsp += " <tr>\n" rsp += " <td>Service Type</td>\n" rsp += " <td>Remote IP</td>\n" rsp += " <td>Service Id</td>\n" rsp += " <td>Provision State</td>\n" rsp += " <td>Admin State</td>\n" rsp += " <td>In Use</td>\n" rsp += " <td>Time since last Heartbeat</td>\n" rsp += " </tr>\n" for pub in self._db_conn.service_entries(service_type): info = pub["info"] service_type = pub["service_type"] service_id = pub["service_id"] sig = service_id + ":" + service_type rsp += " <tr>\n" if service_type: rsp += " <td>" + service_type + "</td>\n" else: link = do_html_url("/services/%s" % service_type, service_type) rsp += " <td>" + link + "</td>\n" rsp += " <td>" + pub["remote"] + "</td>\n" link = do_html_url("/service/%s/brief" % sig, sig) rsp += " <td>" + link + "</td>\n" rsp += " <td>" + pub["prov_state"] + "</td>\n" rsp += " <td>" + pub["admin_state"] + "</td>\n" link = do_html_url("/clients/%s/%s" % (service_type, service_id), str(pub["in_use"])) rsp += " <td>" + link + "</td>\n" (expired, color, timedelta) = self.service_expired(pub, include_color=True) # status = "down" if expired else "up" rsp += " <td bgcolor=%s>" % (color) + str(timedelta) + "</td>\n" rsp += " </tr>\n" rsp += " </table>\n" return rsp