fortinet-ansible-dev / ansible-galaxy-fortiweb-collection

5 stars 2 forks source link

string indices must be integers #1

Open Brownie9 opened 1 year ago

Brownie9 commented 1 year ago

I installed the collection : ansible-galaxy collection install fortinet.fortiweb

I created a hosts file :

[fortiwebs]
fortiweb ansible_host=172.28.0.11 ansible_user="administrateur" ansible_password="j9UPmCMUBRhxNg8pq5QO"

[fortiwebs:vars]
ansible_network_os=fortinet.fortiweb.fwebos
ansible_httpapi_use_ssl=yes
ansible_httpapi_validate_certs=no
ansible_httpapi_port=443

I created a test.yml file :

---
- name:
  hosts: all
  vars:
  connection: httpapi
  collections:
  - fortinet.fortiweb
  gather_facts: false
  tasks:
    - name: Create
      fwebos_virtual_ip:
       action: add
       name: test4
       vip: 5.5.5.5
       interface: port4
       vdom: root

I launched this command : ansible-playbook -i hosts test.yml --extra-vars "ansible_user=$ANSIBLE_USER ansible_password=$ANSIBLE_PASSWORD"

My variables came from a library on Azure DevOps.

I have this error :

TASK [Create] ******************************************************************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: TypeError: string indices must be integers
fatal: [fortiweb]: FAILED! => {"ansible_facts": {"discovered_interpreter_python": "/usr/libexec/platform-python"}, "changed": false, "module_stderr": "Traceback (most recent call last):\n  File \"<stdin>\", line 102, in <module>\n  File \"<stdin>\", line 94, in _ansiballz_main\n  File \"<stdin>\", line 40, in invoke_module\n  File \"/usr/lib64/python3.6/runpy.py\", line 205, in run_module\n    return _run_module_code(code, init_globals, run_name, mod_spec)\n  File \"/usr/lib64/python3.6/runpy.py\", line 96, in _run_module_code\n    mod_name, mod_spec, pkg_name, script_name)\n  File \"/usr/lib64/python3.6/runpy.py\", line 85, in _run_code\n    exec(code, run_globals)\n  File \"/tmp/ansible_fwebos_virtual_ip_payload_u6mvkpz2/ansible_fwebos_virtual_ip_payload.zip/ansible_collections/fortinet/fortiweb/plugins/modules/fwebos_virtual_ip.py\", line 193, in <module>\n  File \"/tmp/ansible_fwebos_virtual_ip_payload_u6mvkpz2/ansible_fwebos_virtual_ip_payload.zip/ansible_collections/fortinet/fortiweb/plugins/modules/fwebos_virtual_ip.py\", line 140, in main\n  File \"/tmp/ansible_fwebos_virtual_ip_payload_u6mvkpz2/ansible_fwebos_virtual_ip_payload.zip/ansible_collections/fortinet/fortiweb/plugins/modules/fwebos_virtual_ip.py\", line 116, in param_check\n  File \"/tmp/ansible_fwebos_virtual_ip_payload_u6mvkpz2/ansible_fwebos_virtual_ip_payload.zip/ansible_collections/fortinet/fortiweb/plugins/module_utils/network/fwebos/fwebos.py\", line 24, in is_vdom_enable\nTypeError: string indices must be integers\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}

The full trace is :

TASK [Create] *******************************************************************************************************************************************************************************************************************************
task path: /home/administrateur/myagent/_work/3/s/test.yml:10
<172.28.0.11> attempting to start connection
<172.28.0.11> using connection plugin httpapi
<172.28.0.11> local domain socket does not exist, starting it
<172.28.0.11> control socket path is /home/administrateur/.ansible/pc/a4fe992474
<172.28.0.11> local domain socket listeners started successfully
<172.28.0.11> loaded API plugin ansible_collections.fortinet.fortiweb.plugins.httpapi.fwebos from path /home/administrateur/.ansible/collections/ansible_collections/fortinet/fortiweb/plugins/httpapi/fwebos.py for network_os fortinet.fortiweb.fwebos
<172.28.0.11>
<172.28.0.11> local domain socket path is /home/administrateur/.ansible/pc/a4fe992474
<fortiweb> Attempting python interpreter discovery
<172.28.0.11> ESTABLISH LOCAL CONNECTION FOR USER: administrateur
<172.28.0.11> EXEC /bin/sh -c 'echo PLATFORM; uname; echo FOUND; command -v '"'"'/usr/bin/python'"'"'; command -v '"'"'python3.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'
<172.28.0.11> EXEC /bin/sh -c '/usr/bin/python3.6 && sleep 0'
Using module file /home/administrateur/.ansible/collections/ansible_collections/fortinet/fortiweb/plugins/modules/fwebos_virtual_ip.py
Pipelining is enabled.
<172.28.0.11> EXEC /bin/sh -c '/usr/libexec/platform-python && sleep 0'
The full traceback is:
Traceback (most recent call last):
  File "<stdin>", line 102, in <module>
  File "<stdin>", line 94, in _ansiballz_main
  File "<stdin>", line 40, in invoke_module
  File "/usr/lib64/python3.6/runpy.py", line 205, in run_module
    return _run_module_code(code, init_globals, run_name, mod_spec)
  File "/usr/lib64/python3.6/runpy.py", line 96, in _run_module_code
    mod_name, mod_spec, pkg_name, script_name)
  File "/usr/lib64/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmp/ansible_fwebos_virtual_ip_payload_i_cukejb/ansible_fwebos_virtual_ip_payload.zip/ansible_collections/fortinet/fortiweb/plugins/modules/fwebos_virtual_ip.py", line 193, in <module>
  File "/tmp/ansible_fwebos_virtual_ip_payload_i_cukejb/ansible_fwebos_virtual_ip_payload.zip/ansible_collections/fortinet/fortiweb/plugins/modules/fwebos_virtual_ip.py", line 140, in main
  File "/tmp/ansible_fwebos_virtual_ip_payload_i_cukejb/ansible_fwebos_virtual_ip_payload.zip/ansible_collections/fortinet/fortiweb/plugins/modules/fwebos_virtual_ip.py", line 116, in param_check
  File "/tmp/ansible_fwebos_virtual_ip_payload_i_cukejb/ansible_fwebos_virtual_ip_payload.zip/ansible_collections/fortinet/fortiweb/plugins/module_utils/network/fwebos/fwebos.py", line 24, in is_vdom_enable
