From 7af405883ffa2e7688620357c1e9fdb5b3367f4b Mon Sep 17 00:00:00 2001 From: Nathaniel Case Date: Tue, 11 Dec 2018 15:09:00 -0500 Subject: [PATCH] Don't fail on unable to set terminal width on ios (#47290) * Don't fail if ios can't set terminal width * Fix display import --- lib/ansible/plugins/terminal/ios.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/ansible/plugins/terminal/ios.py b/lib/ansible/plugins/terminal/ios.py index c108e91257..f91e61f5f3 100644 --- a/lib/ansible/plugins/terminal/ios.py +++ b/lib/ansible/plugins/terminal/ios.py @@ -25,6 +25,9 @@ import re from ansible.errors import AnsibleConnectionFailure from ansible.module_utils._text import to_text, to_bytes from ansible.plugins.terminal import TerminalBase +from ansible.utils.display import Display + +display = Display() class TerminalModule(TerminalBase): @@ -52,11 +55,15 @@ class TerminalModule(TerminalBase): def on_open_shell(self): try: - for cmd in (b'terminal length 0', b'terminal width 512'): - self._exec_cli_command(cmd) + self._exec_cli_command(b'terminal length 0') except AnsibleConnectionFailure: raise AnsibleConnectionFailure('unable to set terminal parameters') + try: + self._exec_cli_command(b'terminal width 512') + except AnsibleConnectionFailure: + display.display('WARNING: Unable to set terminal width, command responses may be truncated') + def on_become(self, passwd=None): if self._get_prompt().endswith(b'#'): return