|
|
|
---
|
|
|
|
- debug: msg="START connection={{ ansible_connection }} nxos_logging basic test"
|
|
|
|
- debug: msg="Using provider={{ connection.transport }}"
|
|
|
|
when: ansible_connection == "local"
|
|
|
|
|
|
|
|
- name: Set up console logging
|
|
|
|
nxos_logging: &clog
|
|
|
|
dest: console
|
|
|
|
dest_level: 0
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
state: present
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == true'
|
|
|
|
- '"logging console 0" in result.commands'
|
|
|
|
|
|
|
|
- name: Set up console logging again (idempotent)
|
|
|
|
nxos_logging: *clog
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: &false
|
|
|
|
that:
|
|
|
|
- 'result.changed == false'
|
|
|
|
|
|
|
|
- name: Set up console logging with level 2 (edge case)
|
|
|
|
nxos_logging: &clog2
|
|
|
|
dest: console
|
|
|
|
dest_level: 2
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
state: present
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == true'
|
|
|
|
- '"logging console 2" in result.commands'
|
|
|
|
|
|
|
|
- name: Set up console logging with level 2 (edge case) (idempotent)
|
|
|
|
nxos_logging: *clog2
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *false
|
|
|
|
|
|
|
|
- name: Set Baud Rate to less than 38400
|
|
|
|
nxos_config:
|
|
|
|
lines:
|
|
|
|
- speed 9600
|
|
|
|
parents: line console
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
|
|
|
|
- name: Enable console logging with level 3 (will fail)
|
|
|
|
nxos_logging: &con3
|
|
|
|
dest: console
|
|
|
|
dest_level: 3
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
register: result
|
|
|
|
ignore_errors: yes
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.failed == true'
|
|
|
|
|
|
|
|
- name: Set Baud Rate to 38400
|
|
|
|
nxos_config:
|
|
|
|
lines:
|
|
|
|
- speed 38400
|
|
|
|
parents: line console
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
|
|
|
|
- name: Enable console logging with level 3 (will pass)
|
|
|
|
nxos_logging: *con3
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == true'
|
|
|
|
- '"logging console 3" in result.commands'
|
|
|
|
|
|
|
|
- block:
|
|
|
|
- name: Logfile logging with level
|
|
|
|
nxos_logging: &llog
|
|
|
|
dest: logfile
|
|
|
|
name: test
|
|
|
|
dest_level: 1
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
state: present
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == true'
|
|
|
|
- '"logging logfile test 1" in result.commands'
|
|
|
|
|
|
|
|
|
|
|
|
- name: Logfile logging with level (idempotent)
|
|
|
|
nxos_logging: *llog
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *false
|
|
|
|
|
|
|
|
when: platform is not search('N5K|N7K') and imagetag is not search("A8")
|
|
|
|
|
|
|
|
- name: Configure module with level
|
|
|
|
nxos_logging: &molog
|
|
|
|
dest: module
|
|
|
|
dest_level: 2
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == true'
|
|
|
|
- '"logging module 2" in result.commands'
|
|
|
|
|
|
|
|
- name: Configure module with level (idempotent)
|
|
|
|
nxos_logging: *molog
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *false
|
|
|
|
|
|
|
|
- name: Configure monitor with level
|
|
|
|
nxos_logging: &mlog
|
|
|
|
dest: monitor
|
|
|
|
dest_level: 3
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == true'
|
|
|
|
- '"logging monitor 3" in result.commands'
|
|
|
|
|
|
|
|
- name: Configure monitor with level (idempotent)
|
|
|
|
nxos_logging: *mlog
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *false
|
|
|
|
|
|
|
|
- name: Configure monitor with level 5 (edge case)
|
|
|
|
nxos_logging: &mlog5
|
|
|
|
dest: monitor
|
|
|
|
dest_level: 5
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == true'
|
|
|
|
- '"logging monitor 5" in result.commands'
|
|
|
|
|
|
|
|
- name: Configure monitor with level 5 (edge case) (idempotent)
|
|
|
|
nxos_logging: *mlog5
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *false
|
|
|
|
|
|
|
|
- name: Configure facility with level
|
|
|
|
nxos_logging: &flog
|
|
|
|
facility: daemon
|
|
|
|
facility_level: 4
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == true'
|
|
|
|
- '"logging level daemon 4" in result.commands'
|
|
|
|
|
|
|
|
- name: Configure facility with level (idempotent)
|
|
|
|
nxos_logging: *flog
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *false
|
|
|
|
|
|
|
|
- name: Configure Remote Logging
|
|
|
|
nxos_logging: &rlog
|
|
|
|
dest: server
|
|
|
|
remote_server: test-syslogserver.com
|
|
|
|
facility: auth
|
|
|
|
facility_level: 1
|
|
|
|
use_vrf: management
|
|
|
|
state: present
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == true'
|
|
|
|
- '"logging server test-syslogserver.com 1 facility auth use-vrf management" in result.commands'
|
|
|
|
|
|
|
|
- name: Configure Remote Logging (idempotent)
|
|
|
|
nxos_logging: *rlog
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *false
|
|
|
|
|
|
|
|
- name: Configure Source Interface for Logging
|
|
|
|
nxos_logging: &srcint
|
|
|
|
interface: mgmt0
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == true'
|
|
|
|
- '"logging source-interface mgmt 0" in result.commands'
|
|
|
|
|
|
|
|
- name: Configure Source Interface for Logging (idempotent)
|
|
|
|
nxos_logging: *srcint
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == false'
|
|
|
|
|
|
|
|
- name: remove logging as collection tearDown
|
|
|
|
nxos_logging: &agg
|
|
|
|
aggregate:
|
|
|
|
- { dest: console, dest_level: 3 }
|
|
|
|
- { dest: module, dest_level: 2 }
|
|
|
|
- { dest: monitor, dest_level: 5 }
|
|
|
|
- { dest: logfile, dest_level: 1, name: test }
|
|
|
|
- { facility: daemon, facility_level: 4 }
|
|
|
|
- { dest: server, remote_server: test-syslogserver.com, facility: auth, facility_level: 1, use_vrf: management }
|
|
|
|
- { interface: mgmt0 }
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
state: absent
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == true'
|
|
|
|
- '"no logging logfile" in result.commands'
|
|
|
|
- '"no logging level daemon 4" in result.commands'
|
|
|
|
- '"no logging monitor" in result.commands'
|
|
|
|
- '"no logging module" in result.commands'
|
|
|
|
- '"no logging server test-syslogserver.com" in result.commands'
|
|
|
|
- '"no logging source-interface" in result.commands'
|
|
|
|
when: platform is not search('N5K|N7K') and imagetag is not search("A8")
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == true'
|
|
|
|
- '"no logging level daemon 4" in result.commands'
|
|
|
|
- '"no logging monitor" in result.commands'
|
|
|
|
- '"no logging module" in result.commands'
|
|
|
|
- '"no logging server test-syslogserver.com" in result.commands'
|
|
|
|
- '"no logging source-interface" in result.commands'
|
|
|
|
when: platform is search('N5K|N7K') or imagetag is search("A8")
|
|
|
|
|
|
|
|
- name: remove aggregate logging (idempotent)
|
|
|
|
nxos_logging: *agg
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *false
|
|
|
|
|
|
|
|
- block:
|
|
|
|
- name: Configure Logging message
|
|
|
|
nxos_logging: &logm
|
|
|
|
message: add-interface-description
|
|
|
|
state: present
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: &true
|
|
|
|
that:
|
|
|
|
- 'result.changed == true'
|
|
|
|
|
|
|
|
- name: Configure Logging message (idempotent)
|
|
|
|
nxos_logging: *logm
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *false
|
|
|
|
|
|
|
|
- name: Remove Logging message
|
|
|
|
nxos_logging:
|
|
|
|
message: add-interface-description
|
|
|
|
state: absent
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *true
|
|
|
|
when: platform is not search('N5K') and imagetag is not search("A8")
|
|
|
|
|
|
|
|
|
|
|
|
- name: Logfile logging with level and size
|
|
|
|
nxos_logging: &llogs
|
|
|
|
dest: logfile
|
|
|
|
name: test
|
|
|
|
dest_level: 1
|
|
|
|
file_size: 16384
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
state: present
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == true'
|
|
|
|
- '"logging logfile test 1 size 16384" in result.commands'
|
|
|
|
|
|
|
|
- name: Logfile logging with level and size (idempotent)
|
|
|
|
nxos_logging: *llogs
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *false
|
|
|
|
|
|
|
|
- name: Remove logfile logging with level and size
|
|
|
|
nxos_logging:
|
|
|
|
dest: logfile
|
|
|
|
name: test
|
|
|
|
dest_level: 1
|
|
|
|
file_size: 16384
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
state: absent
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *true
|
|
|
|
|
|
|
|
- name: Set up logging event link enable
|
|
|
|
nxos_logging: &logle
|
|
|
|
event: link-enable
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == true'
|
|
|
|
- '"logging event link-status enable" in result.commands'
|
|
|
|
|
|
|
|
- name: Set up logging event link enable again (idempotent)
|
|
|
|
nxos_logging: *logle
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *false
|
|
|
|
|
|
|
|
- name: Remove logging event link enable
|
|
|
|
nxos_logging: &rlogle
|
|
|
|
event: link-enable
|
|
|
|
state: absent
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *true
|
|
|
|
|
|
|
|
- name: Remove logging event link enable again (idempotent)
|
|
|
|
nxos_logging: *rlogle
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *false
|
|
|
|
|
|
|
|
- name: Set up logging event link default
|
|
|
|
nxos_logging: &logld
|
|
|
|
event: link-default
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == true'
|
|
|
|
- '"logging event link-status default" in result.commands'
|
|
|
|
|
|
|
|
- name: Set up logging event link default again (idempotent)
|
|
|
|
nxos_logging: *logld
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *false
|
|
|
|
|
|
|
|
- name: Remove logging event link default
|
|
|
|
nxos_logging: &rlogld
|
|
|
|
event: link-default
|
|
|
|
state: absent
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *true
|
|
|
|
|
|
|
|
- name: Remove logging event link default again (idempotent)
|
|
|
|
nxos_logging: *rlogld
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *false
|
|
|
|
|
|
|
|
- name: Set up logging event trunk enable
|
|
|
|
nxos_logging: &logte
|
|
|
|
event: trunk-enable
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == true'
|
|
|
|
- '"logging event trunk-status enable" in result.commands'
|
|
|
|
|
|
|
|
- name: Set up logging event trunk enable again (idempotent)
|
|
|
|
nxos_logging: *logte
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *false
|
|
|
|
|
|
|
|
- name: Remove logging event trunk enable
|
|
|
|
nxos_logging: &rlogte
|
|
|
|
event: trunk-enable
|
|
|
|
state: absent
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *true
|
|
|
|
|
|
|
|
- name: Remove logging event trunk enable again (idempotent)
|
|
|
|
nxos_logging: *rlogte
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *false
|
|
|
|
- name: Set up logging event trunk default
|
|
|
|
nxos_logging: &logtd
|
|
|
|
event: trunk-default
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == true'
|
|
|
|
- '"logging event trunk-status default" in result.commands'
|
|
|
|
|
|
|
|
- name: Set up logging event trunk default again (idempotent)
|
|
|
|
nxos_logging: *logtd
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *false
|
|
|
|
|
|
|
|
- name: Remove logging event trunk default
|
|
|
|
nxos_logging: &rlogtd
|
|
|
|
event: trunk-default
|
|
|
|
state: absent
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *true
|
|
|
|
|
|
|
|
- name: Remove logging event trunk default again (idempotent)
|
|
|
|
nxos_logging: *rlogtd
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *false
|
|
|
|
|
|
|
|
- name: Set up Logging Timestamp
|
|
|
|
nxos_logging: <ms
|
|
|
|
timestamp: microseconds
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
state: present
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *true
|
|
|
|
|
|
|
|
- name: Set up Logging Timestamp (idempotent)
|
|
|
|
nxos_logging: *ltms
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *false
|
|
|
|
|
|
|
|
- name: Remove Logging Timestamp
|
|
|
|
nxos_logging:
|
|
|
|
timestamp: microseconds
|
|
|
|
state: absent
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *true
|
|
|
|
|
|
|
|
- name: Set up Facility ethpm Link UP Error
|
|
|
|
|
|
|
|
nxos_logging: &felue
|
|
|
|
facility: ethpm
|
|
|
|
facility_link_status: link-up-error
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
state: present
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *true
|
|
|
|
|
|
|
|
- name: Set up Facility ethpm Link UP Error (idempotent)
|
|
|
|
nxos_logging: *felue
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *false
|
|
|
|
|
|
|
|
- name: Remove Facility ethpm Link UP Error
|
|
|
|
nxos_logging:
|
|
|
|
facility: ethpm
|
|
|
|
facility_link_status: link-up-error
|
|
|
|
state: absent
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *true
|
|
|
|
|
|
|
|
- name: Set up Facility ethpm Link DOWN Error
|
|
|
|
|
|
|
|
nxos_logging: &felde
|
|
|
|
facility: ethpm
|
|
|
|
facility_link_status: link-down-error
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
state: present
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *true
|
|
|
|
|
|
|
|
- name: Set up Facility ethpm Link DOWN Error (idempotent)
|
|
|
|
nxos_logging: *felde
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *false
|
|
|
|
|
|
|
|
- name: Remove Facility ethpm Link DOWN Error
|
|
|
|
nxos_logging:
|
|
|
|
facility: ethpm
|
|
|
|
facility_link_status: link-down-error
|
|
|
|
state: absent
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *true
|
|
|
|
|
|
|
|
- debug: msg="END connection={{ ansible_connection }} nxos_logging basic test"
|