-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Description
Please confirm the following
- I agree to follow this project's code of conduct.
- I have checked the current issues for duplicates.
- I understand that AWX is open source software provided for free and that I might not receive a timely response.
- I am NOT reporting a (potential) security vulnerability. (These should be emailed to
[email protected]instead.)
Bug Summary
External execution node fails to connect on AWX 24.6.1 with "work type did not expect a signature" error.
AWX version
24.6.1
Select the relevant components
- UI
- UI (tech preview)
- API
- Docs
- Collection
- CLI
- Other
Installation method
kubernetes
Modifications
no
Ansible version
ansible [core 2.15.12]
config file = None
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/lib/python3.9/site-packages/ansible
ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/local/bin/ansible
python version = 3.9.19 (main, Jun 11 2024, 00:00:00) [GCC 11.4.1 20231218 (Red Hat 11.4.1-3)] (/usr/bin/python3)
jinja version = 3.1.4
libyaml = True
Operating system
linux
Web browser
No response
Steps to reproduce
- Deploy AWX 24.6.1 using AWX Operator 2.19.1.
- Generate an installer bundle for a new external execution node.
- Deploy the execution node on a separate host using the official quay.io/ansible/awx-ee:24.6.1 image and the generated bundle.
- Observe the connection logs on both the awx-task pod and the external node container.
Expected results
The external execution node should successfully connect to the AWX mesh, complete its health check, and become available in the AWX topology with a "Ready" status.
Actual results
The node enters a connect/disconnect loop. The connection is established, but the first health check from the awx-task pod fails.
The external node log shows: ERROR: work type did not expect a signature.
The awx-task pod log shows: Remote error: ERROR: could not parse response: ERROR: work type did not expect a signature.
Additional information
- The issue persists even after a full regeneration of the installer bundle.
- All TLS certificates, CAs, and work-signing keys have been verified and are correctly paired.
- Network connectivity via a Traefik reverse proxy using TLS passthrough has been confirmed working with openssl s_client.
- The configuration setting AWX_ENABLE_WORK_SIGNING does not appear to exist in this version, as attempts to check it in the Django shell result in an AttributeError.
- The issue seems to be a protocol incompatibility where the control plane signs a --worker-info health check command, and the receptor binary in the awx-ee image cannot process it.