From 9e89d2be1a9180fc97c37fc37d7f5c7b240561f4 Mon Sep 17 00:00:00 2001 From: Tim Rupp Date: Tue, 5 Dec 2017 13:03:16 -0800 Subject: [PATCH] Adds a tmsh command fallback (#33592) * Adds a tmsh command fallback The bigip terminal plugin assumes that the remote shell is tmsh. This is not always true. The remote shell may be bash sometimes. This adds a different shell command in the case that bash is the remote shell * Fixing upstream errors --- lib/ansible/plugins/terminal/bigip.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/ansible/plugins/terminal/bigip.py b/lib/ansible/plugins/terminal/bigip.py index 2e9f65dee8d..71ffe819773 100644 --- a/lib/ansible/plugins/terminal/bigip.py +++ b/lib/ansible/plugins/terminal/bigip.py @@ -51,5 +51,10 @@ class TerminalModule(TerminalBase): def on_open_shell(self): try: self._exec_cli_command(b'modify cli preference display-threshold 0 pager disabled') - except AnsibleConnectionFailure: - raise AnsibleConnectionFailure('unable to set terminal parameters') + except AnsibleConnectionFailure as ex: + output = str(ex) + if 'modify: command not found' in output: + try: + self._exec_cli_command(b'tmsh modify cli preference display-threshold 0 pager disabled') + except AnsibleConnectionFailure as ex: + raise AnsibleConnectionFailure('unable to set terminal parameters')