Closed antonio-guillen closed 1 year ago
Hi @antonio-guillen ,
I can see that you have both hpOneView, and hpeOneView installed. And it looks like you are using the old one which is hpOneView. It is deprecated now. And we are using hpeOneView now. Please remove the hpOneView and try again.
Thanks
If I not install it, it fails:
terraspin@debug-vlans-l6k6f:~$ pip list | grep hp
hpeOneView 8.3.0
hpICsp 1.0.2
hpOneView 5.3.0
terraspin@debug-vlans-l6k6f:~$ pip uninstall hpOneView
Found existing installation: hpOneView 5.3.0
Uninstalling hpOneView-5.3.0:
Would remove:
/home/terraspin/.local/lib/python3.9/site-packages/hpOneView-5.3.0.dist-info/*
/home/terraspin/.local/lib/python3.9/site-packages/hpOneView/*
Proceed (y/n)? y
Successfully uninstalled hpOneView-5.3.0
terraspin@debug-vlans-l6k6f:~$ pip list | grep hp
hpeOneView 8.3.0
hpICsp 1.0.2
terraspin@debug-vlans-l6k6f:~$ ansible-playbook deploy-vlans.yml
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that
the implicit localhost does not match 'all'
PLAY [Playbook] *******************************************************************
TASK [Gathering Facts] ************************************************************
ok: [localhost]
TASK [OneView: Get network set info from HPE OneView] ****************************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: ModuleNotFoundError: No module named 'hpOneView'
fatal: [localhost]: FAILED! => {"changed": false, "msg": "Failed to import the required Python library (hpOneView) on debug-vlans-l6k6f'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"}
PLAY RECAP ************************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0
terraspin@debug-vlans-l6k6f:~$
Hi @antonio-guillen Please make sure you are using latest oneview ansible collection and the same is installed to /home/username/.ansible/collections/ansible_collections/hpe/oneview . Also please provide us the with the full traceback of you run by running it with -vvv option.
About hpe oneview versions:
8.3.0
: https://galaxy.ansible.com/hpe/oneviewhpe.oneview:8.3.0
with checksum 5299c13ac6f970aaa193b1648a8d1c6fb3db035815117ea7f39239e377e81cf4
Evidence:
terraspin@debug-vlans-l6k6f:~$ ansible-galaxy collection verify hpe.oneview
Downloading https://galaxy.ansible.com/download/hpe-oneview-8.3.0.tar.gz to /home/terraspin/.ansible/tmp/ansible-local-2512v07xqqbx/tmpkpga57i_/hpe-oneview-8.3.0-v05trx_k
Verifying 'hpe.oneview:8.3.0'.
Installed collection found at '/home/terraspin/.ansible/collections/ansible_collections/hpe/oneview'
MANIFEST.json hash: 5299c13ac6f970aaa193b1648a8d1c6fb3db035815117ea7f39239e377e81cf4
Successfully verified that checksums for 'hpe.oneview:8.3.0' match the remote collection.
terraspin@debug-vlans-l6k6f:~$
Ansible execution full log in debug:
terraspin@debug-vlans-l6k6f:~$ ansible-playbook deploy-vlans.yml -vvvvvvvv
ansible-playbook [core 2.14.4]
config file = None
configured module search path = ['/home/terraspin/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/lib/python3.9/dist-packages/ansible
ansible collection location = /home/terraspin/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/local/bin/ansible-playbook
python version = 3.9.2 (default, Feb 28 2021, 17:03:44) [GCC 10.2.1 20210110] (/usr/bin/python3)
jinja version = 3.1.2
libyaml = True
No config file found; using defaults
setting up inventory plugins
host_list declined parsing /etc/ansible/hosts as it did not pass its verify_file() method
Skipping due to inventory source not existing or not being readable by the current user
script declined parsing /etc/ansible/hosts as it did not pass its verify_file() method
auto declined parsing /etc/ansible/hosts as it did not pass its verify_file() method
Skipping due to inventory source not existing or not being readable by the current user
yaml declined parsing /etc/ansible/hosts as it did not pass its verify_file() method
Skipping due to inventory source not existing or not being readable by the current user
ini declined parsing /etc/ansible/hosts as it did not pass its verify_file() method
Skipping due to inventory source not existing or not being readable by the current user
toml declined parsing /etc/ansible/hosts as it did not pass its verify_file() method
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that
the implicit localhost does not match 'all'
Loading collection community.general from /usr/local/lib/python3.9/dist-packages/ansible_collections/community/general
Loading callback plugin default of type stdout, v2.0 from /usr/local/lib/python3.9/dist-packages/ansible/plugins/callback/default.py
Attempting to use 'default' callback.
Skipping callback 'default', as we already have a stdout callback.
Attempting to use 'junit' callback.
Attempting to use 'minimal' callback.
Skipping callback 'minimal', as we already have a stdout callback.
Attempting to use 'oneline' callback.
Skipping callback 'oneline', as we already have a stdout callback.
Attempting to use 'tree' callback.
PLAYBOOK: deploy-vlans.yml ********************************************************
Positional arguments: deploy-vlans.yml
verbosity: 8
connection: smart
timeout: 10
become_method: sudo
tags: ('all',)
inventory: ('/etc/ansible/hosts',)
forks: 5
1 plays in deploy-vlans.yml
PLAY [Playbook] *******************************************************************
TASK [Gathering Facts] ************************************************************
task path: /home/terraspin/deploy-vlans.yml:22
<127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: terraspin
<127.0.0.1> EXEC /bin/sh -c 'echo ~terraspin && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /home/terraspin/.ansible/tmp `"&& mkdir "` echo /home/terraspin/.ansible/tmp/ansible-tmp-1684913717.1496649-2519-42607158245307 `" && echo ansible-tmp-1684913717.1496649-2519-42607158245307="` echo /home/terraspin/.ansible/tmp/ansible-tmp-1684913717.1496649-2519-42607158245307 `" ) && sleep 0'
Including module_utils file ansible/__init__.py
Including module_utils file ansible/module_utils/__init__.py
Including module_utils file ansible/module_utils/_text.py
Including module_utils file ansible/module_utils/basic.py
Including module_utils file ansible/module_utils/common/_collections_compat.py
Including module_utils file ansible/module_utils/common/__init__.py
Including module_utils file ansible/module_utils/common/_json_compat.py
Including module_utils file ansible/module_utils/common/_utils.py
Including module_utils file ansible/module_utils/common/arg_spec.py
Including module_utils file ansible/module_utils/common/file.py
Including module_utils file ansible/module_utils/common/locale.py
Including module_utils file ansible/module_utils/common/parameters.py
Including module_utils file ansible/module_utils/common/collections.py
Including module_utils file ansible/module_utils/common/process.py
Including module_utils file ansible/module_utils/common/sys_info.py
Including module_utils file ansible/module_utils/common/text/converters.py
Including module_utils file ansible/module_utils/common/text/__init__.py
Including module_utils file ansible/module_utils/common/text/formatters.py
Including module_utils file ansible/module_utils/common/validation.py
Including module_utils file ansible/module_utils/common/warnings.py
Including module_utils file ansible/module_utils/compat/selectors.py
Including module_utils file ansible/module_utils/compat/__init__.py
Including module_utils file ansible/module_utils/compat/_selectors2.py
Including module_utils file ansible/module_utils/compat/selinux.py
Including module_utils file ansible/module_utils/distro/__init__.py
Including module_utils file ansible/module_utils/distro/_distro.py
Including module_utils file ansible/module_utils/errors.py
Including module_utils file ansible/module_utils/facts/ansible_collector.py
Including module_utils file ansible/module_utils/compat/typing.py
Including module_utils file ansible/module_utils/facts/__init__.py
Including module_utils file ansible/module_utils/facts/collector.py
Including module_utils file ansible/module_utils/facts/compat.py
Including module_utils file ansible/module_utils/facts/default_collectors.py
Including module_utils file ansible/module_utils/facts/hardware/aix.py
Including module_utils file ansible/module_utils/facts/hardware/__init__.py
Including module_utils file ansible/module_utils/facts/hardware/base.py
Including module_utils file ansible/module_utils/facts/hardware/darwin.py
Including module_utils file ansible/module_utils/facts/hardware/dragonfly.py
Including module_utils file ansible/module_utils/facts/hardware/freebsd.py
Including module_utils file ansible/module_utils/facts/hardware/hpux.py
Including module_utils file ansible/module_utils/facts/hardware/hurd.py
Including module_utils file ansible/module_utils/facts/hardware/linux.py
Including module_utils file ansible/module_utils/facts/hardware/netbsd.py
Including module_utils file ansible/module_utils/facts/hardware/openbsd.py
Including module_utils file ansible/module_utils/facts/hardware/sunos.py
Including module_utils file ansible/module_utils/facts/namespace.py
Including module_utils file ansible/module_utils/facts/network/aix.py
Including module_utils file ansible/module_utils/facts/network/__init__.py
Including module_utils file ansible/module_utils/facts/network/base.py
Including module_utils file ansible/module_utils/facts/network/darwin.py
Including module_utils file ansible/module_utils/facts/network/dragonfly.py
Including module_utils file ansible/module_utils/facts/network/fc_wwn.py
Including module_utils file ansible/module_utils/facts/network/freebsd.py
Including module_utils file ansible/module_utils/facts/network/generic_bsd.py
Including module_utils file ansible/module_utils/facts/network/hpux.py
Including module_utils file ansible/module_utils/facts/network/hurd.py
Including module_utils file ansible/module_utils/facts/network/iscsi.py
Including module_utils file ansible/module_utils/facts/network/linux.py
Including module_utils file ansible/module_utils/facts/network/netbsd.py
Including module_utils file ansible/module_utils/facts/network/nvme.py
Including module_utils file ansible/module_utils/facts/network/openbsd.py
Including module_utils file ansible/module_utils/facts/network/sunos.py
Including module_utils file ansible/module_utils/facts/other/facter.py
Including module_utils file ansible/module_utils/facts/other/__init__.py
Including module_utils file ansible/module_utils/facts/other/ohai.py
Including module_utils file ansible/module_utils/facts/sysctl.py
Including module_utils file ansible/module_utils/facts/system/apparmor.py
Including module_utils file ansible/module_utils/facts/system/__init__.py
Including module_utils file ansible/module_utils/facts/system/caps.py
Including module_utils file ansible/module_utils/facts/system/chroot.py
Including module_utils file ansible/module_utils/facts/system/cmdline.py
Including module_utils file ansible/module_utils/facts/system/date_time.py
Including module_utils file ansible/module_utils/facts/system/distribution.py
Including module_utils file ansible/module_utils/facts/system/dns.py
Including module_utils file ansible/module_utils/facts/system/env.py
Including module_utils file ansible/module_utils/facts/system/fips.py
Including module_utils file ansible/module_utils/facts/system/loadavg.py
Including module_utils file ansible/module_utils/facts/system/local.py
Including module_utils file ansible/module_utils/facts/system/lsb.py
Including module_utils file ansible/module_utils/facts/system/pkg_mgr.py
Including module_utils file ansible/module_utils/facts/system/platform.py
Including module_utils file ansible/module_utils/facts/system/python.py
Including module_utils file ansible/module_utils/facts/system/selinux.py
Including module_utils file ansible/module_utils/facts/system/service_mgr.py
Including module_utils file ansible/module_utils/compat/version.py
Including module_utils file ansible/module_utils/facts/system/ssh_pub_keys.py
Including module_utils file ansible/module_utils/facts/system/user.py
Including module_utils file ansible/module_utils/facts/timeout.py
Including module_utils file ansible/module_utils/facts/utils.py
Including module_utils file ansible/module_utils/facts/virtual/base.py
Including module_utils file ansible/module_utils/facts/virtual/__init__.py
Including module_utils file ansible/module_utils/facts/virtual/dragonfly.py
Including module_utils file ansible/module_utils/facts/virtual/freebsd.py
Including module_utils file ansible/module_utils/facts/virtual/hpux.py
Including module_utils file ansible/module_utils/facts/virtual/linux.py
Including module_utils file ansible/module_utils/facts/virtual/netbsd.py
Including module_utils file ansible/module_utils/facts/virtual/openbsd.py
Including module_utils file ansible/module_utils/facts/virtual/sunos.py
Including module_utils file ansible/module_utils/facts/virtual/sysctl.py
Including module_utils file ansible/module_utils/parsing/convert_bool.py
Including module_utils file ansible/module_utils/parsing/__init__.py
Including module_utils file ansible/module_utils/pycompat24.py
Including module_utils file ansible/module_utils/six/__init__.py
Using module file /usr/local/lib/python3.9/dist-packages/ansible/modules/setup.py
<127.0.0.1> PUT /home/terraspin/.ansible/tmp/ansible-local-2515nius8pzu/tmpzxa3vnde TO /home/terraspin/.ansible/tmp/ansible-tmp-1684913717.1496649-2519-42607158245307/AnsiballZ_setup.py
<127.0.0.1> EXEC /bin/sh -c 'chmod u+x /home/terraspin/.ansible/tmp/ansible-tmp-1684913717.1496649-2519-42607158245307/ /home/terraspin/.ansible/tmp/ansible-tmp-1684913717.1496649-2519-42607158245307/AnsiballZ_setup.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '/usr/bin/python3 /home/terraspin/.ansible/tmp/ansible-tmp-1684913717.1496649-2519-42607158245307/AnsiballZ_setup.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c 'rm -f -r /home/terraspin/.ansible/tmp/ansible-tmp-1684913717.1496649-2519-42607158245307/ > /dev/null 2>&1 && sleep 0'
ok: [localhost]
TASK [OneView: Get network set info from HPE OneView] ****************************
task path: /home/terraspin/deploy-vlans.yml:38
<127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: terraspin
<127.0.0.1> EXEC /bin/sh -c 'echo ~terraspin && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /home/terraspin/.ansible/tmp `"&& mkdir "` echo /home/terraspin/.ansible/tmp/ansible-tmp-1684913718.511904-2571-178156534967974 `" && echo ansible-tmp-1684913718.511904-2571-178156534967974="` echo /home/terraspin/.ansible/tmp/ansible-tmp-1684913718.511904-2571-178156534967974 `" ) && sleep 0'
Including module_utils file ansible/__init__.py
Including module_utils file ansible/module_utils/__init__.py
Including module_utils file ansible/module_utils/basic.py
Including module_utils file ansible/module_utils/_text.py
Including module_utils file ansible/module_utils/common/_collections_compat.py
Including module_utils file ansible/module_utils/common/__init__.py
Including module_utils file ansible/module_utils/common/_json_compat.py
Including module_utils file ansible/module_utils/common/_utils.py
Including module_utils file ansible/module_utils/common/arg_spec.py
Including module_utils file ansible/module_utils/common/file.py
Including module_utils file ansible/module_utils/common/locale.py
Including module_utils file ansible/module_utils/common/parameters.py
Including module_utils file ansible/module_utils/common/collections.py
Including module_utils file ansible/module_utils/common/process.py
Including module_utils file ansible/module_utils/common/sys_info.py
Including module_utils file ansible/module_utils/common/text/converters.py
Including module_utils file ansible/module_utils/common/text/__init__.py
Including module_utils file ansible/module_utils/common/text/formatters.py
Including module_utils file ansible/module_utils/common/validation.py
Including module_utils file ansible/module_utils/common/warnings.py
Including module_utils file ansible/module_utils/compat/selectors.py
Including module_utils file ansible/module_utils/compat/__init__.py
Including module_utils file ansible/module_utils/compat/_selectors2.py
Including module_utils file ansible/module_utils/compat/selinux.py
Including module_utils file ansible/module_utils/distro/__init__.py
Including module_utils file ansible/module_utils/distro/_distro.py
Including module_utils file ansible/module_utils/errors.py
Including module_utils file ansible/module_utils/parsing/convert_bool.py
Including module_utils file ansible/module_utils/parsing/__init__.py
Including module_utils file ansible/module_utils/pycompat24.py
Including module_utils file ansible/module_utils/six/__init__.py
Including module_utils file ansible_collections/community/general/plugins/module_utils/oneview.py
Including module_utils file ansible_collections/__init__.py
Including module_utils file ansible_collections/community/__init__.py
Including module_utils file ansible_collections/community/general/__init__.py
Including module_utils file ansible_collections/community/general/plugins/__init__.py
Including module_utils file ansible_collections/community/general/plugins/module_utils/__init__.py
Using module file /usr/local/lib/python3.9/dist-packages/ansible_collections/community/general/plugins/modules/oneview_network_set_info.py
<127.0.0.1> PUT /home/terraspin/.ansible/tmp/ansible-local-2515nius8pzu/tmp10_ihv5l TO /home/terraspin/.ansible/tmp/ansible-tmp-1684913718.511904-2571-178156534967974/AnsiballZ_oneview_network_set_info.py
<127.0.0.1> EXEC /bin/sh -c 'chmod u+x /home/terraspin/.ansible/tmp/ansible-tmp-1684913718.511904-2571-178156534967974/ /home/terraspin/.ansible/tmp/ansible-tmp-1684913718.511904-2571-178156534967974/AnsiballZ_oneview_network_set_info.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '/usr/bin/python3 /home/terraspin/.ansible/tmp/ansible-tmp-1684913718.511904-2571-178156534967974/AnsiballZ_oneview_network_set_info.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c 'rm -f -r /home/terraspin/.ansible/tmp/ansible-tmp-1684913718.511904-2571-178156534967974/ > /dev/null 2>&1 && sleep 0'
The full traceback is:
Traceback (most recent call last):
File "/tmp/ansible_community.general.oneview_network_set_info_payload_w3oxdetw/ansible_community.general.oneview_network_set_info_payload.zip/ansible_collections/community/general/plugins/module_utils/oneview.py", line 25, in <module>
from hpOneView.oneview_client import OneViewClient
ModuleNotFoundError: No module named 'hpOneView'
fatal: [localhost]: FAILED! => {
"changed": false,
"invocation": {
"module_args": {
"api_version": 3800,
"config": null,
"hostname": "oneview.my-company.com",
"image_streamer_hostname": null,
"name": null,
"options": null,
"params": null,
"password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
"username": "my-user"
}
},
"msg": "Failed to import the required Python library (hpOneView) on debug-vlans-l6k6f'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"
}
PLAY RECAP ************************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0
terraspin@debug-vlans-l6k6f:~$
I can see from above logs that you are using an older ansible collection version due to some default configuration on your setup of Ansible/Python.
from hpOneView.oneview_client import OneViewClient
ModuleNotFoundError: No module named 'hpOneView'
Above code snippet is from deprecated version. Could you please clean up your system to use the latest installed version alone.
Hi @antonio-guillen
Are you able to use the latest version to run your playbook?
Thanks
Yes, the issues were caused by the ansible collection community where an older version of hpe.oneview exists. I installed the latest hpe.oneview collection, but the tasks were using the "community.general" collection to run the tasks.
I changed the playbook to use the hpe.oneview collection and after some minor changes it works!
I don't know what the procedure is, but maybe it would be a good idea to request the update of the version of hpe.oneview included in the ansible community.general collection
Thank you so much!
Installed packages:
Behavior:
Playbook: