Example #1
0
def booth_cmd(lib, argv, modifiers):
    """
    routes booth command
    """
    if len(argv) < 1:
        usage.booth()
        sys.exit(1)

    sub_cmd, argv_next = argv[0], argv[1:]
    try:
        if sub_cmd == "help":
            usage.booth(argv)
        elif sub_cmd == "config":
            command.config_show(lib, argv_next, modifiers)
        elif sub_cmd == "setup":
            command.config_setup(lib, argv_next, modifiers)
        elif sub_cmd == "destroy":
            command.config_destroy(lib, argv_next, modifiers)
        elif sub_cmd == "ticket":
            if len(argv_next) < 1:
                raise CmdLineInputError()
            if argv_next[0] == "add":
                command.config_ticket_add(lib, argv_next[1:], modifiers)
            elif argv_next[0] == "remove":
                command.config_ticket_remove(lib, argv_next[1:], modifiers)
            elif argv_next[0] == "grant":
                command.ticket_grant(lib, argv_next[1:], modifiers)
            elif argv_next[0] == "revoke":
                command.ticket_revoke(lib, argv_next[1:], modifiers)
            else:
                raise CmdLineInputError()
        elif sub_cmd == "create":
            command.get_create_in_cluster(resource_create,
                                          resource_remove)(lib, argv_next,
                                                           modifiers)
        elif sub_cmd == "remove":
            command.get_remove_from_cluster(resource_remove)(lib, argv_next,
                                                             modifiers)
        elif sub_cmd == "restart":
            command.get_restart(resource_restart)(lib, argv_next, modifiers)
        elif sub_cmd == "sync":
            command.sync(lib, argv_next, modifiers)
        elif sub_cmd == "pull":
            command.pull(lib, argv_next, modifiers)
        elif sub_cmd == "enable":
            command.enable(lib, argv_next, modifiers)
        elif sub_cmd == "disable":
            command.disable(lib, argv_next, modifiers)
        elif sub_cmd == "start":
            command.start(lib, argv_next, modifiers)
        elif sub_cmd == "stop":
            command.stop(lib, argv_next, modifiers)
        elif sub_cmd == "status":
            command.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, "booth", sub_cmd)
Example #2
0
    def test_call_lib_with_correct_args(self):
        lib = mock.MagicMock()
        lib.booth = mock.MagicMock()
        lib.booth.config_setup = mock.MagicMock()

        command.config_setup(lib,
                             arg_list=[
                                 "sites", "1.1.1.1", "2.2.2.2", "4.4.4.4",
                                 "arbitrators", "3.3.3.3"
                             ],
                             modifiers={
                                 "force": False,
                             })
        lib.booth.config_setup.assert_called_once_with([
            {
                "key": "site",
                "value": "1.1.1.1",
                "details": []
            },
            {
                "key": "site",
                "value": "2.2.2.2",
                "details": []
            },
            {
                "key": "site",
                "value": "4.4.4.4",
                "details": []
            },
            {
                "key": "arbitrator",
                "value": "3.3.3.3",
                "details": []
            },
        ], False)
Example #3
0
File: booth.py Project: wyatt88/pcs
def booth_cmd(lib, argv, modifiers):
    """
    routes booth command
    """
    if len(argv) < 1:
        usage.booth()
        sys.exit(1)

    sub_cmd, argv_next = argv[0], argv[1:]
    try:
        if sub_cmd == "help":
            usage.booth(argv)
        elif sub_cmd == "config":
            command.config_show(lib, argv_next, modifiers)
        elif sub_cmd == "setup":
            command.config_setup(lib, argv_next, modifiers)
        elif sub_cmd == "destroy":
            command.config_destroy(lib, argv_next, modifiers)
        elif sub_cmd == "ticket":
            if len(argv_next) < 1:
                raise CmdLineInputError()
            if argv_next[0] == "add":
                command.config_ticket_add(lib, argv_next[1:], modifiers)
            elif argv_next[0] == "remove":
                command.config_ticket_remove(lib, argv_next[1:], modifiers)
            elif argv_next[0] == "grant":
                command.ticket_grant(lib, argv_next[1:], modifiers)
            elif argv_next[0] == "revoke":
                command.ticket_revoke(lib, argv_next[1:], modifiers)
            else:
                raise CmdLineInputError()
        elif sub_cmd == "create":
            command.get_create_in_cluster(resource_create)(
                lib, argv_next, modifiers
            )
        elif sub_cmd == "remove":
            command.get_remove_from_cluster(resource_remove)(
                lib, argv_next, modifiers
            )
        elif sub_cmd == "sync":
            command.sync(lib, argv_next, modifiers)
        elif sub_cmd == "pull":
            command.pull(lib, argv_next, modifiers)
        elif sub_cmd == "enable":
            command.enable(lib, argv_next, modifiers)
        elif sub_cmd == "disable":
            command.disable(lib, argv_next, modifiers)
        elif sub_cmd == "start":
            command.start(lib, argv_next, modifiers)
        elif sub_cmd == "stop":
            command.stop(lib, argv_next, modifiers)
        elif sub_cmd == "status":
            command.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, "booth", sub_cmd)
Example #4
0
 def test_lib_call_minimal(self):
     booth_cmd.config_setup(self.lib,
                            ["sites", "1.1.1.1", "2.2.2.2", "3.3.3.3"],
                            dict_to_modifiers(dict()))
     self.lib.booth.config_setup.assert_called_once_with(
         ["1.1.1.1", "2.2.2.2", "3.3.3.3"],
         [],
         instance_name=None,
         overwrite_existing=False,
     )
Example #5
0
 def test_lib_call_full(self):
     booth_cmd.config_setup(
         self.lib,
         ["sites", "1.1.1.1", "2.2.2.2", "arbitrators", "3.3.3.3"],
         dict_to_modifiers(dict(name="my_booth", force=True)))
     self.lib.booth.config_setup.assert_called_once_with(
         ["1.1.1.1", "2.2.2.2"],
         ["3.3.3.3"],
         instance_name="my_booth",
         overwrite_existing=True,
     )
Example #6
0
    def test_call_lib_with_correct_args(self):
        lib = mock.MagicMock()
        lib.booth = mock.MagicMock()
        lib.booth.config_setup = mock.MagicMock()

        command.config_setup(
            lib,
            arg_list=[
                "sites", "1.1.1.1", "2.2.2.2", "4.4.4.4",
                "arbitrators", "3.3.3.3"
            ],
            modifiers={
                "force": False,
            }
        )
        lib.booth.config_setup.assert_called_once_with(
            {
                "sites": ["1.1.1.1", "2.2.2.2", "4.4.4.4"],
                "arbitrators": ["3.3.3.3"],
            },
            False
        )
Example #7
0
    def test_call_lib_with_correct_args(self):
        lib = mock.MagicMock()
        lib.booth = mock.MagicMock()
        lib.booth.config_setup = mock.MagicMock()

        command.config_setup(
            lib,
            arg_list=[
                "sites", "1.1.1.1", "2.2.2.2", "4.4.4.4",
                "arbitrators", "3.3.3.3"
            ],
            modifiers=InputModifiers({}),
        )
        lib.booth.config_setup.assert_called_once_with(
            [
                {"key": "site", "value": "1.1.1.1", "details": []},
                {"key": "site", "value": "2.2.2.2", "details": []},
                {"key": "site", "value": "4.4.4.4", "details": []},
                {"key": "arbitrator", "value": "3.3.3.3", "details": []},
            ],
            overwrite_existing=False
        )