I am trying to create a new Ansible role called "Adminer" which requires the "Apache" role.
I've specified the Apache role as a dependency in meta/main.yml:
--- dependencies: - src: [email protected]:alexandrubau/ansible-apache.git name: apache
I'm testing the Adminer role using Vagrant and I get the following error:
vagrant provision ==> default: Running provisioner: shell... default: Running: inline script ==> default: Running provisioner: ansible_local... Vagrant has automatically selected the compatibility mode '2.0' according to the Ansible version installed (22.214.171.124). Alternatively, the compatibility mode can be specified in your Vagrantfile: https://www.vagrantup.com/docs/provisioning/ansible_common.html#compatibility_mode default: Running ansible-playbook... ERROR! the role 'apache' was not found in /vagrant/tests/roles:/home/vagrant/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles:/:/vagrant/tests The error appears to have been in '/vagrant/meta/main.yml': line 3, column 5, but may be elsewhere in the file depending on the exact syntax problem. The offending line appears to be: dependencies: - src: https://github.com/alexandrubau/ansible-apache.git ^ here Ansible failed to complete successfully. Any error output should be visible above. Please fix these errors and try again.
Use requirements.yml file and running it with:
ansible-galaxy install -r requirements.yml
Seems like the meta/main.yml file is being read only by the ansible-galaxy command, when you install a role.