diff --git a/lib/ansible/modules/network/ios/ios_config.py b/lib/ansible/modules/network/ios/ios_config.py index c5db4331b1..80a0f19de8 100644 --- a/lib/ansible/modules/network/ios/ios_config.py +++ b/lib/ansible/modules/network/ios/ios_config.py @@ -483,7 +483,7 @@ def main(): if running_config.sha1 != startup_config.sha1 or module.params['save_when'] == 'always': result['changed'] = True if not module.check_mode: - run_commands(module, 'copy running-config startup-config') + run_commands(module, 'copy running-config startup-config\r') else: module.warn('Skipping command `copy running-config startup-config` ' 'due to check_mode. Configuration not copied to ' diff --git a/test/integration/targets/ios_config/tests/cli/save.yaml b/test/integration/targets/ios_config/tests/cli/save.yaml index a521a8888d..e74c11f634 100644 --- a/test/integration/targets/ios_config/tests/cli/save.yaml +++ b/test/integration/targets/ios_config/tests/cli/save.yaml @@ -34,10 +34,33 @@ # FIXME https://github.com/ansible/ansible-modules-core/issues/5008 ignore_errors: true +- name: delete config (setup) + ios_config: + replace: line + lines: + - "ip http server" + save_when: modified + authorize: yes + register: result + +- name: save should always run + ios_config: + replace: line + lines: + - "ip http server" + save_when: modified + authorize: yes + register: result + - assert: that: - "result.changed == true" -# FIXME https://github.com/ansible/ansible-modules-core/issues/5008 - ignore_errors: true + +- name: teardown + ios_config: + lines: + - "no ip http server" + authorize: yes + register: result - debug: msg="END cli/save.yaml" diff --git a/test/units/modules/network/ios/test_ios_config.py b/test/units/modules/network/ios/test_ios_config.py index bf66212461..c6a5bcef46 100644 --- a/test/units/modules/network/ios/test_ios_config.py +++ b/test/units/modules/network/ios/test_ios_config.py @@ -76,7 +76,7 @@ class TestIosConfigModule(TestIosModule): self.assertEqual(self.get_config.call_count, 0) self.assertEqual(self.load_config.call_count, 0) args = self.run_commands.call_args[0][1] - self.assertIn('copy running-config startup-config', args) + self.assertIn('copy running-config startup-config\r', args) def test_ios_config_lines_wo_parents(self): set_module_args(dict(lines=['hostname foo']))