HewlettPackard / oneview-ansible-collection

Ansible Collection and Sample Playbooks for HPE OneView
Apache License 2.0
24 stars 22 forks source link

Fails to create network and associate network to network sets #257

Closed antonio-guillen closed 1 year ago

antonio-guillen commented 1 year ago

Installed packages:

terraspin@debug-vlans-l6k6f:~$ python3 --version
Python 3.9.2
terraspin@debug-vlans-l6k6f:~$
terraspin@debug-vlans-l6k6f:~$ pip list | grep -i hp
hpeOneView   8.3.0
hpICsp       1.0.2
hpOneView    5.3.0
terraspin@debug-vlans-l6k6f:~$
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-1428fo4fz4ek/tmp6f7ml3of/hpe-oneview-8.3.0-dc5jj3_j
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:~$

Behavior:

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] ***********************************************************************************************************************
ok: [localhost]

TASK [OneView:  Get network info from HPE OneView] ***************************************************************************************************************************
ok: [localhost]

TASK [OneView:  Create network POC-Ansible-1510 (VLAN 1510) in HPE OneView] **************************************************************************************************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: hpOneView.exceptions.HPOneViewMissingUniqueIdentifiers: Missing unique identifiers(URI/Name) for the resource
fatal: [localhost]: FAILED! => {"changed": false, "module_stderr": "Traceback (most recent call last):\n  File \"/home/terraspin/.ansible/tmp/ansible-tmp-1684753866.0328944-1539-199203019846648/AnsiballZ_oneview_ethernet_network.py\", line 107, in <module>\n    _ansiballz_main()\n  File \"/home/terraspin/.ansible/tmp/ansible-tmp-1684753866.0328944-1539-199203019846648/AnsiballZ_oneview_ethernet_network.py\", line 99, in _ansiballz_main\n    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n  File \"/home/terraspin/.ansible/tmp/ansible-tmp-1684753866.0328944-1539-199203019846648/AnsiballZ_oneview_ethernet_network.py\", line 47, in invoke_module\n    runpy.run_module(mod_name='ansible_collections.community.general.plugins.modules.oneview_ethernet_network', init_globals=dict(_module_fqn='ansible_collections.community.general.plugins.modules.oneview_ethernet_network', _modlib_path=modlib_path),\n  File \"/usr/lib/python3.9/runpy.py\", line 210, in run_module\n    return _run_module_code(code, init_globals, run_name, mod_spec)\n  File \"/usr/lib/python3.9/runpy.py\", line 97, in _run_module_code\n    _run_code(code, mod_globals, init_globals,\n  File \"/usr/lib/python3.9/runpy.py\", line 87, in _run_code\n    exec(code, run_globals)\n  File \"/tmp/ansible_community.general.oneview_ethernet_network_payload_crzjiml7/ansible_community.general.oneview_ethernet_network_payload.zip/ansible_collections/community/general/plugins/modules/oneview_ethernet_network.py\", line 257, in <module>\n  File \"/tmp/ansible_community.general.oneview_ethernet_network_payload_crzjiml7/ansible_community.general.oneview_ethernet_network_payload.zip/ansible_collections/community/general/plugins/modules/oneview_ethernet_network.py\", line 253, in main\n  File \"/tmp/ansible_community.general.oneview_ethernet_network_payload_crzjiml7/ansible_community.general.oneview_ethernet_network_payload.zip/ansible_collections/community/general/plugins/module_utils/oneview.py\", line 287, in run\n  File \"/tmp/ansible_community.general.oneview_ethernet_network_payload_crzjiml7/ansible_community.general.oneview_ethernet_network_payload.zip/ansible_collections/community/general/plugins/modules/oneview_ethernet_network.py\", line 169, in execute_module\n  File \"/tmp/ansible_community.general.oneview_ethernet_network_payload_crzjiml7/ansible_community.general.oneview_ethernet_network_payload.zip/ansible_collections/community/general/plugins/modules/oneview_ethernet_network.py\", line 180, in _present\n  File \"/tmp/ansible_community.general.oneview_ethernet_network_payload_crzjiml7/ansible_community.general.oneview_ethernet_network_payload.zip/ansible_collections/community/general/plugins/module_utils/oneview.py\", line 356, in resource_present\n  File \"/home/terraspin/.local/lib/python3.9/site-packages/hpOneView/resources/resource.py\", line 66, in wrap\n    args[0].ensure_resource_data(update_data=self.update_data)\n  File \"/home/terraspin/.local/lib/python3.9/site-packages/hpOneView/resources/resource.py\", line 112, in ensure_resource_data\n    raise exceptions.HPOneViewMissingUniqueIdentifiers(MISSING_UNIQUE_IDENTIFIERS)\nhpOneView.exceptions.HPOneViewMissingUniqueIdentifiers: Missing unique identifiers(URI/Name) for the resource\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}
...ignoring

TASK [OneView:  Manage network set Servicio Cloud - POC Ansible] *************************************************************************************************************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: hpOneView.exceptions.HPOneViewMissingUniqueIdentifiers: Missing unique identifiers(URI/Name) for the resource
fatal: [localhost]: FAILED! => {"changed": false, "module_stderr": "Traceback (most recent call last):\n  File \"/home/terraspin/.ansible/tmp/ansible-tmp-1684753866.9109833-1564-185225472996336/AnsiballZ_oneview_network_set.py\", line 107, in <module>\n    _ansiballz_main()\n  File \"/home/terraspin/.ansible/tmp/ansible-tmp-1684753866.9109833-1564-185225472996336/AnsiballZ_oneview_network_set.py\", line 99, in _ansiballz_main\n    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n  File \"/home/terraspin/.ansible/tmp/ansible-tmp-1684753866.9109833-1564-185225472996336/AnsiballZ_oneview_network_set.py\", line 47, in invoke_module\n    runpy.run_module(mod_name='ansible_collections.community.general.plugins.modules.oneview_network_set', init_globals=dict(_module_fqn='ansible_collections.community.general.plugins.modules.oneview_network_set', _modlib_path=modlib_path),\n  File \"/usr/lib/python3.9/runpy.py\", line 210, in run_module\n    return _run_module_code(code, init_globals, run_name, mod_spec)\n  File \"/usr/lib/python3.9/runpy.py\", line 97, in _run_module_code\n    _run_code(code, mod_globals, init_globals,\n  File \"/usr/lib/python3.9/runpy.py\", line 87, in _run_code\n    exec(code, run_globals)\n  File \"/tmp/ansible_community.general.oneview_network_set_payload_e_8ljep6/ansible_community.general.oneview_network_set_payload.zip/ansible_collections/community/general/plugins/modules/oneview_network_set.py\", line 160, in <module>\n  File \"/tmp/ansible_community.general.oneview_network_set_payload_e_8ljep6/ansible_community.general.oneview_network_set_payload.zip/ansible_collections/community/general/plugins/modules/oneview_network_set.py\", line 156, in main\n  File \"/tmp/ansible_community.general.oneview_network_set_payload_e_8ljep6/ansible_community.general.oneview_network_set_payload.zip/ansible_collections/community/general/plugins/module_utils/oneview.py\", line 287, in run\n  File \"/tmp/ansible_community.general.oneview_network_set_payload_e_8ljep6/ansible_community.general.oneview_network_set_payload.zip/ansible_collections/community/general/plugins/modules/oneview_network_set.py\", line 124, in execute_module\n  File \"/tmp/ansible_community.general.oneview_network_set_payload_e_8ljep6/ansible_community.general.oneview_network_set_payload.zip/ansible_collections/community/general/plugins/modules/oneview_network_set.py\", line 131, in _present\n  File \"/tmp/ansible_community.general.oneview_network_set_payload_e_8ljep6/ansible_community.general.oneview_network_set_payload.zip/ansible_collections/community/general/plugins/module_utils/oneview.py\", line 356, in resource_present\n  File \"/home/terraspin/.local/lib/python3.9/site-packages/hpOneView/resources/resource.py\", line 66, in wrap\n    args[0].ensure_resource_data(update_data=self.update_data)\n  File \"/home/terraspin/.local/lib/python3.9/site-packages/hpOneView/resources/resource.py\", line 112, in ensure_resource_data\n    raise exceptions.HPOneViewMissingUniqueIdentifiers(MISSING_UNIQUE_IDENTIFIERS)\nhpOneView.exceptions.HPOneViewMissingUniqueIdentifiers: Missing unique identifiers(URI/Name) for the resource\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}
...ignoring

PLAY RECAP *******************************************************************************************************************************************************************
localhost                  : ok=5    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=2

terraspin@debug-vlans-l6k6f:~$

Playbook:

- name: Playbook
  hosts: localhost
  #become: yes
  #become_user: root
  vars:
    role_string: 'OneView: '
    oneview_provider: &oneview_provider
      hostname: 'oneview.my-company.com'
      username: 'my-user'
      password: 'my-password'
      api_version: 3800
    oneview_network_set_name: 'Servicio Cloud - POC Ansible'
    oneview_ethernet_network_name: 'POC-Ansible-1510'
    oneview_ethernet_network_vlan_number: '1510'
  tasks:
    # Get network set info from HPE OneView
    - name: "{{ role_string }} Get network set info from HPE OneView"
      community.general.oneview_network_set_info:
        <<: *oneview_provider
      register: oneview_network_set_info
    # - name: "{{ role_string }} [DEBUG] print oneview_network_set_info"
      # debug:
        # msg:
          # - "oneview_network_set_info: {{ oneview_network_set_info }}"
          # - "oneview_network_set_info.network_sets: {{ oneview_network_set_info.network_sets }}"

    # Get network info from HPE OneView
    - name: "{{ role_string }} Get network info from HPE OneView"
      community.general.oneview_ethernet_network_info:
        <<: *oneview_provider
      register: oneview_network_info
    # - name: "{{ role_string }} [DEBUG] print oneview_network_info"
      # debug:
        # msg:
          # - "oneview_network_info: {{ oneview_network_info }}"

    # Create network in HPE OneView
    - name: "{{ role_string }} Create network {{ oneview_ethernet_network_name }} (VLAN {{ oneview_ethernet_network_vlan_number }}) in HPE OneView"
      community.general.oneview_ethernet_network:
        <<: *oneview_provider
        state: present
        data:
          name: "{{ oneview_ethernet_network_name }}"
          vlanId: "{{ oneview_ethernet_network_vlan_number }}"
          purpose: "General"
          ethernetNetworkType: "Tagged"
          smartLink: "true"
          privateNetwork: "false"
          bandwidth:
            maximumBandwidth: 50000
            typicalBandwidth: 2500
      ignore_errors: True

    # Manage network set in HPE OneView
    - name: "{{ role_string }} Manage network set {{ oneview_network_set_name }}"
      community.general.oneview_network_set:
        <<: *oneview_provider
        state: present
        data:
          name: "{{ oneview_network_set_name }}"
          networkUris:
            - "{{ oneview_ethernet_network_name }}"
      ignore_errors: True
alisha-k-kalladassery commented 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

antonio-guillen commented 1 year ago

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:~$
alisha-k-kalladassery commented 1 year ago

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.

antonio-guillen commented 1 year ago

About hpe oneview versions:

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:~$
alisha-k-kalladassery commented 1 year ago

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.

alisha-k-kalladassery commented 1 year ago

Hi @antonio-guillen

Are you able to use the latest version to run your playbook?

Thanks

antonio-guillen commented 1 year ago

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.

image

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!