Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

routeros: Bug fix: Exception catching #27

Merged

Conversation

renatoalmeidaoliveira
Copy link
Contributor

@renatoalmeidaoliveira renatoalmeidaoliveira commented May 4, 2020

SUMMARY

The function get_capabilities was failing to catch connections exceptions, what make an ugly output

ISSUE TYPE
  • Bugfix Pull Request
COMPONENT NAME

routeros.py

ADDITIONAL INFORMATION

This error can be reproduced simply by providing an invalid username/password

OUTPUT BEFORE CHANGES:


The full traceback is:
Traceback (most recent call last):
  File "/root/.ansible/tmp/ansible-local-20843l7aphwz5/ansible-tmp-1588555470.4121525-264386939405924/AnsiballZ_routeros_comle>
    _ansiballz_main()
  File "/root/.ansible/tmp/ansible-local-20843l7aphwz5/ansible-tmp-1588555470.4121525-264386939405924/AnsiballZ_routeros_comallz_main
    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)
  File "/root/.ansible/tmp/ansible-local-20843l7aphwz5/ansible-tmp-1588555470.4121525-264386939405924/AnsiballZ_routeros_com_module
    runpy.run_module(mod_name='ansible.modules.network.routeros.routeros_command', init_globals=None, run_name='__main__', a
  File "/usr/lib64/python2.7/runpy.py", line 176, in run_module
    fname, loader, pkg_name)
  File "/usr/lib64/python2.7/runpy.py", line 82, in _run_module_code
    mod_name, mod_fname, mod_loader, pkg_name)
  File "/usr/lib64/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/tmp/ansible_routeros_command_payload_XbsRY1/ansible_routeros_command_payload.zip/ansible/modules/network/routeros/r7, in <module>
  File "/tmp/ansible_routeros_command_payload_XbsRY1/ansible_routeros_command_payload.zip/ansible/modules/network/routeros/r7, in main
  File "/tmp/ansible_routeros_command_payload_XbsRY1/ansible_routeros_command_payload.zip/ansible/module_utils/network/routein run_commands
  File "/tmp/ansible_routeros_command_payload_XbsRY1/ansible_routeros_command_payload.zip/ansible/module_utils/network/routen get_connection
  File "/tmp/ansible_routeros_command_payload_XbsRY1/ansible_routeros_command_payload.zip/ansible/module_utils/network/routen get_capabilities
  File "/tmp/ansible_routeros_command_payload_XbsRY1/ansible_routeros_command_payload.zip/ansible/module_utils/connection.py
ansible.module_utils.connection.ConnectionError: Failed to authenticate: Authentication failed.
fatal: [MK]: FAILED! => changed=false
  module_stderr: |-
    Traceback (most recent call last):
      File "/root/.ansible/tmp/ansible-local-20843l7aphwz5/ansible-tmp-1588555470.4121525-264386939405924/AnsiballZ_routerosmodule>
        _ansiballz_main()
      File "/root/.ansible/tmp/ansible-local-20843l7aphwz5/ansible-tmp-1588555470.4121525-264386939405924/AnsiballZ_routerosnsiballz_main
        invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)
      File "/root/.ansible/tmp/ansible-local-20843l7aphwz5/ansible-tmp-1588555470.4121525-264386939405924/AnsiballZ_routerosvoke_module
        runpy.run_module(mod_name='ansible.modules.network.routeros.routeros_command', init_globals=None, run_name='__main__
      File "/usr/lib64/python2.7/runpy.py", line 176, in run_module
        fname, loader, pkg_name)
      File "/usr/lib64/python2.7/runpy.py", line 82, in _run_module_code
        mod_name, mod_fname, mod_loader, pkg_name)
      File "/usr/lib64/python2.7/runpy.py", line 72, in _run_code
        exec code in run_globals
      File "/tmp/ansible_routeros_command_payload_XbsRY1/ansible_routeros_command_payload.zip/ansible/modules/network/routere 187, in <module>
      File "/tmp/ansible_routeros_command_payload_XbsRY1/ansible_routeros_command_payload.zip/ansible/modules/network/routere 157, in main
      File "/tmp/ansible_routeros_command_payload_XbsRY1/ansible_routeros_command_payload.zip/ansible/module_utils/network/r25, in run_commands
      File "/tmp/ansible_routeros_command_payload_XbsRY1/ansible_routeros_command_payload.zip/ansible/module_utils/network/r5, in get_connection
      File "/tmp/ansible_routeros_command_payload_XbsRY1/ansible_routeros_command_payload.zip/ansible/module_utils/network/r9, in get_capabilities
      File "/tmp/ansible_routeros_command_payload_XbsRY1/ansible_routeros_command_payload.zip/ansible/module_utils/connectio
    ansible.module_utils.connection.ConnectionError: Failed to authenticate: Authentication failed.
  module_stdout: ''
  msg: |-
    MODULE FAILURE
    See stdout/stderr for the exact error
  rc: 1

OUTPUT AFTER CHANGES

fatal: [MK]: FAILED! => changed=false
  msg: 'Failed to authenticate: Authentication failed.'

The function get_capabilities was failing to catch connections exceptions, what make an ugly output

OUTPUT BEFORE CHANGES:

