You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 security@ansible.com instead.)
Bug Summary
If using branch-based jobs, with branch-based inventory, the should_update_again check can be incorrect.
If two jobs using different branches are triggered in relatively quick succession, and the later job checks to see if it needs to do its inventory update while the first job's inventory update is running, then should_update_again will return False, even though the inventory source may well have changed.
The easiest workaround is to just patch should_update_again to return True, but the proper fix is probably to check whether the task revisions are identical.
Note that this is related, but independent of #14101
AWX version
24.0.0
Select the relevant components
UI
UI (tech preview)
API
Docs
Collection
CLI
Other
Installation method
kubernetes
Modifications
yes
Ansible version
No response
Operating system
No response
Web browser
No response
Steps to reproduce
It's definitely tricky to reproduce as it's a race condition, preferably with a really long inventory update job (ours is about a minute) so that the second job doesn't run an inventory update
Run a task with one revision that one inventory
Run a second task shortly afterwards with a revision that leads to an observably different inventory
If this bug is hit, then the second task will not have its inventory update performed (this can be validated in the logs)
Expected results
We expect to see an inventory update run when the revision of the task is different in both tasks (otherwise the second task runs with the inventory of the first task which may be using an older or newer inventory)
Actual results
The second task ran with the inventory of the first task, no second inventory update happened
Additional information
We use helm to deploy awx rather than the operator, but the key problem with this is the should_update_again function, which is unchanged by our deployment methodology
The text was updated successfully, but these errors were encountered:
Please confirm the following
security@ansible.com
instead.)Bug Summary
If using branch-based jobs, with branch-based inventory, the
should_update_again
check can be incorrect.If two jobs using different branches are triggered in relatively quick succession, and the later job checks to see if it needs to do its inventory update while the first job's inventory update is running, then
should_update_again
will return False, even though the inventory source may well have changed.The easiest workaround is to just patch
should_update_again
to return True, but the proper fix is probably to check whether the task revisions are identical.Note that this is related, but independent of #14101
AWX version
24.0.0
Select the relevant components
Installation method
kubernetes
Modifications
yes
Ansible version
No response
Operating system
No response
Web browser
No response
Steps to reproduce
It's definitely tricky to reproduce as it's a race condition, preferably with a really long inventory update job (ours is about a minute) so that the second job doesn't run an inventory update
Run a task with one revision that one inventory
Run a second task shortly afterwards with a revision that leads to an observably different inventory
If this bug is hit, then the second task will not have its inventory update performed (this can be validated in the logs)
Expected results
We expect to see an inventory update run when the revision of the task is different in both tasks (otherwise the second task runs with the inventory of the first task which may be using an older or newer inventory)
Actual results
The second task ran with the inventory of the first task, no second inventory update happened
Additional information
We use helm to deploy awx rather than the operator, but the key problem with this is the
should_update_again
function, which is unchanged by our deployment methodologyThe text was updated successfully, but these errors were encountered: