From 91ecb87b73a0463fa3dc9603822939422508844f Mon Sep 17 00:00:00 2001 From: Sumit Jaiswal Date: Fri, 8 Jun 2018 10:29:42 +0530 Subject: [PATCH] eos handles error gracefully when maximum sessions is reached (#41242) * to resolve #36977 * to resolve #36977 * fix review comment --- lib/ansible/module_utils/network/eos/eos.py | 2 +- lib/ansible/plugins/terminal/eos.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/ansible/module_utils/network/eos/eos.py b/lib/ansible/module_utils/network/eos/eos.py index f4ddd02e73..7c8843c004 100644 --- a/lib/ansible/module_utils/network/eos/eos.py +++ b/lib/ansible/module_utils/network/eos/eos.py @@ -205,7 +205,7 @@ class Cli: return conn.load_config(commands, commit, replace) except ConnectionError as exc: message = getattr(exc, 'err', exc) - self._module.fail_json(msg="Error on executing commands %s" % commands, data=to_text(message, errors='surrogate_then_replace')) + self._module.fail_json(msg="%s" % message, data=to_text(message, errors='surrogate_then_replace')) class Eapi: diff --git a/lib/ansible/plugins/terminal/eos.py b/lib/ansible/plugins/terminal/eos.py index 3eb3c15b03..625aab1e0d 100644 --- a/lib/ansible/plugins/terminal/eos.py +++ b/lib/ansible/plugins/terminal/eos.py @@ -45,7 +45,8 @@ class TerminalModule(TerminalBase): re.compile(br"[^\r\n]+ not found", re.I), re.compile(br"'[^']' +returned error code: ?\d+"), re.compile(br"[^\r\n]\/bin\/(?:ba)?sh"), - re.compile(br"% More than \d+ OSPF instance", re.I) + re.compile(br"% More than \d+ OSPF instance", re.I), + re.compile(br"Maximum number of pending sessions has been reached") ] def on_open_shell(self):