Esempio n. 1
0
def node_cmd(lib, argv, modifiers):
    if len(argv) < 1:
        usage.node()
        sys.exit(1)

    sub_cmd, argv_next = argv[0], argv[1:]

    try:
        if sub_cmd == "help":
            usage.node(argv)
        elif sub_cmd == "maintenance":
            node_maintenance_cmd(lib, argv_next, modifiers, True)
        elif sub_cmd == "unmaintenance":
            node_maintenance_cmd(lib, argv_next, modifiers, False)
        elif sub_cmd == "standby":
            node_standby_cmd(lib, argv_next, modifiers, True)
        elif sub_cmd == "unstandby":
            node_standby_cmd(lib, argv_next, modifiers, False)
        elif sub_cmd == "attribute":
            node_attribute_cmd(lib, argv_next, modifiers)
        elif sub_cmd == "utilization":
            node_utilization_cmd(lib, argv_next, modifiers)
        # pcs-to-pcsd use only
        elif sub_cmd == "pacemaker-status":
            node_pacemaker_status(lib, argv_next, modifiers)
        else:
            raise CmdLineInputError()
    except LibraryError as e:
        utils.process_library_reports(e.args)
    except CmdLineInputError as e:
        utils.exit_on_cmdline_input_errror(e, "node", sub_cmd)
Esempio n. 2
0
def node_standby(argv, standby=True):
    if (len(argv) > 1) or (len(argv) > 0 and "--all" in utils.pcs_options):
        usage.node(["standby" if standby else "unstandby"])
        sys.exit(1)

    all_nodes = "--all" in utils.pcs_options
    node_list = [argv[0]] if argv else []
    wait = False
    timeout = None
    if "--wait" in utils.pcs_options:
        wait = True
        timeout = utils.pcs_options["--wait"]

    try:
        if wait:
            lib_pacemaker.ensure_resource_wait_support(utils.cmd_runner())
            valid_timeout = get_valid_timeout_seconds(timeout)
        if standby:
            lib_pacemaker.nodes_standby(utils.cmd_runner(), node_list,
                                        all_nodes)
        else:
            lib_pacemaker.nodes_unstandby(utils.cmd_runner(), node_list,
                                          all_nodes)
        if wait:
            lib_pacemaker.wait_for_resources(utils.cmd_runner(), valid_timeout)
    except LibraryError as e:
        utils.process_library_reports(e.args)
Esempio n. 3
0
def node_cmd(lib, argv, modifiers):
    if not argv:
        usage.node()
        sys.exit(1)

    sub_cmd, argv_next = argv[0], argv[1:]

    try:
        if sub_cmd == "help":
            usage.node([" ".join(argv_next)] if argv_next else [])
        elif sub_cmd == "maintenance":
            node_maintenance_cmd(lib, argv_next, modifiers, True)
        elif sub_cmd == "unmaintenance":
            node_maintenance_cmd(lib, argv_next, modifiers, False)
        elif sub_cmd == "standby":
            node_standby_cmd(lib, argv_next, modifiers, True)
        elif sub_cmd == "unstandby":
            node_standby_cmd(lib, argv_next, modifiers, False)
        elif sub_cmd == "attribute":
            node_attribute_cmd(lib, argv_next, modifiers)
        elif sub_cmd == "utilization":
            node_utilization_cmd(lib, argv_next, modifiers)
        # pcs-to-pcsd use only
        elif sub_cmd == "pacemaker-status":
            node_pacemaker_status(lib, argv_next, modifiers)
        else:
            raise CmdLineInputError()
    except LibraryError as e:
        utils.process_library_reports(e.args)
    except CmdLineInputError as e:
        utils.exit_on_cmdline_input_errror(e, "node", sub_cmd)
Esempio n. 4
0
File: node.py Progetto: idevat/pcs
def node_standby(argv, standby=True):
    if (len(argv) > 1) or (len(argv) > 0 and "--all" in utils.pcs_options):
        usage.node(["standby" if standby else "unstandby"])
        sys.exit(1)

    all_nodes = "--all" in utils.pcs_options
    node_list = [argv[0]] if argv else []
    wait = False
    timeout = None
    if "--wait" in utils.pcs_options:
        wait = True
        timeout = utils.pcs_options["--wait"]

    try:
        if wait:
            lib_pacemaker.ensure_resource_wait_support(utils.cmd_runner())
            valid_timeout = get_valid_timeout_seconds(timeout)
        if standby:
            lib_pacemaker.nodes_standby(
                utils.cmd_runner(), node_list, all_nodes
            )
        else:
            lib_pacemaker.nodes_unstandby(
                utils.cmd_runner(), node_list, all_nodes
            )
        if wait:
            lib_pacemaker.wait_for_resources(utils.cmd_runner(), valid_timeout)
    except LibraryError as e:
        utils.process_library_reports(e.args)
Esempio n. 5
0
def node_cmd(argv):
    if len(argv) == 0:
        usage.node()
        sys.exit(1)

    sub_cmd = argv.pop(0)
    if sub_cmd == "help":
        usage.node(argv)
    elif sub_cmd == "maintenance":
        node_maintenance(argv)
    elif sub_cmd == "unmaintenance":
        node_maintenance(argv, False)
    elif sub_cmd == "standby":
        node_standby(argv)
    elif sub_cmd == "unstandby":
        node_standby(argv, False)
    elif sub_cmd == "attribute":
        if "--name" in utils.pcs_options and len(argv) > 1:
            usage.node("attribute")
            sys.exit(1)
        filter_attr = utils.pcs_options.get("--name", None)
        if len(argv) == 0:
            attribute_show_cmd(filter_attr=filter_attr)
        elif len(argv) == 1:
            attribute_show_cmd(argv.pop(0), filter_attr=filter_attr)
        else:
            attribute_set_cmd(argv.pop(0), argv)
    elif sub_cmd == "utilization":
        if "--name" in utils.pcs_options and len(argv) > 1:
            usage.node("utilization")
            sys.exit(1)
        filter_name = utils.pcs_options.get("--name", None)
        if len(argv) == 0:
            print_node_utilization(filter_name=filter_name)
        elif len(argv) == 1:
            print_node_utilization(argv.pop(0), filter_name=filter_name)
        else:
            try:
                set_node_utilization(argv.pop(0), argv)
            except CmdLineInputError as e:
                utils.exit_on_cmdline_input_errror(e, "node", "utilization")
    # pcs-to-pcsd use only
    elif sub_cmd == "pacemaker-status":
        node_pacemaker_status()
    else:
        usage.node()
        sys.exit(1)
