Fetch ios default config is defaults is enabled (#39741) (#39841)

If default option is eanbled fetch the current
running configuration by adding `all` or `full`
flag
(cherry picked from commit 09e3b5c92b)
Update Changelog
This commit is contained in:
Ganesh Nalawade 2018-05-08 10:11:54 +05:30 committed by GitHub
parent e1fde2a50f
commit 4b979742fa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 4 deletions

View file

@ -0,0 +1,2 @@
bugfixes:
- ios_config - If defaults is enabled append default flag to command (https://github.com/ansible/ansible/pull/39741)

View file

@ -373,13 +373,13 @@ def load_banners(module, banners):
run_commands(module, ['\n']) run_commands(module, ['\n'])
def get_running_config(module, current_config=None): def get_running_config(module, current_config=None, flags=None):
contents = module.params['running_config'] contents = module.params['running_config']
if not contents: if not contents:
if not module.params['defaults'] and current_config: if not module.params['defaults'] and current_config:
contents, banners = extract_banners(current_config.config_text) contents, banners = extract_banners(current_config.config_text)
else: else:
flags = get_defaults_flag(module) if module.params['defaults'] else []
contents = get_config(module, flags=flags) contents = get_config(module, flags=flags)
contents, banners = extract_banners(contents) contents, banners = extract_banners(contents)
return NetworkConfig(indent=1, contents=contents), banners return NetworkConfig(indent=1, contents=contents), banners
@ -467,9 +467,10 @@ def main():
result['warnings'] = warnings result['warnings'] = warnings
config = None config = None
flags = get_defaults_flag(module) if module.params['defaults'] else []
if module.params['backup'] or (module._diff and module.params['diff_against'] == 'running'): if module.params['backup'] or (module._diff and module.params['diff_against'] == 'running'):
contents = get_config(module) contents = get_config(module, flags=flags)
config = NetworkConfig(indent=1, contents=contents) config = NetworkConfig(indent=1, contents=contents)
if module.params['backup']: if module.params['backup']:
result['__backup__'] = contents result['__backup__'] = contents
@ -482,7 +483,7 @@ def main():
candidate, want_banners = get_candidate(module) candidate, want_banners = get_candidate(module)
if match != 'none': if match != 'none':
config, have_banners = get_running_config(module, config) config, have_banners = get_running_config(module, config, flags=flags)
path = module.params['parents'] path = module.params['parents']
configobjs = candidate.difference(config, path=path, match=match, replace=replace) configobjs = candidate.difference(config, path=path, match=match, replace=replace)
else: else: