def baremetal_server_list(): servers = {} server_num = 0 IPMI_num = 0 started_num = 0 shutdown_num = 0 server_list = [] mac_ip_dic = scan_macs() nodes, status_code = razor("/api/collections/nodes", "get") nodes = nodes["items"] for node in nodes: one_server = {} node_name = node["name"] logger.info("Querying node: %s" % node_name) one_node_info, status_code = razor("/api/collections/nodes/%s" % (node_name), "get") one_server["id"] = mac_to_id(one_node_info["facts"]["macaddress"]) one_server["is_ipmi"] = one_node_info.get("ipmi", False) if one_server["is_ipmi"]: IPMI_num += 1 one_server['node_name'] = node_name one_server["current_role"] = __get_current_role(one_node_info) one_server["current_deployment"] = __get_current_deployment(one_node_info) one_server["networks"] = __get_node_networks(one_node_info) one_server["status"] = __check_if_install(node_name) and check_server_status(one_node_info) or 'Installing' one_server["hostname"] = __get_node_hostname(one_node_info) one_server["ip_address"] = mac_ip_dic.get(one_node_info["facts"]["macaddress"], 'Unknown') if one_server["status"] == "Started": started_num += 1 elif one_server["status"] == "Shutdown": shutdown_num += 1 server_list.append(one_server) server_num += 1 servers["server_num"] = server_num servers["IPMI_num"] = IPMI_num servers["Started"] = started_num servers["shutdown"] = shutdown_num servers["server_list"] = server_list return json.dumps(servers)
def server_status(server_id): nodes, status_code = razor("/api/collections/nodes", "get") nodes = nodes["items"] for node in nodes: one_server = {} node_name = node["name"] logger.info("Querying node: %s" % node_name) one_node_info, status_code = razor("/api/collections/nodes/%s" % (node_name), "get") if mac_to_id(one_node_info["facts"]["macaddress"]) == server_id: status = {} status["server_id"] = server_id status["status"] = check_server_status(one_node_info) return json.dumps(status) return make_response("Cannot find the server!", 404)