You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/test/integration/targets/nxos_logging/tests/common/basic.yaml

529 lines
12 KiB
YAML

---
- debug: msg="START connection={{ ansible_connection }} nxos_logging basic test"
- debug: msg="Using provider={{ connection.transport }}"
when: ansible_connection == "local"
# This task is needed to clear out any previous logfile
# size settings.
- name: Workaround to clear logging logfile size
nxos_config:
lines:
- logging logfile test 1 size 4194304
provider: "{{ connection }}"
ignore_errors: yes
- name: Purge logging configuration first
nxos_logging:
purge: true
provider: "{{ connection }}"
- 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 19200
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
interface_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:
interface_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: &ltms
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"