diff --git a/releasenotes/notes/skip-tags-c0a4ac3900f33e7f.yaml b/releasenotes/notes/skip-tags-c0a4ac3900f33e7f.yaml new file mode 100644 index 0000000000..f1d112f62d --- /dev/null +++ b/releasenotes/notes/skip-tags-c0a4ac3900f33e7f.yaml @@ -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``. diff --git a/tools/kolla-ansible b/tools/kolla-ansible index 8c2bd3cd70..72d8e86c8b 100755 --- a/tools/kolla-ansible +++ b/tools/kolla-ansible @@ -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