Add check and diff options to kolla-ansible

This patch is adding --check and --diff options
to kolla-ansible, which cause that kolla-ansible
run will be more verbose and able to run in
semi dry-run mode.

The --diff option for kolla-ansible can be used alone or
with --check. When you run in diff mode, any module that
supports diff mode reports the changes made or, if used
with --check, the changes that would have been made.
Diff mode is most common in modules that manipulate files
(for example, the template module) but other modules might
also show ‘before and after’ information
(for example, the user module).

For more information check [1].

[1] https://docs.ansible.com/ansible/latest/user_guide/playbooks_checkmode.html#using-diff-mode

Change-Id: Ifb82ea99e5af82540e938eab9e2a442b2820d7df
This commit is contained in:
Michal Arbet 2021-08-19 14:57:31 +02:00
parent 98479f5e28
commit 0e720b382b
2 changed files with 21 additions and 2 deletions

View File

@ -0,0 +1,5 @@
---
features:
- |
Adds two new arguments to the ``kolla-ansible`` command, ``--check``
and ``--diff``. They are passed through directly to ``ansible-playbook``.

View File

@ -140,6 +140,8 @@ Can be specified multiple times to pass multiple inventories.
--vault-id <@prompt or path> Specify @prompt or password file (Ansible >= 2.4)
--ask-vault-pass Ask for vault password
--vault-password-file <path> Specify password file for vault decrypt
--check, -C Don't make any changes and try to predict some of the changes that may occur instead
--diff, -D Show differences in ansible-playbook changed tasks
--verbose, -v Increase verbosity of ansible-playbook
Environment variables:
@ -191,6 +193,8 @@ cat <<EOF
--vault-id
--ask-vault-pass
--vault-password-file
--check -C
--diff -D
--verbose -v
prechecks
check
@ -218,8 +222,8 @@ EOF
check_environment_coherence
SHORT_OPTS="hi:p:t:k:e:v"
LONG_OPTS="help,inventory:,playbook:,skip-tags:,tags:,key:,extra:,verbose,configdir:,passwords:,limit:,forks:,vault-id:,ask-vault-pass,vault-password-file:,yes-i-really-really-mean-it,include-images,include-dev:,full,incremental"
SHORT_OPTS="hi:p:t:k:e:CD:v"
LONG_OPTS="help,inventory:,playbook:,skip-tags:,tags:,key:,extra:,check,diff,verbose,configdir:,passwords:,limit:,forks:,vault-id:,ask-vault-pass,vault-password-file:,yes-i-really-really-mean-it,include-images,include-dev:,full,incremental"
RAW_ARGS="$*"
ARGS=$(getopt -o "${SHORT_OPTS}" -l "${LONG_OPTS}" --name "$0" -- "$@") || { usage >&2; exit 2; }
@ -265,6 +269,16 @@ while [ "$#" -gt 0 ]; do
shift 2
;;
(--check|-C)
EXTRA_OPTS="$EXTRA_OPTS --check"
shift 1
;;
(--diff|-D)
EXTRA_OPTS="$EXTRA_OPTS --diff"
shift 1
;;
(--verbose|-v)
VERBOSITY="$VERBOSITY --verbose"
shift 1