Esempio n. 6
0
File: node.py Progetto: idevat/pcs
def node_cmd(argv):
    if len(argv) == 0:
        usage.node()
        sys.exit(1)

    sub_cmd = argv.pop(0)
    if sub_cmd == "help":
        usage.node(argv)
    elif sub_cmd == "maintenance":
        node_maintenance(argv)
    elif sub_cmd == "unmaintenance":
        node_maintenance(argv, False)
    elif sub_cmd == "standby":
        node_standby(argv)
    elif sub_cmd == "unstandby":
        node_standby(argv, False)
    elif sub_cmd == "attribute":
        if "--name" in utils.pcs_options and len(argv) > 1:
            usage.node("attribute")
            sys.exit(1)
        filter_attr=utils.pcs_options.get("--name", None)
        if len(argv) == 0:
            attribute_show_cmd(filter_attr=filter_attr)
        elif len(argv) == 1:
            attribute_show_cmd(argv.pop(0), filter_attr=filter_attr)
        else:
            attribute_set_cmd(argv.pop(0), argv)
    elif sub_cmd == "utilization":
        if "--name" in utils.pcs_options and len(argv) > 1:
            usage.node("utilization")
            sys.exit(1)
        filter_name=utils.pcs_options.get("--name", None)
        if len(argv) == 0:
            print_node_utilization(filter_name=filter_name)
        elif len(argv) == 1:
            print_node_utilization(argv.pop(0), filter_name=filter_name)
        else:
            try:
                set_node_utilization(argv.pop(0), argv)
            except CmdLineInputError as e:
                utils.exit_on_cmdline_input_errror(e, "node", "utilization")
    # pcs-to-pcsd use only
    elif sub_cmd == "pacemaker-status":
        node_pacemaker_status()
    else:
        usage.node()
        sys.exit(1)
Esempio n. 7
0
def node_cmd(argv):
    if len(argv) == 0:
        usage.node()
        sys.exit(1)

    sub_cmd = argv.pop(0)
    if sub_cmd == "help":
        usage.node(argv)
    elif sub_cmd == "maintenance":
        node_maintenance(argv)
    elif sub_cmd == "unmaintenance":
        node_maintenance(argv, False)
    elif sub_cmd == "standby":
        node_standby(argv)
    elif sub_cmd == "unstandby":
        node_standby(argv, False)
    elif sub_cmd == "utilization":
        if len(argv) == 0:
            print_nodes_utilization()
        elif len(argv) == 1:
            print_node_utilization(argv.pop(0))
        else:
            set_node_utilization(argv.pop(0), argv)
    # pcs-to-pcsd use only
    elif sub_cmd == "pacemaker-status":
        node_pacemaker_status()
    else:
        usage.node()
        sys.exit(1)
Esempio n. 8
0
from functools import partial

from pcs import (
    node,
    usage,
)
from pcs.cli.common.routing import create_router


node_cmd = create_router(
    {
        "help": lambda lib, argv, modifiers: usage.node(argv),
        "maintenance": partial(node.node_maintenance_cmd, enable=True),
        "unmaintenance": partial(node.node_maintenance_cmd, enable=False),
        "standby": partial(node.node_standby_cmd, enable=True),
        "unstandby": partial(node.node_standby_cmd, enable=False),
        "attribute": node.node_attribute_cmd,
        "utilization": node.node_utilization_cmd,
        # pcs-to-pcsd use only
        "pacemaker-status": node.node_pacemaker_status,
    },
    ["node"]
)
Esempio n. 9
0
from functools import partial

from pcs import (
    node,
    usage,
)
from pcs.cli.common.routing import create_router

node_cmd = create_router(
    {
        "help": lambda lib, argv, modifiers: usage.node(argv),
        "maintenance": partial(node.node_maintenance_cmd, enable=True),
        "unmaintenance": partial(node.node_maintenance_cmd, enable=False),
        "standby": partial(node.node_standby_cmd, enable=True),
        "unstandby": partial(node.node_standby_cmd, enable=False),
        "attribute": node.node_attribute_cmd,
        "utilization": node.node_utilization_cmd,
        # pcs-to-pcsd use only
        "pacemaker-status": node.node_pacemaker_status,
    },
    ["node"])
Esempio n. 10
0
from functools import partial

from pcs import (
    node,
    usage,
)
from pcs.cli.common.routing import create_router


node_cmd = create_router(
    {
        "help": lambda lib, argv, modifiers: print(usage.node(argv)),
        "maintenance": partial(node.node_maintenance_cmd, enable=True),
        "unmaintenance": partial(node.node_maintenance_cmd, enable=False),
        "standby": partial(node.node_standby_cmd, enable=True),
        "unstandby": partial(node.node_standby_cmd, enable=False),
        "attribute": node.node_attribute_cmd,
        "utilization": node.node_utilization_cmd,
        # pcs-to-pcsd use only
        "pacemaker-status": node.node_pacemaker_status,
    },
    ["node"],
)