fortinet-ansible-dev / ansible-galaxy-fortios-collection

GNU General Public License v3.0
84 stars 48 forks source link

Getting this error when I'm connecting to a Fortigate device. Can you help? #262

Closed Jmahaja1 closed 1 year ago

Jmahaja1 commented 1 year ago
"module_stderr": "Traceback (most recent call last):\n  File \"/home/jmahaja1/.ansible/tmp/ansible-local-9612i44db9cs/ansible-tmp-1691524016.210349-9618-146015669992469/AnsiballZ_fortios_configuration_fact.py\", line 107, in <module>\n    _ansiballz_main()\n  File \"/home/jmahaja1/.ansible/tmp/ansible-local-9612i44db9cs/ansible-tmp-1691524016.210349-9618-146015669992469/AnsiballZ_fortios_configuration_fact.py\", line 99, in _ansiballz_main\n    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n  File \"/home/jmahaja1/.ansible/tmp/ansible-local-9612i44db9cs/ansible-tmp-1691524016.210349-9618-146015669992469/AnsiballZ_fortios_configuration_fact.py\", line 47, in invoke_module\n    runpy.run_module(mod_name='ansible_collections.fortinet.fortios.plugins.modules.fortios_configuration_fact', init_globals=dict(_module_fqn='ansible_collections.fortinet.fortios.plugins.modules.fortios_configuration_fact', _modlib_path=modlib_path),\n  File \"/usr/local/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/local/lib/python3.9/runpy.py\", line 97, in _run_module_code\n    _run_code(code, mod_globals, init_globals,\n  File \"/usr/local/lib/python3.9/runpy.py\", line 87, in _run_code\n    exec(code, run_globals)\n  File \"/tmp/ansible_fortinet.fortios.fortios_configuration_fact_payload_2uvdqiwn/ansible_fortinet.fortios.fortios_configuration_fact_payload.zip/ansible_collections/fortinet/fortios/plugins/modules/fortios_configuration_fact.py\", line 6106, in <module>\n  File \"/tmp/ansible_fortinet.fortios.fortios_configuration_fact_payload_2uvdqiwn/ansible_fortinet.fortios.fortios_configuration_fact_payload.zip/ansible_collections/fortinet/fortios/plugins/modules/fortios_configuration_fact.py\", line 6053, in main\n  File \"/tmp/ansible_fortinet.fortios.fortios_configuration_fact_payload_2uvdqiwn/ansible_fortinet.fortios.fortios_configuration_fact_payload.zip/ansible_collections/fortinet/fortios/plugins/modules/fortios_configuration_fact.py\", line 4581, in fortios_configuration_fact\n  File \"/tmp/ansible_fortinet.fortios.fortios_configuration_fact_payload_2uvdqiwn/ansible_fortinet.fortios.fortios_configuration_fact_payload.zip/ansible_collections/fortinet/fortios/plugins/module_utils/fortios/fortios.py\", line 547, in get\n  File \"/tmp/ansible_fortinet.fortios.fortios_configuration_fact_payload_2uvdqiwn/ansible_fortinet.fortios.fortios_configuration_fact_payload.zip/ansible/module_utils/connection.py\", line 200, in __rpc__\nansible.module_utils.connection.ConnectionError: Method not found\n",
"module_stdout": "",
"msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
"rc": 1

My playbook

ENTBAS_POC_FW_01 ansible_host=xx.xx.xx.xx ansible_user="xxx" ansible_password="xxxx" [fortigates:vars]

JieX19 commented 1 year ago

Hi @Jmahaja1

I ran the same playbook on my env, there're no errors.

The playbook I used:

- hosts: fortigates
  connection: httpapi
  gather_facts: no
  collections:
  - fortinet.fortios
  vars:
    ansible_httpapi_use_ssl: yes
    ansible_httpapi_validate_certs: no
    ansible_httpapi_port: 443
    vdom: ""
    Make: Fortigate
    Model: 400E
  tasks:

  - name: get all
    fortinet.fortios.fortios_configuration_fact:
      vdom: ""
      access_token: 3kNsh1mcNg83b9G09Hcbjwhxpmqm5b
      selector: hardware_status
    register: show_hardware_status

  - name: Print show hardware status
    debug:
      var: show_hardware_status

The hosts file on my env:

[fortigates]
fortigate01 enable_log=True ansible_host=192.168.21.12

[fortigates:vars]
ansible_network_os=fortinet.fortios.fortios
access_token=3kNsh1mcNg83b9G09Hcbjwhxpmqm5b

Can you check the hosts file to make sure the network_os is included?

Jmahaja1 commented 1 year ago

Thank you for getting back to me.

Kind Regards,

Juhi

jzamanski-pm commented 12 months ago

Thank you, ansible_network_os fixed this for me. Also fixed the below, which I had hacked my way around only to end up at the error above.

File "/home/jeff/.ansible/collections/ansible_collections/ansible/netcommon/plugins/plugin_utils/connection_base.py", line 48, in getattr raise AttributeError( AttributeError: 'Connection' object has no attribute 'nonetype'