From c2fb1a0747d384a208e0ae02de3a306debf767b2 Mon Sep 17 00:00:00 2001
From: Kenichi Omichi <ken1ohmichi@gmail.com>
Date: Fri, 8 Apr 2022 23:58:04 -0700
Subject: [PATCH] Add VAGRANT_ANSIBLE_TAGS for normal deployment (#8697)

Current ansible.tags 'facts' is for skipping actual Kubespray deployment
at vagrant CI because the deployment takes much time. However the static
'facts' skips the deployment for normal usage of vagrant also.
That causes confusions.

This adds VAGRANT_ANSIBLE_TAGS to skip the deployment for vagrant CI.
---
 Vagrantfile                          | 5 ++++-
 test-infra/vagrant-docker/Dockerfile | 1 +
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/Vagrantfile b/Vagrantfile
index e483ffc65..1cfa72c80 100644
--- a/Vagrantfile
+++ b/Vagrantfile
@@ -75,6 +75,7 @@ $local_path_provisioner_claim_root ||= "/opt/local-path-provisioner/"
 $libvirt_nested ||= false
 # boolean or string (e.g. "-vvv")
 $ansible_verbosity ||= false
+$ansible_tags ||= ENV['VAGRANT_ANSIBLE_TAGS'] || ""
 
 $playbook ||= "cluster.yml"
 
@@ -256,7 +257,9 @@ Vagrant.configure("2") do |config|
           ansible.host_key_checking = false
           ansible.raw_arguments = ["--forks=#{$num_instances}", "--flush-cache", "-e ansible_become_pass=vagrant"]
           ansible.host_vars = host_vars
-          ansible.tags = ['facts']
+          if $ansible_tags != ""
+            ansible.tags = [$ansible_tags]
+          end
           ansible.groups = {
             "etcd" => ["#{$instance_name_prefix}-[1:#{$etcd_instances}]"],
             "kube_control_plane" => ["#{$instance_name_prefix}-[1:#{$kube_master_instances}]"],
diff --git a/test-infra/vagrant-docker/Dockerfile b/test-infra/vagrant-docker/Dockerfile
index ac8a4b69a..f8c05e743 100644
--- a/test-infra/vagrant-docker/Dockerfile
+++ b/test-infra/vagrant-docker/Dockerfile
@@ -5,6 +5,7 @@ FROM quay.io/kubespray/kubespray:${KUBESPRAY_VERSION}
 
 ENV VAGRANT_VERSION=2.2.19
 ENV VAGRANT_DEFAULT_PROVIDER=libvirt
+ENV VAGRANT_ANSIBLE_TAGS=facts
 
 RUN apt-get update && apt-get install -y wget libvirt-dev openssh-client rsync git
 
-- 
GitLab