I am creating a custom AWX Execution Environment. I had a working image before, but needed to update it with some new requirements so I had to create a new image. Upon creating that new image my playbook failed on a task calling vmware_cluster_info. This task worked before so i went through and looked at every system/python package and ansible collection version that changed and tried the old ones one by one to find the one causing the issue.
I believe the perpetrator is openssl. The know working image used openssl-1:3.0.7-24.el9.x86_64 but the new version uses openssl-1:3.0.7-25.el9.x86_64.
Looking up the output on a DNF search these are the versions available:
[root@6b2b335bc34b bin]# dnf list openssl --showduplicates
Last metadata expiration check: 0:13:41 ago on Thu Feb 22 05:49:59 2024.
Installed Packages
openssl.x86_64 1:3.0.7-25.el9 @System
Available Packages
openssl.x86_64 1:3.0.7-19.el9 baseos
openssl.x86_64 1:3.0.7-20.el9 baseos
openssl.x86_64 1:3.0.7-21.el9 baseos
openssl.x86_64 1:3.0.7-24.el9 baseos
openssl.x86_64 1:3.0.7-25.el9 baseos
I need to force the older version when building my image to test out, so i assume i need the entire number listed above. For the bindep document i see that i have to use the == operator to define the version number. I learned that there must be a space between the package name and the operator. After trying this entry it failed as it did not like the colon, and failed during the build:
openssl ==1:3.0.7-24.el9
I then tried removing the "1:" as i read that is the epoch and not necessarily used, but that could entirely be wrong. So i tried the following entry in the bindep file:
openssl ==3.0.7-24.el9
This worked and finished the build, however, instead of installing 1:3.0.7-24.el9 it installed the latest version 1:3.0.7-25.el9.
I am not familiar with DNF at all, and I am not a fan of the versioning of packages. Any help would be greatly appreciated as i cannot find any documentation on bindep and how to force a certain version aside from this bindep doc