Ansible can't connect to VELOS Chassis or VELOS partition using:
ansible_network_os: f5networks.f5_bigip.bigip as described in all the above examples
STEPS TO REPRODUCE
using following playbook at:
https://clouddocs.f5.com/products/orchestration/ansible/devel/f5_bigip/modules_2_0/velos_partition_module.html#examples
EXPECTED RESULTS
VELOS partition created
ACTUAL RESULTS
ansible-playbook PlayBooks/f5v2/velospartition.yml -e "cible=Veloshttpapi" --tag=create -vvv
ansible-playbook [core 2.12.5]
config file = /home/lionel/PyCharmProjects/venv3-10/Ansible/ansible.cfg
configured module search path = ['/home/lionel/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /home/lionel/PyCharmProjects/venv3-10/lib/python3.10/site-packages/ansible
ansible collection location = /home/lionel/PyCharmProjects/venv3-10/Ansible/collections
executable location = /home/lionel/PyCharmProjects/venv3-10/bin/ansible-playbook
python version = 3.10.4 (main, Apr 2 2022, 09:04:19) [GCC 11.2.0]
jinja version = 3.0.3
libyaml = False
Using /home/lionel/PyCharmProjects/venv3-10/Ansible/ansible.cfg as config file
host_list declined parsing /home/lionel/PyCharmProjects/venv3-10/Ansible/inventory/velos as it did not pass its verify_file() method
script declined parsing /home/lionel/PyCharmProjects/venv3-10/Ansible/inventory/velos as it did not pass its verify_file() method
auto declined parsing /home/lionel/PyCharmProjects/venv3-10/Ansible/inventory/velos as it did not pass its verify_file() method
Parsed /home/lionel/PyCharmProjects/venv3-10/Ansible/inventory/velos inventory source with ini plugin
Skipping callback 'default', as we already have a stdout callback.
Skipping callback 'minimal', as we already have a stdout callback.
Skipping callback 'oneline', as we already have a stdout callback.
PLAYBOOK: velospartition.yml ***********************************************************************************************************************************************************************************************
1 plays in PlayBooks/f5v2/velospartition.yml
PLAY [Manage Partitions] ***************************************************************************************************************************************************************************************************
META: ran handlers
TASK [Create Partition Tests] **********************************************************************************************************************************************************************************************
task path: /home/lionel/PyCharmProjects/venv3-10/Ansible/PlayBooks/f5v2/velospartition.yml:14
redirecting (type: connection) ansible.builtin.httpapi to ansible.netcommon.httpapi
<10.154.79.40> ESTABLISH LOCAL CONNECTION FOR USER: lionel
<10.154.79.40> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /home/lionel/.ansible/tmp/ansible-local-3522x96i0a6l `"&& mkdir "` echo /home/lionel/.ansible/tmp/ansible-local-3522x96i0a6l/ansible-tmp-1653920347.7348301-3526-159497453417533 `" && echo ansible-tmp-1653920347.7348301-3526-159497453417533="` echo /home/lionel/.ansible/tmp/ansible-local-3522x96i0a6l/ansible-tmp-1653920347.7348301-3526-159497453417533 `" ) && sleep 0'
Using module file /home/lionel/PyCharmProjects/venv3-10/Ansible/collections/ansible_collections/f5networks/f5_bigip/plugins/modules/velos_partition.py
<10.154.79.40> PUT /home/lionel/.ansible/tmp/ansible-local-3522x96i0a6l/tmpmaqouklu TO /home/lionel/.ansible/tmp/ansible-local-3522x96i0a6l/ansible-tmp-1653920347.7348301-3526-159497453417533/AnsiballZ_velos_partition.py
<10.154.79.40> EXEC /bin/sh -c 'chmod u+x /home/lionel/.ansible/tmp/ansible-local-3522x96i0a6l/ansible-tmp-1653920347.7348301-3526-159497453417533/ /home/lionel/.ansible/tmp/ansible-local-3522x96i0a6l/ansible-tmp-1653920347.7348301-3526-159497453417533/AnsiballZ_velos_partition.py && sleep 0'
<10.154.79.40> EXEC /bin/sh -c '/home/lionel/PyCharmProjects/venv3-10/bin/python3.10 /home/lionel/.ansible/tmp/ansible-local-3522x96i0a6l/ansible-tmp-1653920347.7348301-3526-159497453417533/AnsiballZ_velos_partition.py && sleep 0'
<10.154.79.40> EXEC /bin/sh -c 'rm -f -r /home/lionel/.ansible/tmp/ansible-local-3522x96i0a6l/ansible-tmp-1653920347.7348301-3526-159497453417533/ > /dev/null 2>&1 && sleep 0'
The full traceback is:
Traceback (most recent call last):
File "/home/lionel/.ansible/tmp/ansible-local-3522x96i0a6l/ansible-tmp-1653920347.7348301-3526-159497453417533/AnsiballZ_velos_partition.py", line 107, in <module>
_ansiballz_main()
File "/home/lionel/.ansible/tmp/ansible-local-3522x96i0a6l/ansible-tmp-1653920347.7348301-3526-159497453417533/AnsiballZ_velos_partition.py", line 99, in _ansiballz_main
invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)
File "/home/lionel/.ansible/tmp/ansible-local-3522x96i0a6l/ansible-tmp-1653920347.7348301-3526-159497453417533/AnsiballZ_velos_partition.py", line 47, in invoke_module
runpy.run_module(mod_name='ansible_collections.f5networks.f5_bigip.plugins.modules.velos_partition', init_globals=dict(_module_fqn='ansible_collections.f5networks.f5_bigip.plugins.modules.velos_partition', _modlib_path=modlib_path),
File "/usr/lib/python3.10/runpy.py", line 209, in run_module
return _run_module_code(code, init_globals, run_name, mod_spec)
File "/usr/lib/python3.10/runpy.py", line 96, in _run_module_code
_run_code(code, mod_globals, init_globals,
File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
exec(code, run_globals)
File "/tmp/ansible_velos_partition_payload_m6be7875/ansible_velos_partition_payload.zip/ansible_collections/f5networks/f5_bigip/plugins/modules/velos_partition.py", line 673, in <module>
File "/tmp/ansible_velos_partition_payload_m6be7875/ansible_velos_partition_payload.zip/ansible_collections/f5networks/f5_bigip/plugins/modules/velos_partition.py", line 666, in main
File "/tmp/ansible_velos_partition_payload_m6be7875/ansible_velos_partition_payload.zip/ansible_collections/f5networks/f5_bigip/plugins/modules/velos_partition.py", line 421, in exec_module
File "/tmp/ansible_velos_partition_payload_m6be7875/ansible_velos_partition_payload.zip/ansible_collections/f5networks/f5_bigip/plugins/modules/velos_partition.py", line 433, in present
File "/tmp/ansible_velos_partition_payload_m6be7875/ansible_velos_partition_payload.zip/ansible_collections/f5networks/f5_bigip/plugins/modules/velos_partition.py", line 484, in exists
File "/tmp/ansible_velos_partition_payload_m6be7875/ansible_velos_partition_payload.zip/ansible_collections/f5networks/f5_bigip/plugins/module_utils/velos_client.py", line 24, in wrap
File "/tmp/ansible_velos_partition_payload_m6be7875/ansible_velos_partition_payload.zip/ansible_collections/f5networks/f5_bigip/plugins/module_utils/velos_client.py", line 43, in get
File "/tmp/ansible_velos_partition_payload_m6be7875/ansible_velos_partition_payload.zip/ansible/module_utils/connection.py", line 200, in __rpc__
ansible.module_utils.connection.ConnectionError: Invalid JSON response: <!DOCTYPE html>
<html>
<head>
<title>404 Not Found</title>
</head>
<body>
<h1>Not Found</h1>
The requested URL /mgmt/shared/authn/login was not found on this server.
<hr>
<address> Server at localhost:8008 </address>
</body>
</html>
fatal: [veloscontroller]: FAILED! => {
"changed": false,
"module_stderr": "Traceback (most recent call last):\n File \"/home/lionel/.ansible/tmp/ansible-local-3522x96i0a6l/ansible-tmp-1653920347.7348301-3526-159497453417533/AnsiballZ_velos_partition.py\", line 107, in <module>\n _ansiballz_main()\n File \"/home/lionel/.ansible/tmp/ansible-local-3522x96i0a6l/ansible-tmp-1653920347.7348301-3526-159497453417533/AnsiballZ_velos_partition.py\", line 99, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n File \"/home/lionel/.ansible/tmp/ansible-local-3522x96i0a6l/ansible-tmp-1653920347.7348301-3526-159497453417533/AnsiballZ_velos_partition.py\", line 47, in invoke_module\n runpy.run_module(mod_name='ansible_collections.f5networks.f5_bigip.plugins.modules.velos_partition', init_globals=dict(_module_fqn='ansible_collections.f5networks.f5_bigip.plugins.modules.velos_partition', _modlib_path=modlib_path),\n File \"/usr/lib/python3.10/runpy.py\", line 209, in run_module\n return _run_module_code(code, init_globals, run_name, mod_spec)\n File \"/usr/lib/python3.10/runpy.py\", line 96, in _run_module_code\n _run_code(code, mod_globals, init_globals,\n File \"/usr/lib/python3.10/runpy.py\", line 86, in _run_code\n exec(code, run_globals)\n File \"/tmp/ansible_velos_partition_payload_m6be7875/ansible_velos_partition_payload.zip/ansible_collections/f5networks/f5_bigip/plugins/modules/velos_partition.py\", line 673, in <module>\n File \"/tmp/ansible_velos_partition_payload_m6be7875/ansible_velos_partition_payload.zip/ansible_collections/f5networks/f5_bigip/plugins/modules/velos_partition.py\", line 666, in main\n File \"/tmp/ansible_velos_partition_payload_m6be7875/ansible_velos_partition_payload.zip/ansible_collections/f5networks/f5_bigip/plugins/modules/velos_partition.py\", line 421, in exec_module\n File \"/tmp/ansible_velos_partition_payload_m6be7875/ansible_velos_partition_payload.zip/ansible_collections/f5networks/f5_bigip/plugins/modules/velos_partition.py\", line 433, in present\n File \"/tmp/ansible_velos_partition_payload_m6be7875/ansible_velos_partition_payload.zip/ansible_collections/f5networks/f5_bigip/plugins/modules/velos_partition.py\", line 484, in exists\n File \"/tmp/ansible_velos_partition_payload_m6be7875/ansible_velos_partition_payload.zip/ansible_collections/f5networks/f5_bigip/plugins/module_utils/velos_client.py\", line 24, in wrap\n File \"/tmp/ansible_velos_partition_payload_m6be7875/ansible_velos_partition_payload.zip/ansible_collections/f5networks/f5_bigip/plugins/module_utils/velos_client.py\", line 43, in get\n File \"/tmp/ansible_velos_partition_payload_m6be7875/ansible_velos_partition_payload.zip/ansible/module_utils/connection.py\", line 200, in __rpc__\nansible.module_utils.connection.ConnectionError: Invalid JSON response: <!DOCTYPE html>\n<html>\n<head>\n<title>404 Not Found</title>\n</head>\n<body>\n<h1>Not Found</h1>\nThe requested URL /mgmt/shared/authn/login was not found on this server.\n<hr>\n<address> Server at localhost:8008 </address>\n</body>\n</html>\n",
"module_stdout": "",
"msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
"rc": 1
}
PLAY RECAP *****************************************************************************************************************************************************************************************************************
veloscontroller : ok=0 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0
We need to change ansible_network_os: f5networks.f5_bigip.bigip by ansible_network_os: f5networks.f5_bigip.velos and set ansible_httpapi_port to 8888
COMPONENT NAME
all velos modules: velos_partition – Manage VELOS chassis partitions velos_partition_change_password – Provides access to VELOS chassis partition user authentication methods velos_partition_image – Manage VELOS chassis partition images velos_partition_interface – Manage network interfaces on VELOS chassis partitions velos_partition_lag – Manage network interfaces on the VELOS chassis partitions velos_partition_vlan – Manage VLANs on VELOS chassis partitions velos_partition_wait – Wait for a VELOS chassis partition to match a condition before continuing velos_tenant – Manage VELOS tenants velos_tenant_image – Manage VELOS tenant images velos_tenant_wait – Wait for a VELOS condition before continuing
Environment
ansible [core 2.12.5] f5networks.f5_bigip:1.8.0 Python v3.10.4 F5OS v1.3.2 Ubuntu 22.04
ANSIBLE VERSION
BIGIP VERSION
CONFIGURATION
OS / ENVIRONMENT
SUMMARY
Ansible can't connect to VELOS Chassis or VELOS partition using: ansible_network_os: f5networks.f5_bigip.bigip as described in all the above examples
STEPS TO REPRODUCE
EXPECTED RESULTS
VELOS partition created
ACTUAL RESULTS
We need to change ansible_network_os: f5networks.f5_bigip.bigip by ansible_network_os: f5networks.f5_bigip.velos and set ansible_httpapi_port to 8888