I have some Ansible roles to configure my vps, Raspberry Pi, etc. I like to test them before I broke something on my real, not clustered machines - I use Vagrant for that.
But with it I had one problem - in playbooks I define hosts
as groups of severs ex. web
for my vps:
Example Ansible playbook
- hosts: web
gather_facts: True
sudo: True
...
But testing machine wasn’t in this group and when I run vagrant I could only see:
Ansible run
$ vagrant provision
==> default: Running provisioner: fix-no-tty (shell)...
default: Running: inline script
==> default: Running provisioner: ansible...
PLAY [web] ********************************************************************
skipping: no hosts matched
PLAY RECAP ********************************************************************
To get rid of this I have to add default
vagrant machine to my default
group in Vagrantfile:
Vagrantfile
config.vm.provision "ansible" do |ansible|
ansible.groups = {
"web" => ["default"]
}
ansible.sudo = true
ansible.limit = "all"
ansible.playbook = "web.yml"
end
And that solved my problem 😄