<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Ansible Cisco IOS Save Changed Config in Code Exchange</title>
    <link>https://community.cisco.com/t5/code-exchange/ansible-cisco-ios-save-changed-config/m-p/4950553#M29</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I wanted to save changes in running config by using the "save_when" parameter:&lt;/P&gt;&lt;P&gt;---&lt;/P&gt;&lt;P&gt;- name: Test Ansible ios_command on Cisco IOS XE&lt;/P&gt;&lt;P&gt;&amp;nbsp; hosts: iosxe&lt;/P&gt;&lt;P&gt;&amp;nbsp; vars_files:&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;- /home/cisco/Ansible/vault_password2.yml&lt;/P&gt;&lt;P&gt;&amp;nbsp; vars:&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ansible_become_pass: "{{ vault_sudo_password }}"&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ansible_python_interpreter: /usr/bin/python3&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; tasks:&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;- name: Check the startup-config against the running-config&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cisco.ios.ios_config:&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;diff_against: startup&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;- name: Save running to startup when modified&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cisco.ios.ios_config:&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;save_when: modified&lt;/P&gt;&lt;P&gt;*&amp;nbsp; changed&lt;/P&gt;&lt;P&gt;*&amp;nbsp; always&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, when using "changed"&lt;/P&gt;&lt;P&gt;task path: /home/cisco/Ansible/library/site-iosxe-CORE_Test-BGP-routeMap-prefixList-removal-vault_v2.yml:101&lt;/P&gt;&lt;P&gt;redirecting (type: connection) ansible.builtin.network_cli to ansible.netcommon.network_cli&lt;/P&gt;&lt;P&gt;redirecting (type: terminal) ansible.builtin.ios to cisco.ios.ios&lt;/P&gt;&lt;P&gt;redirecting (type: cliconf) ansible.builtin.ios to cisco.ios.ios&lt;/P&gt;&lt;P&gt;redirecting (type: action) cisco.ios.ios_config to cisco.ios.ios&lt;/P&gt;&lt;P&gt;redirecting (type: action) cisco.ios.ios_config to cisco.ios.ios&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;STRONG&gt;&amp;nbsp;save_when: modified&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;fatal: [10.0.0.1 ]: FAILED! =&amp;gt; {"changed": false, "msg": "show running-config\r\nshowrunning-config\r\n&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ^\r\n% Invalid input detected at '^' marker.\r\n\r\n;lab-c4500&amp;gt;"}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&lt;STRONG&gt;save_when: changed&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;Changed: ok: [10.0.0.1] =&amp;gt; {"changed": false&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN class=""&gt;save_when: always&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&amp;nbsp;[10.0.0.1]: FAILED! =&amp;gt; {"changed": false, "msg": "copy running-config startup-config\r\ncopy running-config startup-config\r\n&amp;nbsp; ^\r\n% Invalid input detected at '^' marker.\r\n\r\lab-c4500&amp;gt;\r\tlab-c4500&amp;gt;"}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;I would appreciate any help.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;Thanks,&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Mon, 30 Oct 2023 05:56:28 GMT</pubDate>
    <dc:creator>Netmart</dc:creator>
    <dc:date>2023-10-30T05:56:28Z</dc:date>
    <item>
      <title>Ansible Cisco IOS Save Changed Config</title>
      <link>https://community.cisco.com/t5/code-exchange/ansible-cisco-ios-save-changed-config/m-p/4950553#M29</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I wanted to save changes in running config by using the "save_when" parameter:&lt;/P&gt;&lt;P&gt;---&lt;/P&gt;&lt;P&gt;- name: Test Ansible ios_command on Cisco IOS XE&lt;/P&gt;&lt;P&gt;&amp;nbsp; hosts: iosxe&lt;/P&gt;&lt;P&gt;&amp;nbsp; vars_files:&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;- /home/cisco/Ansible/vault_password2.yml&lt;/P&gt;&lt;P&gt;&amp;nbsp; vars:&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ansible_become_pass: "{{ vault_sudo_password }}"&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ansible_python_interpreter: /usr/bin/python3&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; tasks:&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;- name: Check the startup-config against the running-config&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cisco.ios.ios_config:&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;diff_against: startup&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;- name: Save running to startup when modified&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cisco.ios.ios_config:&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;save_when: modified&lt;/P&gt;&lt;P&gt;*&amp;nbsp; changed&lt;/P&gt;&lt;P&gt;*&amp;nbsp; always&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, when using "changed"&lt;/P&gt;&lt;P&gt;task path: /home/cisco/Ansible/library/site-iosxe-CORE_Test-BGP-routeMap-prefixList-removal-vault_v2.yml:101&lt;/P&gt;&lt;P&gt;redirecting (type: connection) ansible.builtin.network_cli to ansible.netcommon.network_cli&lt;/P&gt;&lt;P&gt;redirecting (type: terminal) ansible.builtin.ios to cisco.ios.ios&lt;/P&gt;&lt;P&gt;redirecting (type: cliconf) ansible.builtin.ios to cisco.ios.ios&lt;/P&gt;&lt;P&gt;redirecting (type: action) cisco.ios.ios_config to cisco.ios.ios&lt;/P&gt;&lt;P&gt;redirecting (type: action) cisco.ios.ios_config to cisco.ios.ios&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;STRONG&gt;&amp;nbsp;save_when: modified&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;fatal: [10.0.0.1 ]: FAILED! =&amp;gt; {"changed": false, "msg": "show running-config\r\nshowrunning-config\r\n&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ^\r\n% Invalid input detected at '^' marker.\r\n\r\n;lab-c4500&amp;gt;"}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&lt;STRONG&gt;save_when: changed&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;Changed: ok: [10.0.0.1] =&amp;gt; {"changed": false&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN class=""&gt;save_when: always&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&amp;nbsp;[10.0.0.1]: FAILED! =&amp;gt; {"changed": false, "msg": "copy running-config startup-config\r\ncopy running-config startup-config\r\n&amp;nbsp; ^\r\n% Invalid input detected at '^' marker.\r\n\r\lab-c4500&amp;gt;\r\tlab-c4500&amp;gt;"}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;I would appreciate any help.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;Thanks,&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 30 Oct 2023 05:56:28 GMT</pubDate>
      <guid>https://community.cisco.com/t5/code-exchange/ansible-cisco-ios-save-changed-config/m-p/4950553#M29</guid>
      <dc:creator>Netmart</dc:creator>
      <dc:date>2023-10-30T05:56:28Z</dc:date>
    </item>
    <item>
      <title>Re: Ansible Cisco IOS Save Changed Config</title>
      <link>https://community.cisco.com/t5/code-exchange/ansible-cisco-ios-save-changed-config/m-p/4950584#M30</link>
      <description>&lt;P&gt;Since "changed" only triggers a configuration save when the current task has made a change, I believe you aren't allowed to run any higher privilege commands/you are stuck in user exec mode. You should verify that authentication and authorization works as intended. Can you run the playbook with the -vvv parameter and add the output here?&lt;/P&gt;&lt;P&gt;EDIT: The prompt in your error messages indicate that the session is indeed stuck in user exec mode. Verify the auth config and your ansible privilege escalation/"become" settings.&lt;/P&gt;</description>
      <pubDate>Mon, 30 Oct 2023 06:53:15 GMT</pubDate>
      <guid>https://community.cisco.com/t5/code-exchange/ansible-cisco-ios-save-changed-config/m-p/4950584#M30</guid>
      <dc:creator>Torbjørn</dc:creator>
      <dc:date>2023-10-30T06:53:15Z</dc:date>
    </item>
  </channel>
</rss>

