aruba / aos-switch-ansible-collection

Ansible collection for AOS-Switch switches
66 stars 17 forks source link

ImportError issue using api based module with collection #1

Closed craigers521 closed 4 years ago

craigers521 commented 4 years ago

SUMMARY

when trying to use any of the api based modules (ex arubaoss_vlan, arubaoss_user) the ansible playbook fails with a Module Error. No module found named ansible.utils.

ANSIBLE VERSION

ansible 2.9.11
  config file = /Users/cse015/.ansible.cfg
  configured module search path = ['/Users/cse015/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.8/site-packages/ansible
  executable location = /usr/local/bin/ansible
  python version = 3.8.5 (default, Jul 21 2020, 10:48:26) [Clang 11.0.3 (clang-1103.0.32.62)]

CONFIGURATION

[defaults]
host_key_checking = False
interpreter_python = /usr/bin/python3
NETWORK_GROUP_MODULES=arubaoss

OS/ENVIRONMENT

ansible==2.9.11
bcrypt==3.1.7
cffi==1.14.1
cryptography==3.0
Jinja2==2.11.2
MarkupSafe==1.1.1
paramiko==2.7.1
pycparser==2.20
PyNaCl==1.4.0
PyYAML==5.3.1
six==1.15.0

switch version:

Image stamp:    /ws/swbuildm/ajanta_qt_qaoff/code/build/bom(swbuildm_ajanta_qt_qaoff_ajanta_qt)
                Apr 17 2020 04:39:13
                KB.16.10.0007
                420
Boot Image:     Primary

Boot ROM Version:    KB.16.01.0008
Active Boot ROM:     Primary

STEPS TO REPRODUCE

run a playbook that looks like this:

---

- name: Aruba Switch Collection 3820 API test
  hosts: a3820sw1
  collections:
    - arubanetworks.aos_switch
  tasks:

    - name: Test API connection to 3820 to add user
      arubaoss_user:
        user_name: test_user
        user_password: test_user
        user_type: UT_OPERATOR
        password_type: PET_PLAIN_TEXT

EXPECTED RESULTS

connect to switch without error

ACTUAL RESULTS

The full traceback is:
Traceback (most recent call last):
  File "/var/folders/p3/ncsky8252f3d1gm_jr299mf00000gp/T/ansible_arubaoss_user_payload_pg9q8bpa/ansible_arubaoss_user_payload.zip/ansible_collections/arubanetworks/aos_switch/plugins/module_utils/arubaoss.py", line 42, in <module>
ImportError: cannot import name 'display' from '__main__' (/var/folders/p3/ncsky8252f3d1gm_jr299mf00000gp/T/ansible_arubaoss_user_payload_pg9q8bpa/ansible_arubaoss_user_payload.zip/ansible_collections/arubanetworks/aos_switch/plugins/modules/arubaoss_user.py)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/cse015/.ansible/tmp/ansible-tmp-1597283016.811591-72264-165684147574953/AnsiballZ_arubaoss_user.py", line 102, in <module>
    _ansiballz_main()
  File "/Users/cse015/.ansible/tmp/ansible-tmp-1597283016.811591-72264-165684147574953/AnsiballZ_arubaoss_user.py", line 94, in _ansiballz_main
    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)
  File "/Users/cse015/.ansible/tmp/ansible-tmp-1597283016.811591-72264-165684147574953/AnsiballZ_arubaoss_user.py", line 40, in invoke_module
    runpy.run_module(mod_name='ansible_collections.arubanetworks.aos_switch.plugins.modules.arubaoss_user', init_globals=None, run_name='__main__', alter_sys=True)
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/runpy.py", line 206, in run_module
    return _run_module_code(code, init_globals, run_name, mod_spec)
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/runpy.py", line 96, in _run_module_code
    _run_code(code, mod_globals, init_globals,
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/var/folders/p3/ncsky8252f3d1gm_jr299mf00000gp/T/ansible_arubaoss_user_payload_pg9q8bpa/ansible_arubaoss_user_payload.zip/ansible_collections/arubanetworks/aos_switch/plugins/modules/arubaoss_user.py", line 93, in <module>
  File "<frozen zipimport>", line 259, in load_module
  File "/var/folders/p3/ncsky8252f3d1gm_jr299mf00000gp/T/ansible_arubaoss_user_payload_pg9q8bpa/ansible_arubaoss_user_payload.zip/ansible_collections/arubanetworks/aos_switch/plugins/module_utils/arubaoss.py", line 44, in <module>
ModuleNotFoundError: No module named 'ansible.utils'
fatal: [nhqcl3198sw1]: FAILED! => {
    "changed": false,
    "module_stderr": "Traceback (most recent call last):\n  File \"/var/folders/p3/ncsky8252f3d1gm_jr299mf00000gp/T/ansible_arubaoss_user_payload_pg9q8bpa/ansible_arubaoss_user_payload.zip/ansible_collections/arubanetworks/aos_switch/plugins/module_utils/arubaoss.py\", line 42, in <module>\nImportError: cannot import name 'display' from '__main__' (/var/folders/p3/ncsky8252f3d1gm_jr299mf00000gp/T/ansible_arubaoss_user_payload_pg9q8bpa/ansible_arubaoss_user_payload.zip/ansible_collections/arubanetworks/aos_switch/plugins/modules/arubaoss_user.py)\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n  File \"/Users/cse015/.ansible/tmp/ansible-tmp-1597283016.811591-72264-165684147574953/AnsiballZ_arubaoss_user.py\", line 102, in <module>\n    _ansiballz_main()\n  File \"/Users/cse015/.ansible/tmp/ansible-tmp-1597283016.811591-72264-165684147574953/AnsiballZ_arubaoss_user.py\", line 94, in _ansiballz_main\n    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n  File \"/Users/cse015/.ansible/tmp/ansible-tmp-1597283016.811591-72264-165684147574953/AnsiballZ_arubaoss_user.py\", line 40, in invoke_module\n    runpy.run_module(mod_name='ansible_collections.arubanetworks.aos_switch.plugins.modules.arubaoss_user', init_globals=None, run_name='__main__', alter_sys=True)\n  File \"/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/runpy.py\", line 206, in run_module\n    return _run_module_code(code, init_globals, run_name, mod_spec)\n  File \"/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/runpy.py\", line 96, in _run_module_code\n    _run_code(code, mod_globals, init_globals,\n  File \"/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/runpy.py\", line 86, in _run_code\n    exec(code, run_globals)\n  File \"/var/folders/p3/ncsky8252f3d1gm_jr299mf00000gp/T/ansible_arubaoss_user_payload_pg9q8bpa/ansible_arubaoss_user_payload.zip/ansible_collections/arubanetworks/aos_switch/plugins/modules/arubaoss_user.py\", line 93, in <module>\n  File \"<frozen zipimport>\", line 259, in load_module\n  File \"/var/folders/p3/ncsky8252f3d1gm_jr299mf00000gp/T/ansible_arubaoss_user_payload_pg9q8bpa/ansible_arubaoss_user_payload.zip/ansible_collections/arubanetworks/aos_switch/plugins/module_utils/arubaoss.py\", line 44, in <module>\nModuleNotFoundError: No module named 'ansible.utils'\n",
    "module_stdout": "",
    "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
    "rc": 1
}
craigers521 commented 4 years ago

Had a problem with the interpreter specified in global config. Specifying interpreter in group vars resolved the issue.