Added the 'show commit config diff' output available from the IOSXR device (#54875)

This commit is contained in:
Martin Ouimet 2019-05-27 08:00:14 -04:00 committed by Sumit Jaiswal
parent cab02b7832
commit 398f4b8233
2 changed files with 10 additions and 0 deletions

View file

@ -471,6 +471,11 @@ def load_config(module, command_filter, commit=False, replace=False,
response = conn.edit_config(candidate=command_filter, commit=commit, admin=admin, replace=replace, comment=comment, label=label) response = conn.edit_config(candidate=command_filter, commit=commit, admin=admin, replace=replace, comment=comment, label=label)
if module._diff: if module._diff:
diff = response.get('diff') diff = response.get('diff')
# Overwrite the default diff by the IOS XR commit diff.
# See plugins/cliconf/iosxr.py for this key set: show_commit_config_diff
diff = response.get('show_commit_config_diff')
except ConnectionError as exc: except ConnectionError as exc:
module.fail_json(msg=to_text(exc, errors='surrogate_then_replace')) module.fail_json(msg=to_text(exc, errors='surrogate_then_replace'))

View file

@ -116,6 +116,11 @@ class Cliconf(CliconfBase):
results.append(self.send_command(**line)) results.append(self.send_command(**line))
requests.append(cmd) requests.append(cmd)
# Before any commit happend, we can get a real configuration
# diff from the device and make it available by the iosxr_config module.
# This information can be usefull either in check mode or normal mode.
resp['show_commit_config_diff'] = self.get('show commit changes diff')
if commit: if commit:
self.commit(comment=comment, label=label, replace=replace) self.commit(comment=comment, label=label, replace=replace)
else: else: