From fd6bb0f7fd30183daa0195c7b70fb22becd3ac93 Mon Sep 17 00:00:00 2001
From: Kri5 <christophe.courtaut@gmail.com>
Date: Mon, 22 Jan 2024 17:22:37 +0100
Subject: [PATCH] Allow vagrant directory location to be configurable (#10718)

In the case were vagrant is not invoked directly from the repository,
but from another location, and the Vagrantfile is "included" into
another, we need to be able to specify where the location of the vagrant
directory is, as of now it's hardcoded relative to the Vagrantfile
location. This commit fix it.
---
 Vagrantfile | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Vagrantfile b/Vagrantfile
index 498737668..fb8f1a717 100644
--- a/Vagrantfile
+++ b/Vagrantfile
@@ -77,6 +77,8 @@ $libvirt_nested ||= false
 $ansible_verbosity ||= false
 $ansible_tags ||= ENV['VAGRANT_ANSIBLE_TAGS'] || ""
 
+$vagrant_dir ||= File.join(File.dirname(__FILE__), ".vagrant")
+
 $playbook ||= "cluster.yml"
 
 host_vars = {}
@@ -96,7 +98,7 @@ $inventory = File.absolute_path($inventory, File.dirname(__FILE__))
 # if $inventory has a hosts.ini file use it, otherwise copy over
 # vars etc to where vagrant expects dynamic inventory to be
 if ! File.exist?(File.join(File.dirname($inventory), "hosts.ini"))
-  $vagrant_ansible = File.join(File.dirname(__FILE__), ".vagrant", "provisioners", "ansible")
+  $vagrant_ansible = File.join(File.absolute_path($vagrant_dir), "provisioners", "ansible")
   FileUtils.mkdir_p($vagrant_ansible) if ! File.exist?($vagrant_ansible)
   $vagrant_inventory = File.join($vagrant_ansible,"inventory")
   FileUtils.rm_f($vagrant_inventory)
-- 
GitLab