-
Feature Request
-
Resolution: Unresolved
-
Normal
-
None
-
2.4
-
False
-
-
False
Description
Python requirements for the supported EE needs a refresh.
Customer's Explanation
As part of our proof of concept project, we've set up a Ansible Automation Plattform 2.4 with Private Automation Hub. When trying to receive informations about an Azure Key Vault using the certified collection's "azure.azcollection" module "azure_rm_keyvault_info" an error about missing Python packages is shown up:
"msg": "Failed to import the required Python library (ansible[azure] (azure >= 2.0.0)) on XXXXX's Python /usr/bin/python3. Please read the module documentation and install it in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter",
For us it seems like several required packages are missing at the execution environment, see "[#https://github.com/ansible-collections/azure/blob/v2.2.0/requirements-azure.txt]".
We're are aware of building our own images but shouldn't all requirements for certified collections be part of the ee-supported-rhel*? Isn't being able to use the supported execution environment images provided by Red Hat one of the selling points of the Automation Plattform?
To be able to use the supported execution environments without having headaches by building own images is essential to the customer and has heavy weight for its purchase decision. So could you please tell us, why we aren't able to use the certified collection with the supported execution environment?
For us, Azure seems like a general purpose, not a super special, use case. Red Hat seems to think the same, because during exploring the installed Python dependencies at "ee-supported-rhel8" and even "ee-supported-rhel9" via ansible-navigator we've found nearly every single requirement for the Azure collection. Unfortunately, the versions of these out-of-the-box installed requirements don't match the versions required by the collection.
We've also digged deeper: Microsoft merged several Python packages to the "azure-storage-blob", see GitHub Issue #10099 from Azure/azure-sdk-for-python in 2020 or earlier. At the supported EE there is just "azure-storage" present, the required "azure-storage-blob" is missing.
After generating a custom EE based on "ee-minimal-rhel9" that included all Python packages from the requirements-azure.txt (see GitHub) the Azure Key Vault lookup works fine.
In conclusion: We think that the list of Python requirements for the supported EE needs a refresh, so that the Azure Collection works out of the box again - like it did till fall last year.