コード例 #1
0
def restart_server_api(server_id):
    nodes, status_code = razor("/api/collections/nodes", "get")
    nodes = nodes["items"]
    for node in nodes:
        node_name = 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:
            ipmi_host = one_node_info["ipmi_hostname"]
            ipmi_username = one_node_info["ipmi_username"]
            ipmi_password = one_node_info["ipmi_password"]

            output = {}
            output["server_id"] = server_id
            output["status"] = str(restart_server(ipmi_host, ipmi_username, ipmi_password))
            return json.dumps(output)

    output = {}
    output["server_id"] = server_id
    output["status"] = str(False)
    return json.dumps(output)
コード例 #2
0
def __restart_servers(task_id, mac_table):
    servers_map = {}
    nodes, status_code = razor("/api/collections/nodes", "get")
    nodes = nodes['items']

    is_sucessful = True
    for node in nodes:
        node_name = node["name"]
        one_node_info, status_code = razor("/api/collections/nodes/%s" % (node_name), "get")
        if one_node_info["ipmi"]:
            ipmi_infos = {}
            ipmi_infos["host"] = one_node_info["ipmi_hostname"]
            ipmi_infos["username"] = one_node_info["ipmi_username"]
            ipmi_infos["password"] = one_node_info["ipmi_password"]

            servers_map[mac_to_id(one_node_info["facts"]["macaddress"])] = ipmi_infos

    for node in mac_table:
        ipmi_infos = servers_map[node["server_id"]]
        is_sucessful = is_sucessful and restart_server(ipmi_infos["host"], ipmi_infos["username"], ipmi_infos["password"])

    __log_status(task_id, status[6], is_sucessful)
コード例 #3
0
def __restart_server(task_id, node_name):
    one_node_info, status_code = razor("/api/collections/nodes/%s" % (node_name), "get")
    if not one_node_info["ipmi"]:
        logger.error('Node: %s does not have IPMI info, can not be restarted' % node_name)
    is_sucessful = restart_server(one_node_info["ipmi_hostname"], one_node_info["ipmi_username"], one_node_info["ipmi_password"])
    __log_status(task_id, "Restart_Server", is_sucessful)