Open
Description
Summary
when running the following playbook from the controller, the dispatch role doesn't find the play variables:
---
- name: Private Hub Configuration as Code
hosts: localhost
connection: local
gather_facts: false
vars:
ah_validate_certs: false
ah_configuration_async_delay: 3
ah_namespaces:
- name: test_namespace
description: 'Test Namespace'
ah_ee_registries:
- name: registry.redhat.io
url: https://registry.redhat.io/
tasks:
- name: Run hub configuration dispatcher
ansible.builtin.include_role:
name: infra.ah_configuration.dispatch
...
the role conditionals are skipped because the dispatch role thinks they aren't set:
skipping: [aapdev0.example.org] => (item={'role': 'ee_registry', 'var': 'ah_ee_registries', 'tags': 'registries'}) => {
"__role": {
"role": "ee_registry",
"tags": "registries",
"var": "ah_ee_registries"
},
"ansible_loop_var": "__role",
"changed": false,
"false_condition": "hostvars[inventory_hostname][__role.var] is defined",
"skip_reason": "Conditional result was False"
}
skipping: [aapdev0.example.org] => (item={'role': 'namespace', 'var': 'ah_namespaces', 'tags': 'namespaces'}) => {
"__role": {
"role": "namespace",
"tags": "namespaces",
"var": "ah_namespaces"
},
"ansible_loop_var": "__role",
"changed": false,
"false_condition": "hostvars[inventory_hostname][__role.var] is defined",
"skip_reason": "Conditional result was False"
}
looking at the infra.controller_configuration.dispatch role, it looks for var[__role.var]
whereas infra.ah_configuration.dispatch looks for hostvars[inventory_hostname][__role.var]
. if i modify the hub dispatch role to use var[__role.var]
like the controller dispatch role, the playbook works without issue.
Issue Type
- Bug Report
Ansible, Collection, Private Automation Hub details
ansible --version
ansible [core 2.15.12]
config file = /etc/ansible/ansible.cfg
configured module search path = ['/runner/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3.9/site-packages/ansible
ansible collection location = /runner/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/bin/ansible
python version = 3.9.19 (main, May 16 2024, 08:45:40) [GCC 8.5.0 20210514 (Red Hat 8.5.0-22)] (/usr/bin/python3.9)
jinja version = 3.1.4
libyaml = True
ansible-galaxy collection list
# /usr/share/ansible/collections/ansible_collections
Collection Version
----------------------------------- -------
amazon.aws 8.1.0
ansible.controller 4.5.8
ansible.netcommon 7.0.0
ansible.posix 1.5.4
ansible.utils 5.0.0
ansible.windows 2.4.0
chocolatey.chocolatey 1.5.1
cisco.ios 9.0.0
cisco.iosxr 10.0.0
cisco.nxos 9.0.0
community.general 9.2.0
community.windows 2.2.0
containers.podman 1.15.4
infoblox.nios_modules 1.6.1
infra.ah_configuration 2.0.6
infra.controller_configuration 2.9.0
kubernetes.core 5.0.0
redhat.insights 1.3.0
redhat.openshift 4.0.0
redhat.openshift_virtualization 1.5.0
redhat.rhel_system_roles 1.23.0
redhat.satellite 4.0.0
redhat_cop.controller_configuration 2.3.1
Private Automation Hub version
automation-hub-4.7.3-1.el8ap.noarch (from the 2.4-2 containerized tech preview)
- ansible installation method: one of source, pip, OS package, EE
EE, from quay.io/acme_corp/product_demos_ee:latest