Esempio n. 1
0
def _validate_args(parsed_args, playbooks):
    """Validate Kayobe Ansible arguments."""
    vault.validate_args(parsed_args)
    result = utils.is_readable_dir(parsed_args.config_path)
    if not result["result"]:
        LOG.error("Kayobe configuration path %s is invalid: %s",
                  parsed_args.config_path, result["message"])
        sys.exit(1)

    env_path = _get_kayobe_environment_path(parsed_args)
    if env_path:
        result = utils.is_readable_dir(env_path)
        if not result["result"]:
            LOG.error("Kayobe environment %s is invalid: %s", env_path,
                      result["message"])
            sys.exit(1)

    inventories = _get_inventories_paths(parsed_args, env_path)
    for inventory in inventories:
        result = utils.is_readable_dir(inventory)
        if not result["result"]:
            LOG.error("Kayobe inventory %s is invalid: %s", inventory,
                      result["message"])
            sys.exit(1)

    for playbook in playbooks:
        result = utils.is_readable_file(playbook)
        if not result["result"]:
            LOG.error("Kayobe playbook %s is invalid: %s", playbook,
                      result["message"])
            sys.exit(1)
Esempio n. 2
0
def _validate_args(parsed_args, inventory_filename):
    """Validate Kayobe Ansible arguments."""
    vault.validate_args(parsed_args)
    result = utils.is_readable_dir(parsed_args.kolla_config_path)
    if not result["result"]:
        LOG.error("Kolla configuration path %s is invalid: %s",
                  parsed_args.kolla_config_path, result["message"])
        sys.exit(1)

    inventory = _get_inventory_path(parsed_args, inventory_filename)
    result = utils.is_readable_dir(parsed_args.kolla_venv)
    if not result["result"]:
        # NOTE(mgoddard): Previously the inventory was a file, now it is a
        # directory to allow us to support inventory host_vars. Support both
        # formats for now.
        result_f = utils.is_readable_file(inventory)
        if not result_f["result"]:
            LOG.error("Kolla inventory %s is invalid: %s", inventory,
                      result["message"])
            sys.exit(1)

    result = utils.is_readable_dir(parsed_args.kolla_venv)
    if not result["result"]:
        LOG.error("Kolla virtualenv %s is invalid: %s", parsed_args.kolla_venv,
                  result["message"])
        sys.exit(1)
Esempio n. 3
0
def create_kayobe_environment(parsed_args):
    """Create a new Kayobe environment."""
    if not parsed_args.environment:
        LOG.error("You must specify an environment to create")
        sys.exit(1)

    # Ensure environments directory exists and is readable inside config path
    kc_environments = os.path.join(parsed_args.config_path, "environments")
    result = utils.is_readable_dir(kc_environments)
    if not result["result"]:
        if result["message"] == "Path does not exist":
            os.mkdir(kc_environments)
        else:
            LOG.error("Kayobe global environments directory %s is invalid: %s",
                      kc_environments, result["message"])
            sys.exit(1)

    env_path = os.path.join(kc_environments, parsed_args.environment)
    result = utils.is_readable_dir(env_path)
    if result["result"]:
        LOG.error("Kayobe environment directory %s already exists", env_path)
        sys.exit(1)
    else:
        if result["message"] == "Path does not exist":
            os.mkdir(env_path)
        else:
            LOG.error("Kayobe environment directory %s is invalid: %s",
                      env_path, result["message"])
            sys.exit(1)

    source_config_path = parsed_args.source_config_path
    if source_config_path:
        utils.copy_dir(source_config_path, env_path)
Esempio n. 4
0
def _validate_args(parsed_args, inventory_filename):
    """Validate Kayobe Ansible arguments."""
    result = utils.is_readable_dir(parsed_args.kolla_config_path)
    if not result["result"]:
        LOG.error("Kolla configuration path %s is invalid: %s",
                  parsed_args.kolla_config_path, result["message"])
        sys.exit(1)

    inventory = _get_inventory_path(parsed_args, inventory_filename)
    result = utils.is_readable_file(inventory)
    if not result["result"]:
        LOG.error("Kolla inventory %s is invalid: %s", inventory,
                  result["message"])
        sys.exit(1)

    result = utils.is_readable_dir(parsed_args.kolla_venv)
    if not result["result"]:
        LOG.error("Kolla virtualenv %s is invalid: %s", parsed_args.kolla_venv,
                  result["message"])
        sys.exit(1)
Esempio n. 5
0
def _validate_args(parsed_args, inventory_filename):
    """Validate Kayobe Ansible arguments."""
    result = utils.is_readable_dir(parsed_args.kolla_config_path)
    if not result["result"]:
        LOG.error("Kolla configuration path %s is invalid: %s",
                  parsed_args.kolla_config_path, result["message"])
        sys.exit(1)

    inventory = _get_inventory_path(parsed_args, inventory_filename)
    result = utils.is_readable_file(inventory)
    if not result["result"]:
        LOG.error("Kolla inventory %s is invalid: %s",
                  inventory, result["message"])
        sys.exit(1)

    result = utils.is_readable_dir(parsed_args.kolla_venv)
    if not result["result"]:
        LOG.error("Kolla virtualenv %s is invalid: %s",
                  parsed_args.kolla_venv, result["message"])
        sys.exit(1)
Esempio n. 6
0
def _validate_args(parsed_args, playbooks):
    """Validate Kayobe Ansible arguments."""
    result = utils.is_readable_dir(parsed_args.config_path)
    if not result["result"]:
        LOG.error("Kayobe configuration path %s is invalid: %s",
                  parsed_args.config_path, result["message"])
        sys.exit(1)

    inventory = _get_inventory_path(parsed_args)
    result = utils.is_readable_dir(inventory)
    if not result["result"]:
        LOG.error("Kayobe inventory %s is invalid: %s", inventory,
                  result["message"])
        sys.exit(1)

    for playbook in playbooks:
        result = utils.is_readable_file(playbook)
        if not result["result"]:
            LOG.error("Kayobe playbook %s is invalid: %s", playbook,
                      result["message"])
            sys.exit(1)
Esempio n. 7
0
def _validate_args(parsed_args, playbooks):
    """Validate Kayobe Ansible arguments."""
    result = utils.is_readable_dir(parsed_args.config_path)
    if not result["result"]:
        LOG.error("Kayobe configuration path %s is invalid: %s",
                  parsed_args.config_path, result["message"])
        sys.exit(1)

    inventory = _get_inventory_path(parsed_args)
    result = utils.is_readable_dir(inventory)
    if not result["result"]:
        LOG.error("Kayobe inventory %s is invalid: %s",
                  inventory, result["message"])
        sys.exit(1)

    for playbook in playbooks:
        result = utils.is_readable_file(playbook)
        if not result["result"]:
            LOG.error("Kayobe playbook %s is invalid: %s",
                      playbook, result["message"])
            sys.exit(1)