Ejemplo n.º 1
0
def virtualnode_exclusion_node(homeId, cmd):
    manager = Manager()
    mode = request.args.get('mode', 0, type=str)
    homeId = int(homeId)
    driver = manager.GetDriver(homeId)
    if driver:
        result = 'success'
        if cmd == "start":
            retval = driver.setInExclusion()
            if retval['error'] == "":
                msg = u"Command start exclusion mode sended to controller {0}.".format(
                    manager.matchHomeID(homeId))
            else:
                result = 'error'
                msg = retval['error']
        elif cmd == "stop":
            retval = driver.setOutExclusion()
            if retval['error'] == "":
                msg = u"Command stop exclusion mode sended to controller {0}.".format(
                    manager.matchHomeID(homeId))
            else:
                result = 'error'
                msg = retval['error']
        else:
            msg = u"Exclusion command doesn't exist : {0}.".format(cmd)
            result = 'error'
        status = driver.IsInExcludeState
    else:
        msg = u"controller doesn't exist : {0}.".format(
            manager.matchHomeID(homeId))
        result = 'error'
        status = False
    return jsonify(result=result, msg=msg, status=status)
Ejemplo n.º 2
0
def virtualnode_include_node(homeId, nodeId):
    manager = Manager()
    nodeId = int(nodeId)
    node = manager.getNode(0, nodeId)
    homeId = int(homeId)
    driver = manager.GetDriver(homeId)
    if driver.IsInIncludeState:
        if node:
            if manager.includeNewNode(int(homeId), node):
                result = 'success'
                msg = u"New Node include in {0}, reload virtual nodes list.".format(
                    nodeId)
            else:
                msg = u"error on inclusion {0}. Check if Controller is in inclusion".format(
                    nodeId)
                result = 'error'
        else:
            msg = u"error on inclusion node {0} node found.".format(nodeId)
            result = 'error'
    elif driver.IsInReplaceNodeFailState:
        if node:
            if driver.replaceNode(node):
                result = 'success'
                msg = u"New Node include in {0} with replace fail node, reload virtual nodes list.".format(
                    nodeId)
            else:
                msg = u"error on inclusion {0} with replace fail node. Check if Controller is in inclusion".format(
                    nodeId)
                result = 'error'
        else:
            msg = u"error on inclusion node {0} node found.".format(nodeId)
            result = 'error'
    else:
        msg = u"error controller {0} not in inclusion or replace mode.".format(
            manager.matchHomeID(homeId))
        result = "error"
    return jsonify(result=result, msg=msg)