PaloAltoNetworks/pan-os-ansible

Feature request: Custom timeout

antoinekh opened this issue · 1 comments

Is your feature request related to a problem?

When we already have a commit in progress, we get some errors about timeout, even if the commit is ultimately successful on the panorama.
The timeout on panos python (panos/base.py) is set to 1200 by default.

TASK [pa_manage_fw_rules : [Commit] Commit candidate configs on panorama] ******
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: panos.errors.PanSessionTimedOut: Session timed out
fatal: [oppano22s.intcs.meshcore.net]: FAILED! => {"changed": false, "module_stderr": "Traceback (most recent call last):\n  File \"/usr/local/lib/python3.9/site-packages/panos/base.py\", line 3878, in method\n    super_method(self, *args, **kwargs)\n  File \"/usr/local/lib/python3.9/site-packages/pan/xapi.py\", line 920, in op\n    self.__type_op(cmd, vsys, extra_qs)\n  File \"/usr/local/lib/python3.9/site-packages/pan/xapi.py\", line 943, in __type_op\n    raise PanXapiError(self.status_detail)\npan.xapi.PanXapiError: Session timed out\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n  File \"/root/.ansible/tmp/ansible-tmp-1708009616.0550978-352-77791336071425/AnsiballZ_panos_commit_panorama.py\", line 107, in <module>\n    _ansiballz_main()\n  File \"/root/.ansible/tmp/ansible-tmp-1708009616.0550978-352-77791336071425/AnsiballZ_panos_commit_panorama.py\", line 99, in _ansiballz_main\n    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n  File \"/root/.ansible/tmp/ansible-tmp-1708009616.0550978-352-77791336071425/AnsiballZ_panos_commit_panorama.py\", line 47, in invoke_module\n    runpy.run_module(mod_name='ansible_collections.paloaltonetworks.panos.plugins.modules.panos_commit_panorama', init_globals=dict(_module_fqn='ansible_collections.paloaltonetworks.panos.plugins.modules.panos_commit_panorama', _modlib_path=modlib_path),\n  File \"/usr/lib64/python3.9/runpy.py\", line 225, in run_module\n    return _run_module_code(code, init_globals, run_name, mod_spec)\n  File \"/usr/lib64/python3.9/runpy.py\", line 97, in _run_module_code\n    _run_code(code, mod_globals, init_globals,\n  File \"/usr/lib64/python3.9/runpy.py\", line 87, in _run_code\n    exec(code, run_globals)\n  File \"/tmp/ansible_paloaltonetworks.panos.panos_commit_panorama_payload_e336fsbj/ansible_paloaltonetworks.panos.panos_commit_panorama_payload.zip/ansible_collections/paloaltonetworks/panos/plugins/modules/panos_commit_panorama.py\", line 222, in <module>\n  File \"/tmp/ansible_paloaltonetworks.panos.panos_commit_panorama_payload_e336fsbj/ansible_paloaltonetworks.panos.panos_commit_panorama_payload.zip/ansible_collections/paloaltonetworks/panos/plugins/modules/panos_commit_panorama.py\", line 200, in main\n  File \"/usr/local/lib/python3.9/site-packages/panos/base.py\", line 4769, in commit\n    return self._commit(\n  File \"/usr/local/lib/python3.9/site-packages/panos/base.py\", line 4871, in _commit\n    result = self.syncjob(commit_response, sync_all=sync_all)\n  File \"/usr/local/lib/python3.9/site-packages/panos/base.py\", line 4953, in syncjob\n    raise e\n  File \"/usr/local/lib/python3.9/site-packages/panos/base.py\", line 4943, in syncjob\n    job_xml = self.xapi.op(cmd=cmd, cmd_xml=True, retry_on_peer=True)\n  File \"/usr/local/lib/python3.9/site-packages/panos/base.py\", line 3897, in method\n    raise the_exception\npanos.errors.PanSessionTimedOut: Session timed out\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}

Describe the solution you'd like

I would like to have an option to choose the timeout in the Ansible code.

Describe alternatives you've considered

Additional context