From ebb39a0151f9bc87877f3bb797ca7a00a9224f3a Mon Sep 17 00:00:00 2001 From: Gabriele Date: Fri, 30 Sep 2016 16:20:37 -0400 Subject: [PATCH] Fixing nxos_smu (#5021) --- lib/ansible/modules/network/nxos/nxos_smu.py | 31 ++++++++++++++++++-- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/lib/ansible/modules/network/nxos/nxos_smu.py b/lib/ansible/modules/network/nxos/nxos_smu.py index ddab9f0d2b0..3fec4e9e78c 100644 --- a/lib/ansible/modules/network/nxos/nxos_smu.py +++ b/lib/ansible/modules/network/nxos/nxos_smu.py @@ -764,6 +764,19 @@ def execute_show(cmds, module, command_type=None): clie = get_exception() module.fail_json(msg='Error sending {0}'.format(cmds), error=str(clie)) + except AttributeError: + try: + if command_type: + command_type = command_type_map.get(command_type) + module.cli.add_commands(cmds, output=command_type) + response = module.cli.run_commands() + else: + module.cli.add_commands(cmds, raw=True) + response = module.cli.run_commands() + except ShellError: + clie = get_exception() + module.fail_json(msg='Error sending {0}'.format(cmds), + error=str(clie)) return response @@ -788,12 +801,21 @@ def remote_file_exists(module, dst, file_system='bootflash:'): def execute_config_command(commands, module): try: - response = module.configure(commands) + output = module.configure(commands) except ShellError: clie = get_exception() module.fail_json(msg='Error sending CLI commands', error=str(clie), commands=commands) - return response + except AttributeError: + try: + commands.insert(0, 'configure') + module.cli.add_commands(commands, output='config') + output = module.cli.run_commands() + except ShellError: + clie = get_exception() + module.fail_json(msg='Error sending CLI commands', + error=str(clie), commands=commands) + return output def apply_patch(module, commands): @@ -852,11 +874,14 @@ def main(): if not module.check_mode and commands: try: apply_patch(module, commands) - changed=True + changed = True except ShellError: e = get_exception() module.fail_json(msg=str(e)) + if 'configure' in commands: + commands.pop(0) + module.exit_json(changed=changed, pkg=pkg, file_system=file_system,