From 69649358b10e7b30ed792906db302eaec9640c7a Mon Sep 17 00:00:00 2001 From: Peter Sprygada Date: Mon, 21 Nov 2016 10:47:48 -0500 Subject: [PATCH] fixes issue with setting the terminal length (pager) in vyos (#18546) `set terminal length 0` actually sets `VYATTA_PAGER=cat` `set terminal length [some number]` actually sets `stty length [some number]` --- lib/ansible/module_utils/shell.py | 3 ++- lib/ansible/module_utils/vyos.py | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/ansible/module_utils/shell.py b/lib/ansible/module_utils/shell.py index 5a1fccb2034..2f30f58a064 100644 --- a/lib/ansible/module_utils/shell.py +++ b/lib/ansible/module_utils/shell.py @@ -36,7 +36,8 @@ from ansible.module_utils._text import to_native ANSI_RE = [ re.compile(r'(\x1b\[\?1h\x1b=)'), - re.compile(r'\x08.') + re.compile(r'\x08'), + re.compile(r'\x1b[^m]*m') ] def to_list(val): diff --git a/lib/ansible/module_utils/vyos.py b/lib/ansible/module_utils/vyos.py index a0edaa6b87a..90a21d4712a 100644 --- a/lib/ansible/module_utils/vyos.py +++ b/lib/ansible/module_utils/vyos.py @@ -27,6 +27,7 @@ # import re +import os from ansible.module_utils.network import NetworkModule, NetworkError from ansible.module_utils.network import register_transport, to_list @@ -46,9 +47,13 @@ class Cli(CliBase): re.compile(r"\n\s+Set failed"), ] + TERMINAL_LENGTH = os.getenv('ANSIBLE_VYOS_TERMINAL_LENGTH', 10000) + + def connect(self, params, **kwargs): super(Cli, self).connect(params, kickstart=False, **kwargs) self.shell.send('set terminal length 0') + self.shell.send('set terminal length %s' % self.TERMINAL_LENGTH) ### implementation of netcli.Cli ###