From fd6bb0f7fd30183daa0195c7b70fb22becd3ac93 Mon Sep 17 00:00:00 2001 From: Kri5 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)