TypeError: string indices must be integers
fatal: [fortiweb]: FAILED! => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/libexec/platform-python"
    },
    "changed": false,
    "module_stderr": "Traceback (most recent call last):\n  File \"<stdin>\", line 102, in <module>\n  File \"<stdin>\", line 94, in _ansiballz_main\n  File \"<stdin>\", line 40, in invoke_module\n  File \"/usr/lib64/python3.6/runpy.py\", line 205, in run_module\n    return _run_module_code(code, init_globals, run_name, mod_spec)\n  File \"/usr/lib64/python3.6/runpy.py\", line 96, in _run_module_code\n    mod_name, mod_spec, pkg_name, script_name)\n  File \"/usr/lib64/python3.6/runpy.py\", line 85, in _run_code\n    exec(code, run_globals)\n  File \"/tmp/ansible_fwebos_virtual_ip_payload_i_cukejb/ansible_fwebos_virtual_ip_payload.zip/ansible_collections/fortinet/fortiweb/plugins/modules/fwebos_virtual_ip.py\", line 193, in <module>\n  File \"/tmp/ansible_fwebos_virtual_ip_payload_i_cukejb/ansible_fwebos_virtual_ip_payload.zip/ansible_collections/fortinet/fortiweb/plugins/modules/fwebos_virtual_ip.py\", line 140, in main\n  File \"/tmp/ansible_fwebos_virtual_ip_payload_i_cukejb/ansible_fwebos_virtual_ip_payload.zip/ansible_collections/fortinet/fortiweb/plugins/modules/fwebos_virtual_ip.py\", line 116, in param_check\n  File \"/tmp/ansible_fwebos_virtual_ip_payload_i_cukejb/ansible_fwebos_virtual_ip_payload.zip/ansible_collections/fortinet/fortiweb/plugins/module_utils/network/fwebos/fwebos.py\", line 24, in is_vdom_enable\nTypeError: string indices must be integers\n",
    "module_stdout": "",
    "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
    "rc": 1
}