The full traceback is:
Traceback (most recent call last):
  File "/root/.ansible/tmp/ansible-local-20843l7aphwz5/ansible-tmp-1588555470.4121525-264386939405924/AnsiballZ_routeros_comle>
    _ansiballz_main()
  File "/root/.ansible/tmp/ansible-local-20843l7aphwz5/ansible-tmp-1588555470.4121525-264386939405924/AnsiballZ_routeros_comallz_main
    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)
  File "/root/.ansible/tmp/ansible-local-20843l7aphwz5/ansible-tmp-1588555470.4121525-264386939405924/AnsiballZ_routeros_com_module
    runpy.run_module(mod_name='ansible.modules.network.routeros.routeros_command', init_globals=None, run_name='__main__', a
  File "/usr/lib64/python2.7/runpy.py", line 176, in run_module
    fname, loader, pkg_name)
  File "/usr/lib64/python2.7/runpy.py", line 82, in _run_module_code
    mod_name, mod_fname, mod_loader, pkg_name)
  File "/usr/lib64/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/tmp/ansible_routeros_command_payload_XbsRY1/ansible_routeros_command_payload.zip/ansible/modules/network/routeros/r7, in <module>
  File "/tmp/ansible_routeros_command_payload_XbsRY1/ansible_routeros_command_payload.zip/ansible/modules/network/routeros/r7, in main
  File "/tmp/ansible_routeros_command_payload_XbsRY1/ansible_routeros_command_payload.zip/ansible/module_utils/network/routein run_commands
  File "/tmp/ansible_routeros_command_payload_XbsRY1/ansible_routeros_command_payload.zip/ansible/module_utils/network/routen get_connection
  File "/tmp/ansible_routeros_command_payload_XbsRY1/ansible_routeros_command_payload.zip/ansible/module_utils/network/routen get_capabilities
  File "/tmp/ansible_routeros_command_payload_XbsRY1/ansible_routeros_command_payload.zip/ansible/module_utils/connection.py
ansible.module_utils.connection.ConnectionError: Failed to authenticate: Authentication failed.
fatal: [MK]: FAILED! => changed=false
  module_stderr: |-
    Traceback (most recent call last):
      File "/root/.ansible/tmp/ansible-local-20843l7aphwz5/ansible-tmp-1588555470.4121525-264386939405924/AnsiballZ_routerosmodule>
        _ansiballz_main()
      File "/root/.ansible/tmp/ansible-local-20843l7aphwz5/ansible-tmp-1588555470.4121525-264386939405924/AnsiballZ_routerosnsiballz_main
        invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)
      File "/root/.ansible/tmp/ansible-local-20843l7aphwz5/ansible-tmp-1588555470.4121525-264386939405924/AnsiballZ_routerosvoke_module
        runpy.run_module(mod_name='ansible.modules.network.routeros.routeros_command', init_globals=None, run_name='__main__
      File "/usr/lib64/python2.7/runpy.py", line 176, in run_module
        fname, loader, pkg_name)
      File "/usr/lib64/python2.7/runpy.py", line 82, in _run_module_code
        mod_name, mod_fname, mod_loader, pkg_name)
      File "/usr/lib64/python2.7/runpy.py", line 72, in _run_code
        exec code in run_globals
      File "/tmp/ansible_routeros_command_payload_XbsRY1/ansible_routeros_command_payload.zip/ansible/modules/network/routere 187, in <module>
      File "/tmp/ansible_routeros_command_payload_XbsRY1/ansible_routeros_command_payload.zip/ansible/modules/network/routere 157, in main
      File "/tmp/ansible_routeros_command_payload_XbsRY1/ansible_routeros_command_payload.zip/ansible/module_utils/network/r25, in run_commands
      File "/tmp/ansible_routeros_command_payload_XbsRY1/ansible_routeros_command_payload.zip/ansible/module_utils/network/r5, in get_connection
      File "/tmp/ansible_routeros_command_payload_XbsRY1/ansible_routeros_command_payload.zip/ansible/module_utils/network/r9, in get_capabilities
      File "/tmp/ansible_routeros_command_payload_XbsRY1/ansible_routeros_command_payload.zip/ansible/module_utils/connectio
    ansible.module_utils.connection.ConnectionError: Failed to authenticate: Authentication failed.
  module_stdout: ''
  msg: |-
    MODULE FAILURE
    See stdout/stderr for the exact error
  rc: 1

OUTPUT AFTER CHANGES 

fatal: [MK]: FAILED! => changed=false
  msg: 'Failed to authenticate: Authentication failed.'
@felixfontein felixfontein changed the title Bug fix: Exception catching routeros: Bug fix: Exception catching May 4, 2020
@felixfontein
Copy link
Collaborator

This needs a changelog fragment (bugfixes:).

CC @heuels

Copy link
Contributor

@Andersson007 Andersson007 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@felixfontein
Copy link
Collaborator

@heuels if you have a bit of time, could you please review this PR? thanks :)

Copy link
Contributor

@heuels heuels left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@heuels
Copy link
Contributor

heuels commented May 18, 2020

@felixfontein, sorry for a slight delay :)

@Andersson007 Andersson007 merged commit 75e3b54 into ansible-collections:master May 18, 2020
@Andersson007
Copy link
Contributor

@renatoalmeidaoliveira thanks for the contribution!
@felixfontein @heuels thanks for reviewing!
merged #27 into master

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants