Roles Path not read from ansible.cfg

I’m using vagrant and I have this structure

  • controller

  • roles

  • ansible

  • tasks

  • main.yml

  • inventories

  • playbooks

  • master.yml

  • environment

  • provisioning

  • ansible.cfg

  • vagrant.yml

  • Vagrantfile

The environment directory is supposed to be where the vagrant machine runs. And the controller directory is where all my Ansible scripts are found.

Under my ansible.cfg I have these settings:

environment/provisioning/ansible.cfg

[defaults]
hostfile = …/…/controller/inventories/development
roles_path = …/…/controller/roles

environment

However, when I try to run my Vagrant. It doesn’t seem to detect where the external roles path were. I used to have the roles inside my provisioning directory but decided to transfer it under the controller directory because it is also used in that directory where all my Ansible playbooks are… I can ran using master.yml with the ansible role without problem.

2 things:

  1. The error is ERROR! the role 'ansible' was not found in /environment/provisioning/roles Looks like it’s still looking for the default path without taking my ansible.cfg into consideration.
  2. How do I print out the default configs in the terminal and debug the values if what I put in the ansible.cfg has been read correctly?

Under my ansible.cfg I have these settings:

# environment/provisioning/ansible.cfg
[defaults]
hostfile = ../../controller/inventories/development
roles_path = ../../controller/roles

Have you tried setting an absolute path here?

Is the hostfile set according to what you specify here?

1. The error is `ERROR! the role 'ansible' was not found in
/environment/provisioning/roles` Looks like it's still looking for the
default path without taking my ansible.cfg into consideration.
2. How do I print out the default configs in the terminal and debug the
values if what I put in the ansible.cfg has been read correctly?

ansible --version states some things.

Also running a playbook with 'ansible-playbook -v" states which
configuration file is used.

I would guess it is maybe vagrant that messes these things up. Did you
call ansible directly (just for testing)?

Johannes