ansible-collections / ansible-collections/cloud.common
“Turbo” server clobbers `PYTHONPATH`
- Dominant language
- Python
- Stars
- 19
- Forks
- 28
- PR merge metrics
- No merged PRs in 30d
Description
##### SUMMARY
##### ISSUE TYPE
- Bug Report
##### COMPONENT NAME
cloud.common
##### ANSIBLE VERSION
```
ansible [core 2.13.11]
config file = /Users/quatrava/.ansible.cfg
configured module search path = ['/Users/quatrava/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /Users/quatrava/Dev/ops/xaasible-ops/ansible-deps-cache/python-libs/lib/python/site-packages/ansible
ansible collection location = /Users/quatrava/Dev/ops/xaasible-ops/ansible-deps-cache
executable location = /Users/quatrava/Dev/ops/xaasible-ops/ansible-deps-cache/python-libs/bin/ansible
python version = 3.11.4 (main, Jun 20 2023, 16:59:59) [Clang 14.0.3 (clang-1403.0.22.14.1)]
jinja version = 3.1.2
libyaml = True
```
##### COLLECTION VERSION
```
# /Users/quatrava/Dev/ops/xaasible-ops/ansible-deps-cache/python-libs/lib/python/site-packages/ansible_collections
Collection Version
----------------------------- -------
amazon.aws 3.4.0
ansible.netcommon 3.1.0
ansible.posix 1.4.0
ansible.utils 2.6.1
ansible.windows 1.11.0
arista.eos 5.0.1
awx.awx 21.4.0
azure.azcollection 1.13.0
check_point.mgmt 2.3.0
chocolatey.chocolatey 1.3.0
cisco.aci 2.2.0
cisco.asa 3.1.0
cisco.dnac 6.5.3
cisco.intersight 1.0.19
cisco.ios 3.3.0
cisco.iosxr 3.3.0
cisco.ise 2.5.0
cisco.meraki 2.10.1
cisco.mso 2.0.0
cisco.nso 1.0.3
cisco.nxos 3.1.0
cisco.ucs 1.8.0
cloud.common 2.1.2
cloudscale_ch.cloud 2.2.2
community.aws 3.5.0
community.azure 1.1.0
community.ciscosmb 1.0.5
community.crypto 2.5.0
community.digitalocean 1.21.0
community.dns 2.3.1
community.docker 2.7.1
community.fortios 1.0.0
community.general 5.5.0
community.google 1.0.0
community.grafana 1.5.2
community.hashi_vault 3.2.0
community.hrobot 1.5.2
community.libvirt 1.2.0
community.mongodb 1.4.2
community.mysql 3.4.0
community.network 4.0.1
community.okd 2.2.0
community.postgresql 2.2.0
community.proxysql 1.4.0
community.rabbitmq 1.2.2
community.routeros 2.2.1
community.sap 1.0.0
community.sap_libs 1.2.0
community.skydive 1.0.0
community.sops 1.3.0
community.vmware 2.8.0
community.windows 1.11.0
community.zabbix 1.8.0
containers.podman 1.9.4
cyberark.conjur 1.1.0
cyberark.pas 1.0.14
dellemc.enterprise_sonic 1.1.1
dellemc.openmanage 5.5.0
dellemc.os10 1.1.1
dellemc.os6 1.0.7
dellemc.os9 1.0.4
f5networks.f5_modules 1.19.0
fortinet.fortimanager 2.1.5
fortinet.fortios 2.1.7
frr.frr 2.0.0
gluster.gluster 1.0.2
google.cloud 1.0.2
hetzner.hcloud 1.8.1
hpe.nimble 1.1.4
ibm.qradar 2.0.0
ibm.spectrum_virtualize 1.9.0
infinidat.infinibox 1.3.3
infoblox.nios_modules 1.3.0
inspur.sm 2.0.0
junipernetworks.junos 3.1.0
kubernetes.core 2.3.2
mellanox.onyx 1.0.0
netapp.aws 21.7.0
netapp.azure 21.10.0
netapp.cloudmanager 21.19.0
netapp.elementsw 21.7.0
netapp.ontap 21.22.0
netapp.storagegrid 21.10.0
netapp.um_info 21.8.0
netapp_eseries.santricity 1.3.1
netbox.netbox 3.7.1
ngine_io.cloudstack 2.2.4
ngine_io.exoscale 1.0.0
ngine_io.vultr 1.1.2
openstack.cloud 1.8.0
openvswitch.openvswitch 2.1.0
ovirt.ovirt 2.2.3
purestorage.flasharray 1.13.0
purestorage.flashblade 1.9.0
purestorage.fusion 1.0.2
sensu.sensu_go 1.13.1
servicenow.servicenow 1.0.6
splunk.es 2.0.0
t_systems_mms.icinga_director 1.31.0
theforeman.foreman 3.4.0
vmware.vmware_rest 2.2.0
vyos.vyos 3.0.1
wti.remote 1.0.4
# /Users/quatrava/Dev/ops/xaasible-ops/ansible-deps-cache/ansible_collections
Collection Version
------------------ -------
ansible.posix 1.5.4
cloud.common 2.1.4
kubernetes.core 2.4.0
vmware.vmware_rest 2.3.1
```
##### CONFIGURATION
```paste below
```
##### OS / ENVIRONMENT
##### STEPS TO REPRODUCE
1. Run Ansible with PYTHONPATH set (e.g. out of a virtualenv)
2. Ensure that one of the requirements e.g. `aiohttp` is installed within the PYTHONPATH, but *not* globally
3. Run any task that relies on `cloud.common.plugins.module_utils.turbo`, such as [`vmware.vmware_rest.content_locallibrary`](https://docs.ansible.com/ansible/latest/collections/vmware/vmware_rest/content_locallibrary_module.html)
##### EXPECTED RESULTS
The task should succeed, or complain about bad parameters, or SSL verification for my phony setup, or something.
##### ACTUAL RESULTS
```
fatal: [vsphere-test]: FAILED! => {"changed": false, "msg": "Failed to import the required Python library (aiohttp) on SCXMACQUATRAVAUXD's Python /usr/local/Cellar/python@3.11/3.11.4_1/bin/python3.11. 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"}
```
Contributor guide
Research direction
Start at cloud.common.plugins.module_utils.turbo and reproduce the failure using PYTHONPATH with aiohttp installed only in that environment. Compare the task using vmware.vmware_rest.content_locallibrary with the expected behavior; done means the task can find the library from PYTHONPATH instead of reporting it missing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cloud
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100