--- - debug: msg="START connection={{ ansible_connection }} nxos_banner sanity test" - debug: msg="Using provider={{ connection.transport }}" when: ansible_connection == "local" - set_fact: banner_exec_image_ok # N5K/N6K/N9K-F support banner exec but have image defects when: platform is search("N7K|N3K-F") - set_fact: banner_motd_image_ok # multiline banner issues when: imagetag is not search("I7") and ansible_connection != "httpapi" # banner exec tests - block: - debug: msg="START nxos_banner exec tests" - name: setup exec nxos_banner: &remove_exec banner: exec state: absent - name: Set exec nxos_banner: &exec banner: exec text: | this is my exec banner that has a multiline string state: present register: result - assert: that: - "result.changed == true" - "'banner exec @\nthis is my exec banner\nthat has a multiline\nstring\n@' in result.commands" - name: Set exec again (idempotent) nxos_banner: *exec register: result - assert: that: - "result.changed == false" - "result.commands | length == 0" - name: teardown exec nxos_banner: *remove_exec when: banner_exec_image_ok is defined # banner motd tests - block: - name: setup motd nxos_banner: &remove_motd banner: motd state: absent - name: Set motd nxos_banner: &motd banner: motd text: | Junk motd banner over multiple lines state: present register: result - assert: that: - "result.changed == true" - "'banner motd @\nJunk motd banner\nover multiple lines\n@' in result.commands" - name: Set motd again (idempotent) nxos_banner: *motd register: result - assert: that: - "result.changed == false" - name: teardown motd nxos_banner: *remove_motd when: banner_motd_image_ok is defined - debug: msg="END connection={{ ansible_connection }} nxos_banner sanity test"