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

245 lines
5.5 KiB
YAML

---
- 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
register: result
provider: "{{ connection }}"
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'
- 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
- 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_type: mgmt
interface: 0
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_type: mgmt, interface: 0 }
provider: "{{ connection }}"
state: absent
register: result
- assert:
that:
- 'result.changed == true'
- '"no logging logfile" in result.commands'
- '"no logging level daemon" 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'
- name: remove aggregate logging (idempotent)
nxos_logging: *agg
register: result
- assert: *false
- debug: msg="END connection={{ ansible_connection }} nxos_logging basic test"