Example #1
0
def preflight_check():
    """
    Preliminary checks to see if we can proceed with cluster reset
    """
    exit_if_no_root()
    exit_if_no_permission()
    is_cluster_locked()
    ensure_started()
    wait_for_ready(timeout=30)
    exit_if_multinode()
Example #2
0
def disable(addons):
    """Disables one or more MicroK8s addons.

    For a list of available addons, run `microk8s status`.

    To see help for individual addons, run:

        microk8s disable ADDON -- --help
    """

    is_cluster_locked()
    exit_if_no_permission()
    ensure_started()

    _, disabled_addons = get_status(get_available_addons(get_current_arch()), True)
    disabled_addons = {a['name'] for a in disabled_addons}

    xable('disable', addons, disabled_addons)
Example #3
0
def enable(addons):
    """Enables a MicroK8s addon.

    For a list of available addons, run `microk8s status`.

    To see help for individual addons, run:

        microk8s enable ADDON -- --help
    """

    is_cluster_locked()
    exit_if_no_permission()
    ensure_started()

    enabled_addons, _ = get_status(get_available_addons(get_current_arch()), True)
    enabled_addons = {a['name'] for a in enabled_addons}

    xable('enable', addons, enabled_addons)
Example #4
0
def enable(addons) -> None:
    """
    Enable a MicroK8s addon.

    For a list of available addons, run `microk8s status`.

    To see help for individual addons, run:

        microk8s enable ADDON -- --help
    """
    if check_help_flag(addons):
        return

    is_cluster_locked()
    exit_if_no_permission()
    ensure_started()
    wait_for_ready(timeout=30)

    xable("enable", addons)
Example #5
0
def enable(addons):
    """Enables a MicroK8s addon.

    For a list of available addons, run `microk8s status`.

    To see help for individual addons, run:

        microk8s enable ADDON -- --help
    """

    if check_help_flag(addons):
        return

    is_cluster_locked()
    exit_if_no_permission()
    ensure_started()
    wait_for_ready(timeout=30)

    enabled_addons, _ = get_status(get_available_addons(get_current_arch()),
                                   True)
    enabled_addons = {a["name"] for a in enabled_addons}

    xable("enable", addons, enabled_addons)
Example #6
0
        restore_cmd = '{}/bin/migrator --mode restore-to-dqlite --db-dir {}'.format(
            snap_path, "{}/{}".format(tmpdirname, fname))
        if debug:
            restore_cmd = "{} {}".format(restore_cmd, "--debug")
        try:
            rc = run_command(restore_cmd)
            if rc > 0:
                print("Restore process failed. {}".format(rc))
                exit(3)
        except subprocess.CalledProcessError as e:
            print("Restore process failed. {}".format(e))
            exit(4)


if __name__ == '__main__':
    exit_if_no_permission()
    is_cluster_locked()

    if not kine_exists() or not is_ha_enabled():
        print(
            "Please ensure the kubernetes apiserver is running and HA is enabled."
        )
        exit(10)

    # initiate the parser with a description
    parser = argparse.ArgumentParser(
        description="backup and restore the Kubernetes datastore.",
        prog='microk8s dbctl')
    parser.add_argument('--debug',
                        action='store_true',
                        help='print debug output')