* Fixes #24251 save config only if it is changed Save to startup configuration only when it is different from running configuration. * Fix unit test issue
This commit is contained in:
parent
c6533d4da9
commit
f5d865a208
3 changed files with 10 additions and 5 deletions
|
@ -331,8 +331,10 @@ def main():
|
|||
|
||||
if module.params['save']:
|
||||
if not module.check_mode:
|
||||
run_commands(module, ['copy running-config startup-config'])
|
||||
result['changed'] = True
|
||||
response = run_commands(module, ['show running-config diffs'])
|
||||
if len(response[0]):
|
||||
run_commands(module, ['copy running-config startup-config'])
|
||||
result['changed'] = True
|
||||
|
||||
module.exit_json(**result)
|
||||
|
||||
|
|
|
@ -382,8 +382,10 @@ def main():
|
|||
|
||||
if module.params['save']:
|
||||
if not module.check_mode:
|
||||
run_commands(module, ['copy running-config startup-config\r'])
|
||||
result['changed'] = True
|
||||
response = run_commands(module, ['show archive config differences'])
|
||||
if response[0].find('!No changes were found') < 0:
|
||||
run_commands(module, ['copy running-config startup-config\r'])
|
||||
result['changed'] = True
|
||||
|
||||
module.exit_json(**result)
|
||||
|
||||
|
|
|
@ -69,9 +69,10 @@ class TestIosConfigModule(TestIosModule):
|
|||
self.assertIn('__backup__', result)
|
||||
|
||||
def test_ios_config_save(self):
|
||||
self.run_commands.return_value = "Hostname foo"
|
||||
set_module_args(dict(save=True))
|
||||
self.execute_module(changed=True)
|
||||
self.assertEqual(self.run_commands.call_count, 1)
|
||||
self.assertEqual(self.run_commands.call_count, 2)
|
||||
self.assertEqual(self.get_config.call_count, 0)
|
||||
self.assertEqual(self.load_config.call_count, 0)
|
||||
args = self.run_commands.call_args[0][1]
|
||||
|
|
Loading…
Reference in a new issue