Add support for --skip-tags argument

This allows for skipping tasks which match the provided tags, using
the ansible-playbook argument of the same name.

This can be useful in combination with --tags, to skip reconfiguration
of the common tasks:

kolla-ansible reconfigure --tags nova --skip-tags common

Change-Id: I766552f7ae4099da3d174759f4a609ffe8b4d89f
This commit is contained in:
Mark Goddard 2017-10-16 17:39:45 +01:00
parent 42f6ef4637
commit c3e91725e2
2 changed files with 13 additions and 1 deletions

View File

@ -0,0 +1,5 @@
---
features:
- |
Adds a new argument to the ``kolla-ansible`` command, ``--skip-tags TAGS``.
This argument is passed through directly to ``ansible-playbook``.

View File

@ -40,6 +40,7 @@ Options:
--key -k <key_path> Specify path to ansible vault keyfile
--help, -h Show this usage information
--tags, -t <tags> Only run plays and tasks tagged with these values
--skip-tags <tags> Only run plays and tasks whose tags do not match these values
--extra, -e <ansible variables> Set additional variables as key=value or YAML/JSON passed to ansible-playbook
--passwords <passwords_path> Specify path to the passwords file
--limit <host> Specify host to run plays
@ -76,6 +77,7 @@ cat <<EOF
--configdir
--key -k
--help -h
--skip-tags
--tags -t
--extra -e
--passwords
@ -103,7 +105,7 @@ EOF
}
SHORT_OPTS="hi:p:t:k:e:v"
LONG_OPTS="help,inventory:,playbook:,tags:,key:,extra:,verbose,configdir:,passwords:,limit:,vault-id:,ask-vault-pass,vault-password-file:,yes-i-really-really-mean-it,include-images,include-dev"
LONG_OPTS="help,inventory:,playbook:,skip-tags:,tags:,key:,extra:,verbose,configdir:,passwords:,limit:,vault-id:,ask-vault-pass,vault-password-file:,yes-i-really-really-mean-it,include-images,include-dev"
ARGS=$(getopt -o "${SHORT_OPTS}" -l "${LONG_OPTS}" --name "$0" -- "$@") || { usage >&2; exit 2; }
eval set -- "$ARGS"
@ -136,6 +138,11 @@ while [ "$#" -gt 0 ]; do
shift 2
;;
(--skip-tags)
EXTRA_OPTS="$EXTRA_OPTS --skip-tags $2"
shift 2
;;
(--tags|-t)
EXTRA_OPTS="$EXTRA_OPTS --tags $2"
shift 2