# vim: set ft=ruby: # frozen_string_literal: true def find_ansible_cfg path = Pathname.new(Dir.pwd) until path.root? ansible_cfg = path + 'ansible.cfg' return path if ansible_cfg.exist? path = path.parent end nil # return nil if not found end Vagrant.configure('2') do |config| config.vm.define 'wizard' if ARGV.any? { |arg| arg == 'up' || arg == 'provision' } unless ENV['DB_BACKEND'] $stderr.puts "\e[31mThe DB_BACKEND environment variable is not defined. Please set up the environment and try again.\e[0m" exit 1 end end config.vm.provision 'shell', path: 'bootstrap' if File.exist?('bootstrap') config.vm.synced_folder '.', '/vagrant', disabled: true config.vm.provider :libvirt do |libvirt| libvirt.cpus = 4 libvirt.memory = 4096 end path = find_ansible_cfg if !path puts "ansible.cfg not found" end config.vm.provision 'ansible' do |ansible| ansible.config_file = (path + 'ansible.cfg').to_s ansible.playbook = (path + 'provision_dependencies.yml').to_s ansible.compatibility_mode = "2.0" end config.vm.provision 'ansible' do |ansible| ansible.config_file = (path + 'ansible.cfg').to_s ansible.playbook = (path + 'provision_test_suite.yml').to_s ansible.compatibility_mode = "2.0" end config.vm.provision 'ansible' do |ansible| ansible.config_file = (path + 'ansible.cfg').to_s ansible.playbook = (path + 'prepare_tests.yml').to_s ansible.compatibility_mode = "2.0" end config.vm.provision 'ansible' do |ansible| ansible.config_file = (path + 'ansible.cfg').to_s ansible.playbook = (path + 'debug_tools.yml').to_s ansible.compatibility_mode = "2.0" end config.vm.provision 'ansible' do |ansible| ansible.config_file = (path + 'ansible.cfg').to_s ansible.playbook = (path + 'run_wizard_tests.yml').to_s ansible.compatibility_mode = "2.0" end end