I'm running ansible(2.8.4) on a playbook built largely by operator-sdk on WSL(Ubuntu 18.04). I am receiving the following error.
ERROR! the role 'DistZilla' was not found in /home/####/projects/dist-zilla-operator/roles/roles:/home/####/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles:/home/####/projects/dist-zilla-operator/roles
This is the contents of the roles/playbook.yml file and a tree of the roles dir:
---
- hosts: localhost
roles:
- DistZilla
$ tree roles
roles
├── distzilla
│ ├── defaults
│ │ └── main.yml
│ ├── handlers
│ │ └── main.yml
│ ├── meta
│ │ └── main.yml
│ ├── README.md
│ ├── tasks
│ │ ├── base.yml
│ │ ├── _grant_image_puller.yml
│ │ ├── main.yml
│ │ └── _stage.yml
│ ├── templates
│ │ ├── buildConfig.yml.j2
│ │ ├── imageStream.yml.j2
│ │ ├── roleBinding.yml.j2
│ │ └── role.yml.j2
│ └── vars
│ └── main.yml
├── playbook.retry
└── playbook.yml
An strace shows that it is looking for roles/DistZilla, but refuses to look for roles/distzilla, though this doesn't appear to be a problem for other users of ansible. It seems to get past this error if I force the role to be lowercase in the playbook.yml, but, in theory, it should be able to accept the Pascal Case just fine.
I've tried with python 2.7.15 and 3.7.3. I've tried with and without the basic config file. Tried with and without a host file. Tried with and without '-c local'. I've even added a bunch of debugging prints to ansible/playbook/role/definition.py _load_role_path, but haven't seen any obvious cause.
Any insight with regards to how ansible-playbook interprets roles and looks for the path is greatly welcome.