Hi All
I've got a strange issue which I'm hoping somebody might be able to help
with. Technically it relates to AWX so I hope I'm not too off topic posting
here.
I'm adding some of my Ansible playbooks into AWX, using Azure DevOps as a
back end git repo, but I've found after converting them into a more role
based structure that certain playbooks seem to be invisible within the
Playbook selection option in AWX Job Templates. This appears to depend on
where they are located within the directory structure.
The primary issue is that I am unable to specify and execute any playbooks
directly from the tasks subdirectory - my intention was to use
tasks/main.yml as list of import_tasks referencing the other playbooks in
that directory.
I used ansible-galaxy init role to generate a standard template, added it
to the repo, but I discovered that after uploading and syncing only the
template file located in tests/test.yml was visible initially (including
any of the main.yml template files automatically generated), and any files
located in the tasks subdirectory were unavailable for selection. When I
started adding my own playbook files these are also unavailable in AWX.
If I try to type in the path and filename manually, I get an error that
states "Playbook not found for project." when I try to save the project.
Steps taken:
1. The Project has been synced with the repo countless times.
2. I know that some syntax checking is performed by AWX on YML files, but
I've tested using the following basic template, and if I create a test YMl
file in the root directory, or either tests/, defaults/ or handlers/ AWX
**can** see it, so this should rule the file contents out. If however I
place it in tasks, or another randomly named (e.g. roles, blahblahtest)
subdirectory it's not picked up by AWX.
- name: Alma Linux VM Post Deployment Tasks\
hosts: all
become: yes
3. I've also checked file permissions at a command line level and there are
no irregularities.
It seems as though there is some kind of restriction on accessing certain
directories.
Here's a full rundown of the directory structure showing which files are
visible for selection by AWX. All files marked as VISIBLE or INVISIBLE have
the same contents, and any other files other than Jinja templates have
valid YML/Ansible syntax but are also not seen by AWX.
root@dcbutlawx03:/awx/projects/_126__common_alma_linux# tree
.
├── defaults
│ └── main.yml (VISIBLE)
├── handlers
│ └── main.yml (VISIBLE)
├── main.yml (VISIBLE)
├── meta
│ └── main.yml
├── README.md
├── tasks
│ ├── dca-alma-ad.yml
│ ├── install-graylog-agent.yml
│ ├── install-zabbix-agent.yml
│ ├── main.yml (INVISIBLE - SAME CONTENTS!)
│ ├── playbook.yml
│ ├── post-vmdeploy-tasks.yml
│ ├── testtest.yml (INVISIBLE - SAME CONTENTS!)
│ └── test.yml (INVISIBLE - SAME CONTENTS!)
├── templates
│ └── alma-ad
│ ├── krb5.conf.j2
│ ├── smb.conf.j2
│ ├── sshd_config.j2
│ ├── sssd.conf.j2
│ └── zts_sudoers.j2
├── tests
│ ├── inventory
│ ├── playbook.yml (VISIBLE)
│ └── test.yml (VISIBLE)
└── vars
├── dca-alma-ad
│ └── dca-vars.yml
├── main.yml
└── tf-alma-ad
└── tf-vars.yml
The AWX server belongs to my workplace, but it seems unlikely they would be
randomly imposing idiosyncratic restrictions such as this, if it's even
possible to do. The person who built the server and wrote most of the
existing playbooks is no longer with the company, so there's knowledge gap
in this area amongst current employees.
I could technically use a main.yml or similar file from the root directory,
but I believe this is against guidelines, and I will be shortly looking to
create a product based master repo containing multi roles that share common
group variables etc, so this would only be a short term fix.
I've looked for log files on the server to try to cross reference the above
error, but neither of the following directories exist, which seems to be
where they are usually located.
/var/log/tower/
/var/log/supervisor/
Does anybody have any ideas what the issue could be, or where I could go
next in terms of troubleshooting steps?
Thanks in advance.
Alex
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/a24fe293-6d81-4dba-8e17-79cf0d69084an%40googlegroups.com.