aruba / aruba-ansible-modules

Aruba Ansible Modules
Apache License 2.0
80 stars 36 forks source link

Playbook execution fails in venv #53

Closed brasswood closed 4 years ago

brasswood commented 4 years ago

I tried running one of the example playbooks on a test switch within a virtual environment and got the error No module named utils.display:

(.venv) username@ansible-controller:~/projects/ansible/archive/aruba-ansible-modules/example_playbooks/arubaoss$ ansible-playbo
ok system_attributes.yml -i switch_hosts.yml -vvv
ansible-playbook 2.8.6
  config file = None
  configured module search path = ['/home/username/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/username/projects/ansible/.venv/lib/python3.6/site-packages/ansible
  executable location = /home/username/projects/ansible/.venv/bin/ansible-playbook
  python version = 3.6.8 (default, Oct  7 2019, 12:59:55) [GCC 8.3.0]
No config file found; using defaults
host_list declined parsing /home/username/projects/ansible/archive/aruba-ansible-modules/example_playbooks/arubaoss/swit
ch_hosts.yml as it did not pass it's verify_file() method
script declined parsing /home/username/projects/ansible/archive/aruba-ansible-modules/example_playbooks/arubaoss/switch_
hosts.yml as it did not pass it's verify_file() method
Parsed /home/username/projects/ansible/archive/aruba-ansible-modules/example_playbooks/arubaoss/switch_hosts.yml invento
ry source with yaml plugin

PLAYBOOK: system_attributes.yml ****************************************************************************************
1 plays in system_attributes.yml

PLAY [switch1] *********************************************************************************************************

TASK [Gathering Facts] *************************************************************************************************
task path: /home/username/projects/ansible/archive/aruba-ansible-modules/example_playbooks/arubaoss/system_attributes.ym
l:2
<10.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: username
<10.0.0.1> EXEC /bin/sh -c 'echo ~username && sleep 0'
<10.0.0.1> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /home/username/.ansible/tmp/ansible-tmp-1572033180.9657285-26
6938989598041 `" && echo ansible-tmp-1572033180.9657285-266938989598041="` echo /home/username/.ansible/tmp/ansible-tmp-
1572033180.9657285-266938989598041 `" ) && sleep 0'
<switch1> Attempting python interpreter discovery
<10.0.0.1> EXEC /bin/sh -c 'echo PLATFORM; uname; echo FOUND; command -v '"'"'/usr/bin/python'"'"'; command -v '"'"'pyth
on3.7'"'"'; command -v '"'"'python3.6'"'"'; command -v '"'"'python3.5'"'"'; command -v '"'"'python2.7'"'"'; command -v '
"'"'python2.6'"'"'; command -v '"'"'/usr/libexec/platform-python'"'"'; command -v '"'"'/usr/bin/python3'"'"'; command -v
 '"'"'python'"'"'; echo ENDFOUND && sleep 0'
<10.0.0.1> EXEC /bin/sh -c '/usr/bin/python && sleep 0'
Using module file /home/username/projects/ansible/.venv/lib/python3.6/site-packages/ansible/modules/system/setup.py
<10.0.0.1> PUT /home/username/.ansible/tmp/ansible-local-1623ktfzpuub/tmponb0ysx9 TO /home/username/.ansible/tmp/ansible
-tmp-1572033180.9657285-266938989598041/AnsiballZ_setup.py
<10.0.0.1> EXEC /bin/sh -c 'chmod u+x /home/username/.ansible/tmp/ansible-tmp-1572033180.9657285-266938989598041/ /home/
username/.ansible/tmp/ansible-tmp-1572033180.9657285-266938989598041/AnsiballZ_setup.py && sleep 0'
<10.0.0.1> EXEC /bin/sh -c '/usr/bin/python /home/username/.ansible/tmp/ansible-tmp-1572033180.9657285-266938989598041/A
nsiballZ_setup.py && sleep 0'
<10.0.0.1> EXEC /bin/sh -c 'rm -f -r /home/username/.ansible/tmp/ansible-tmp-1572033180.9657285-266938989598041/ > /dev/
null 2>&1 && sleep 0'
ok: [switch1]
META: ran handlers

TASK [Update Switch System Attributes] *********************************************************************************
task path: /home/username/projects/ansible/archive/aruba-ansible-modules/example_playbooks/arubaoss/system_attributes.ym
l:4
<10.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: username
<10.0.0.1> EXEC /bin/sh -c 'echo ~username && sleep 0'
<10.0.0.1> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /home/username/.ansible/tmp/ansible-tmp-1572033184.863418-263
559006300412 `" && echo ansible-tmp-1572033184.863418-263559006300412="` echo /home/username/.ansible/tmp/ansible-tmp-15
72033184.863418-263559006300412 `" ) && sleep 0'
Using module file /home/username/projects/ansible/.venv/lib/python3.6/site-packages/ansible/modules/network/arubaoss/aru
baoss_system_attributes.py
<10.0.0.1> PUT /home/username/.ansible/tmp/ansible-local-1623ktfzpuub/tmpvcut0t14 TO /home/username/.ansible/tmp/ansible
-tmp-1572033184.863418-263559006300412/AnsiballZ_arubaoss_system_attributes.py
<10.0.0.1> EXEC /bin/sh -c 'chmod u+x /home/username/.ansible/tmp/ansible-tmp-1572033184.863418-263559006300412/ /home/a
401r833/.ansible/tmp/ansible-tmp-1572033184.863418-263559006300412/AnsiballZ_arubaoss_system_attributes.py && sleep 0'
<10.0.0.1> EXEC /bin/sh -c '/usr/bin/python /home/username/.ansible/tmp/ansible-tmp-1572033184.863418-263559006300412/An
siballZ_arubaoss_system_attributes.py && sleep 0'
<10.0.0.1> EXEC /bin/sh -c 'rm -f -r /home/username/.ansible/tmp/ansible-tmp-1572033184.863418-263559006300412/ > /dev/n
ull 2>&1 && sleep 0'
The full traceback is:
Traceback (most recent call last):
  File "/home/username/.ansible/tmp/ansible-tmp-1572033184.863418-263559006300412/AnsiballZ_arubaoss_system_attributes.p
y", line 114, in <module>
    _ansiballz_main()
  File "/home/username/.ansible/tmp/ansible-tmp-1572033184.863418-263559006300412/AnsiballZ_arubaoss_system_attributes.p
y", line 106, in _ansiballz_main
    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)
  File "/home/username/.ansible/tmp/ansible-tmp-1572033184.863418-263559006300412/AnsiballZ_arubaoss_system_attributes.p
