Fix ios_config file prompt issue (#32744)
Fixes #23263 Add a carriage return (\r) at end on copy config command which results in prompt on cli terminal
This commit is contained in:
parent
316e7939d6
commit
37b0537279
3 changed files with 27 additions and 4 deletions
|
@ -483,7 +483,7 @@ def main():
|
||||||
if running_config.sha1 != startup_config.sha1 or module.params['save_when'] == 'always':
|
if running_config.sha1 != startup_config.sha1 or module.params['save_when'] == 'always':
|
||||||
result['changed'] = True
|
result['changed'] = True
|
||||||
if not module.check_mode:
|
if not module.check_mode:
|
||||||
run_commands(module, 'copy running-config startup-config')
|
run_commands(module, 'copy running-config startup-config\r')
|
||||||
else:
|
else:
|
||||||
module.warn('Skipping command `copy running-config startup-config` '
|
module.warn('Skipping command `copy running-config startup-config` '
|
||||||
'due to check_mode. Configuration not copied to '
|
'due to check_mode. Configuration not copied to '
|
||||||
|
|
|
@ -34,10 +34,33 @@
|
||||||
# FIXME https://github.com/ansible/ansible-modules-core/issues/5008
|
# FIXME https://github.com/ansible/ansible-modules-core/issues/5008
|
||||||
ignore_errors: true
|
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:
|
- assert:
|
||||||
that:
|
that:
|
||||||
- "result.changed == true"
|
- "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"
|
- debug: msg="END cli/save.yaml"
|
||||||
|
|
|
@ -76,7 +76,7 @@ class TestIosConfigModule(TestIosModule):
|
||||||
self.assertEqual(self.get_config.call_count, 0)
|
self.assertEqual(self.get_config.call_count, 0)
|
||||||
self.assertEqual(self.load_config.call_count, 0)
|
self.assertEqual(self.load_config.call_count, 0)
|
||||||
args = self.run_commands.call_args[0][1]
|
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):
|
def test_ios_config_lines_wo_parents(self):
|
||||||
set_module_args(dict(lines=['hostname foo']))
|
set_module_args(dict(lines=['hostname foo']))
|
||||||
|
|
Loading…
Reference in a new issue