ansible-collections / ansible-collections/cloud.common

“Turbo” server clobbers `PYTHONPATH`

Open
#136 3 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.