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: git+https@github.com: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 (2.4.2.0).
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.
Shouldn't Ansible download the new role from the supplied git repo?
Here's my Vagrant file:
# -*- mode: ruby -*-
# vi: set ft=ruby :
$script = <<SCRIPT
mkdir -p /etc/ansible/roles
ln -f -s /vagrant /etc/ansible/roles/test-role
SCRIPT
Vagrant.configure("2") do |config|
config.vm.box = "bento/ubuntu-16.04"
config.vm.hostname = "ansible-test.local"
config.vm.network "private_network", ip: "192.168.13.37"
config.vm.synced_folder "../", "/vagrant"
config.vm.provider "virtualbox" do |vbox|
vbox.memory = 2048
vbox.cpus = 2
end
config.vm.provision "shell", inline: $script
config.vm.provision "ansible_local" do |ansible|
ansible.inventory_path = "tests/inventory"
ansible.playbook = "tests/test.yml"
ansible.limit = "localhost"
end
end
Thank you for your help