ansible/test/integration/targets/ios_logging/tests/cli/basic.yaml
Nilashish Chakraborty 72ad0dd4ec Fix ios_logging idempotence CP into 2.5 (#41120)
* Fixes to ios_logging (#41029)

* Logging size may not show up in config

* This is much simpler

* Avoid repetition in tests

* Both options of buffered are optional

(cherry picked from commit 92a95368fe)

* Added changelog
2018-06-07 17:05:47 -07:00

143 lines
3.1 KiB
YAML

---
# ensure logging configs are empty
- name: Remove host logging
ios_logging: &remove_host
dest: host
name: 172.16.0.1
state: absent
provider: "{{ cli }}"
- name: Remove console
ios_logging:
dest: console
level: warnings
state: absent
provider: "{{ cli }}"
- name: Remove buffer
ios_logging:
dest: buffered
size: 8000
provider: "{{ cli }}"
state: absent
# start tests
- name: Set up host logging
ios_logging:
dest: host
name: 172.16.0.1
facility: local7
state: present
provider: "{{ cli }}"
register: result
- assert:
that:
- 'result.changed == true'
- '"logging host 172.16.0.1" in result.commands'
- '"logging facility local7" in result.commands'
- name: Set up host logging again (idempotent)
ios_logging:
dest: host
name: 172.16.0.1
state: present
provider: "{{ cli }}"
register: result
- assert: &unchanged
that:
- 'result.changed == false'
- name: Delete/disable host logging
ios_logging: *remove_host
register: result
- assert:
that:
- 'result.changed == true'
- '"no logging host 172.16.0.1" in result.commands'
- name: Delete/disable host logging (idempotent)
ios_logging: *remove_host
register: result
- assert: *unchanged
- name: Console logging with level warnings
ios_logging:
dest: console
level: warnings
state: present
provider: "{{ cli }}"
register: result
- assert:
that:
- 'result.changed == true'
- '"logging console warnings" in result.commands'
- name: Configure Buffer size
ios_logging:
dest: buffered
size: 8000
provider: "{{ cli }}"
register: result
- assert:
that:
- 'result.changed == true'
- '"logging buffered 8000" in result.commands'
- name: Change logging parameters using aggregate
ios_logging:
aggregate:
- { dest: console, level: notifications }
- { dest: buffered, size: 9000 }
provider: "{{ cli }}"
register: result
- assert:
that:
- 'result.changed == true'
- '"logging buffered 9000" in result.commands'
- '"logging console notifications" in result.commands'
- name: Set both logging destination and facility
ios_logging: &set_both
dest: buffered
facility: uucp
level: alerts
size: 4096
state: present
provider: "{{ cli }}"
register: result
- assert:
that:
- 'result.changed == true'
- '"logging buffered 4096 alerts" in result.commands'
- '"logging facility uucp" in result.commands'
- name: Set both logging destination and facility (idempotent)
ios_logging: *set_both
register: result
- assert: *unchanged
- name: remove logging as collection tearDown
ios_logging:
aggregate:
- { dest: console, level: notifications }
- { dest: buffered, size: 4096, level: alerts }
- { facility: uucp }
state: absent
provider: "{{ cli }}"
register: result
- assert:
that:
- 'result.changed == true'
- '"no logging console" in result.commands'
- '"no logging buffered" in result.commands'
- '"no logging facility uucp" in result.commands'