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