From adc533804ae63670bb952973cdd9efc178eb1270 Mon Sep 17 00:00:00 2001 From: abirami-n Date: Tue, 12 Sep 2017 22:54:36 +0530 Subject: [PATCH] module_utils_fix_dellos6 (#28060) --- lib/ansible/module_utils/dellos6.py | 10 +++++++--- lib/ansible/plugins/terminal/dellos6.py | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/ansible/module_utils/dellos6.py b/lib/ansible/module_utils/dellos6.py index 301231a6410..802489c9adb 100644 --- a/lib/ansible/module_utils/dellos6.py +++ b/lib/ansible/module_utils/dellos6.py @@ -168,7 +168,7 @@ def os6_parse(lines, indent=None, comment_tokens=None): re.compile(r'support-assist.*$'), re.compile(r'template.*$'), re.compile(r'address-family.*$'), - re.compile(r'spanning-tree mst.*$'), + re.compile(r'spanning-tree mst configuration.*$'), re.compile(r'logging.*$'), re.compile(r'(radius-server|tacacs-server) host.*$')] @@ -214,7 +214,7 @@ def os6_parse(lines, indent=None, comment_tokens=None): if parent: cfg._parents.extend(parent) parent = list() - config.append(cfg) + config.append(cfg) # handle sublevel children elif parent_match is False and len(parent) > 0: if not children: @@ -240,7 +240,11 @@ class Dellos6NetworkConfig(NetworkConfig): for item in self.items: if str(item) == "exit": for diff_item in diff: - if item._parents == diff_item._parents: + if diff_item._parents: + if item._parents == diff_item._parents: + diff.append(item) + break + else: diff.append(item) break elif item not in other: diff --git a/lib/ansible/plugins/terminal/dellos6.py b/lib/ansible/plugins/terminal/dellos6.py index 4a9272130c8..c238f6ff744 100644 --- a/lib/ansible/plugins/terminal/dellos6.py +++ b/lib/ansible/plugins/terminal/dellos6.py @@ -48,7 +48,7 @@ class TerminalModule(TerminalBase): cmd = {u'command': u'enable'} if passwd: - cmd[u'prompt'] = to_text(r"[\r\n]?password: $", errors='surrogate_or_strict') + cmd[u'prompt'] = to_text(r"[\r\n]?password:$", errors='surrogate_or_strict') cmd[u'answer'] = passwd try: self._exec_cli_command(to_bytes(json.dumps(cmd), errors='surrogate_or_strict'))