y", line 49, in invoke_module
    imp.load_module('__main__', mod, module, MOD_DESC)
  File "/tmp/ansible_arubaoss_system_attributes_payload_9URi0r/__main__.py", line 87, in <module>
  File "/tmp/ansible_arubaoss_system_attributes_payload_9URi0r/ansible_arubaoss_system_attributes_payload.zip/ansible/mo
dule_utils/network/arubaoss/arubaoss.py", line 43, in <module>
ImportError: No module named utils.display

fatal: [switch1]: FAILED! => {
    "changed": false,
    "module_stderr": "Traceback (most recent call last):\n  File \"/home/username/.ansible/tmp/ansible-tmp-1572033184.86
3418-263559006300412/AnsiballZ_arubaoss_system_attributes.py\", line 114, in <module>\n    _ansiballz_main()\n  File \"/
home/username/.ansible/tmp/ansible-tmp-1572033184.863418-263559006300412/AnsiballZ_arubaoss_system_attributes.py\", line
 106, in _ansiballz_main\n    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n  File \"/home/username/.ansible/t
mp/ansible-tmp-1572033184.863418-263559006300412/AnsiballZ_arubaoss_system_attributes.py\", line 49, in invoke_module\n
   imp.load_module('__main__', mod, module, MOD_DESC)\n  File \"/tmp/ansible_arubaoss_system_attributes_payload_9URi0r/_
_main__.py\", line 87, in <module>\n  File \"/tmp/ansible_arubaoss_system_attributes_payload_9URi0r/ansible_arubaoss_sys
tem_attributes_payload.zip/ansible/module_utils/network/arubaoss/arubaoss.py\", line 43, in <module>\nImportError: No mo
dule named utils.display\n",
    "module_stdout": "",
    "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
    "rc": 1
}

PLAY RECAP *************************************************************************************************************
switch1                    : ok=1    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0

Here is my ansible --version:

(.venv) username@ansible-controller:~/projects/ansible/archive/aruba-ansible-modules/example_playbooks/arubaoss$ ansible --vers
ion
ansible 2.8.6
  config file = None
  configured module search path = ['/home/username/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/username/projects/ansible/.venv/lib/python3.6/site-packages/ansible
  executable location = /home/username/projects/ansible/.venv/bin/ansible
  python version = 3.6.8 (default, Oct  7 2019, 12:59:55) [GCC 8.3.0]

I would greatly appreciate any help in understanding this error.

brasswood commented 4 years ago

Fixed by adding the line: ansible_python_interpreter: /home/username/projects/ansible/.venv/bin/python to switch_hosts.yml.