Esempio n. 1
0
def api_node_get_vncinfo(nodeid):
    status = "success"
    answ = {"data": {}}
    try:
        nodeinfo = cloud_api_main.get_node_db_for_output(nodeid)
        if nodeinfo["state"] == "UNKNOWN":
            raise cloud_api_main.NoSuchObjectException("underlying nebula node probably doesn't exist ")
        if cloud_api_main.get_node_state(nodeid, selector="lcm_state") != "RUNNING":
            raise cloud_api_main.WrongStateForActionException("that node isn't running")
        internal = cloud_api_main.info_node_nebula(nodeinfo["internal_id"])
        info = {"host": internal["HISTORY_RECORDS"]["HISTORY"]["HOSTNAME"],
                "port": internal["TEMPLATE"]["GRAPHICS"]["PORT"],
                "password": internal["TEMPLATE"]["GRAPHICS"]["PASSWD"]}

        answ["data"]["vncinfo"] = info
    except (cloud_api_main.PrivilegeException, cloud_api_main.NoSuchObjectException) as e:
        status = "fail"
        answ["message"] = repr(e)
        answ["data"]["description"] = cloud_api_main.get_user_problem_msg()
    except cloud_api_main.GeneralAPIError as e:
        status = "fail"
        answ["message"] = repr(e)
        answ["data"]["description"] =  cloud_api_main.get_user_problem_msg()
    except Exception as e:
        status = "error"
        answ["message"] = repr(e)
        answ["data"]["description"] = cloud_api_main.get_user_problem_msg()

    answ["status"] = status

    return make_response(jsonify(answ))
Esempio n. 2
0
def api_node_get_status(nodeid):
    status = "success"
    answ = {"data": {}}
    try:
        data = cloud_api_main.get_node_state(nodeid)
        answ["data"] = data
    except (cloud_api_main.PrivilegeException, cloud_api_main.NoSuchObjectException) as e:
        status = "fail"
        cloud_api_main.debug_log_print(e)
        answ["message"] = repr(e)
        answ["data"]["description"] = cloud_api_main.get_user_problem_msg()
    except BaseException as e:
        status = "error"
        cloud_api_main.debug_log_print(e)
        answ["message"] = repr(e)
        answ["data"]["description"] = cloud_api_main.get_user_problem_msg()

    answ["status"] = status

    return make_response(jsonify(answ))
Esempio n. 3
0
def api_node_get_status(nodeid):
    status = "success"
    answ = {"data": {}}
    try:
        data = cloud_api_main.get_node_state(nodeid)
        answ["data"] = data
    except (cloud_api_main.PrivilegeException,
            cloud_api_main.NoSuchObjectException) as e:
        status = "fail"
        cloud_api_main.debug_log_print(e)
        answ["message"] = repr(e)
        answ["data"]["description"] = cloud_api_main.get_user_problem_msg()
    except BaseException as e:
        status = "error"
        cloud_api_main.debug_log_print(e)
        answ["message"] = repr(e)
        answ["data"]["description"] = cloud_api_main.get_user_problem_msg()

    answ["status"] = status

    return make_response(jsonify(answ))
Esempio n. 4
0
def api_node_get_vncinfo(nodeid):
    status = "success"
    answ = {"data": {}}
    try:
        nodeinfo = cloud_api_main.get_node_db_for_output(nodeid)
        if nodeinfo["state"] == "UNKNOWN":
            raise cloud_api_main.NoSuchObjectException(
                "underlying nebula node probably doesn't exist ")
        if cloud_api_main.get_node_state(nodeid,
                                         selector="lcm_state") != "RUNNING":
            raise cloud_api_main.WrongStateForActionException(
                "that node isn't running")
        internal = cloud_api_main.info_node_nebula(nodeinfo["internal_id"])
        info = {
            "host": internal["HISTORY_RECORDS"]["HISTORY"]["HOSTNAME"],
            "port": internal["TEMPLATE"]["GRAPHICS"]["PORT"],
            "password": internal["TEMPLATE"]["GRAPHICS"]["PASSWD"]
        }

        answ["data"]["vncinfo"] = info
    except (cloud_api_main.PrivilegeException,
            cloud_api_main.NoSuchObjectException) as e:
        status = "fail"
        answ["message"] = repr(e)
        answ["data"]["description"] = cloud_api_main.get_user_problem_msg()
    except cloud_api_main.GeneralAPIError as e:
        status = "fail"
        answ["message"] = repr(e)
        answ["data"]["description"] = cloud_api_main.get_user_problem_msg()
    except Exception as e:
        status = "error"
        answ["message"] = repr(e)
        answ["data"]["description"] = cloud_api_main.get_user_problem_msg()

    answ["status"] = status

    return make_response(jsonify(answ))