Reputation: 23257
Here my ansible_local
related Vagrantfile
code:
config.vm.provision "ansible_local" do |ansible|
ansible.become = true
ansible.inventory_path = '/vagrant/provisioning/inventory/hosts.ini'
ansible.playbook = "/vagrant/provisioning/playbook.yml"
ansible.limit = 'all'
ansible.galaxy_role_file = "/vagrant/provisioning/requirements.yml"
ansible.galaxy_roles_path = "/etc/ansible/roles"
ansible.galaxy_command = "sudo ansible-galaxy install --role-file=%{role_file} --roles-path=%{roles_path} --force"
end
As you can see, ansible.limit
is all
.
├── ansible.cfg
├── provisioning
│ ├── group_vars
│ │ └── all.yml
│ ├── inventory
│ │ ├── hosts.ini
│ │ └── hosts.yml
│ ├── playbook.yml
│ └── requirements.yml
└── Vagrantfile
all.yml
content is:
solr_cores:
mssql_restore_backups: false
I need to replace mssql_restore_backup
default value picking it up from an environment variable.
Is there anyway to pass environment variable value to ansible provisioner?
Any ideas?
Upvotes: 0
Views: 200
Reputation: 1954
In Ansible the variables with mayor precedence are extra-vars
and you can add them to your Vagrantfile as below
ansible.extra_vars = {
mssql_restore_backup: $MSSQLRESTOREBACKUP
}
Documentation:
https://www.vagrantup.com/docs/provisioning/ansible_common#extra_vars
Upvotes: 1