mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-24 05:40:23 -07:00
cliconf and netconf refactor of iosxr_logging (#34495)
* * cliconf and netconf refactor of iosxr_logging * * documentation issue fix * * adds required_if and mutually_exclusive in arg spec
This commit is contained in:
parent
b66863abf0
commit
08957cf46e
8 changed files with 837 additions and 253 deletions
|
@ -1,2 +1,3 @@
|
|||
---
|
||||
- { include: cli.yaml, tags: ['cli'] }
|
||||
- { include: netconf.yaml, tags: ['netconf'] }
|
||||
|
|
22
test/integration/targets/iosxr_logging/tasks/netconf.yaml
Normal file
22
test/integration/targets/iosxr_logging/tasks/netconf.yaml
Normal file
|
@ -0,0 +1,22 @@
|
|||
---
|
||||
- name: collect all netconf test cases
|
||||
find:
|
||||
paths: "{{ role_path }}/tests/netconf"
|
||||
patterns: "{{ testcase }}.yaml"
|
||||
register: test_cases
|
||||
delegate_to: localhost
|
||||
|
||||
- name: set test_items
|
||||
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
|
||||
|
||||
- name: run test case (connection=netconf)
|
||||
include: "{{ test_case_to_run }} ansible_connection=netconf"
|
||||
with_items: "{{ test_items }}"
|
||||
loop_control:
|
||||
loop_var: test_case_to_run
|
||||
|
||||
- name: run test case (connection=local)
|
||||
include: "{{ test_case_to_run }} ansible_connection=local"
|
||||
with_first_found: "{{ test_items }}"
|
||||
loop_control:
|
||||
loop_var: test_case_to_run
|
|
@ -1,33 +1,33 @@
|
|||
---
|
||||
# Remove old logging entries so that they don't conflict with tests
|
||||
- name: Remove host logging
|
||||
- name: remove host logging
|
||||
iosxr_logging:
|
||||
dest: hostnameprefix
|
||||
dest: host
|
||||
name: 172.16.0.1
|
||||
state: absent
|
||||
provider: "{{ cli }}"
|
||||
|
||||
- name: Remove console logging
|
||||
- name: remove console logging
|
||||
iosxr_logging:
|
||||
dest: console
|
||||
level: warning
|
||||
state: absent
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- name: Remove buffer
|
||||
- name: remove buffered logging
|
||||
iosxr_logging:
|
||||
dest: buffered
|
||||
size: 4800000
|
||||
size: 2097155
|
||||
state: absent
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
# Start tests
|
||||
- name: Set up host logging
|
||||
iosxr_logging:
|
||||
dest: hostnameprefix
|
||||
- name: set up syslog host logging
|
||||
iosxr_logging: &addhostlog
|
||||
dest: host
|
||||
name: 172.16.0.1
|
||||
level: errors
|
||||
state: present
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
@ -35,24 +35,19 @@
|
|||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"logging hostnameprefix 172.16.0.1" in result.commands'
|
||||
- '"logging facility local7" in result.commands'
|
||||
- '"logging 172.16.0.1 vrf default severity error" in result.commands'
|
||||
|
||||
- name: Set up host logging again (idempotent)
|
||||
iosxr_logging:
|
||||
dest: hostnameprefix
|
||||
name: 172.16.0.1
|
||||
state: present
|
||||
provider: "{{ cli }}"
|
||||
- name: set up syslog host logging (idempotent)
|
||||
iosxr_logging: *addhostlog
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
- assert: &false
|
||||
that:
|
||||
- 'result.changed == false'
|
||||
|
||||
- name: Delete/disable host logging
|
||||
iosxr_logging:
|
||||
dest: hostnameprefix
|
||||
- name: delete/disable syslog host logging
|
||||
iosxr_logging: &delhostlog
|
||||
dest: host
|
||||
name: 172.16.0.1
|
||||
state: absent
|
||||
provider: "{{ cli }}"
|
||||
|
@ -61,22 +56,16 @@
|
|||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"no logging hostnameprefix 172.16.0.1" in result.commands'
|
||||
- '"no logging 172.16.0.1 vrf default" in result.commands'
|
||||
|
||||
- name: Delete/disable host logging (idempotent)
|
||||
iosxr_logging:
|
||||
dest: hostnameprefix
|
||||
name: 172.16.0.1
|
||||
state: absent
|
||||
provider: "{{ cli }}"
|
||||
- name: delete/disable syslog host logging (idempotent)
|
||||
iosxr_logging: *delhostlog
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == false'
|
||||
- assert: *false
|
||||
|
||||
- name: Console logging with level warning
|
||||
iosxr_logging:
|
||||
- name: add console logging with level warning
|
||||
iosxr_logging: &consolelog
|
||||
dest: console
|
||||
level: warning
|
||||
state: present
|
||||
|
@ -88,10 +77,29 @@
|
|||
- 'result.changed == true'
|
||||
- '"logging console warning" in result.commands'
|
||||
|
||||
- name: Configure Buffer size
|
||||
iosxr_logging:
|
||||
- name: console logging with level warning (idempotent)
|
||||
iosxr_logging: *consolelog
|
||||
register: result
|
||||
|
||||
- assert: *false
|
||||
|
||||
- name: remove console logging with level warning
|
||||
iosxr_logging:
|
||||
dest: console
|
||||
level: warning
|
||||
state: absent
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert: &true
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
|
||||
- name: configure buffered logging size
|
||||
iosxr_logging: &bufferlog
|
||||
dest: buffered
|
||||
size: 4800000
|
||||
state: present
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
|
@ -100,11 +108,28 @@
|
|||
- 'result.changed == true'
|
||||
- '"logging buffered 4800000" in result.commands'
|
||||
|
||||
- name: Change logging parameters using aggregate
|
||||
- name: configure buffered logging size (idempotence)
|
||||
iosxr_logging: *bufferlog
|
||||
register: result
|
||||
|
||||
- assert: *false
|
||||
|
||||
- name: remove buffered logging size
|
||||
iosxr_logging:
|
||||
dest: buffered
|
||||
size: 4800000
|
||||
state: absent
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert: *true
|
||||
|
||||
- name: change logging parameters using aggregate
|
||||
iosxr_logging:
|
||||
aggregate:
|
||||
- { dest: console, level: notifications }
|
||||
- { dest: buffered, size: 4700000 }
|
||||
state: present
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
|
@ -114,7 +139,7 @@
|
|||
- '"logging buffered 4700000" in result.commands'
|
||||
- '"logging console notifications" in result.commands'
|
||||
|
||||
- name: remove logging as collection tearDown
|
||||
- name: remove logging parameters using aggregate
|
||||
iosxr_logging:
|
||||
aggregate:
|
||||
- { dest: console, level: notifications }
|
||||
|
|
174
test/integration/targets/iosxr_logging/tests/netconf/basic.yaml
Normal file
174
test/integration/targets/iosxr_logging/tests/netconf/basic.yaml
Normal file
|
@ -0,0 +1,174 @@
|
|||
---
|
||||
# Remove old logging entries so that they don't conflict with tests
|
||||
- name: remove host logging
|
||||
iosxr_logging:
|
||||
dest: host
|
||||
name: 172.16.0.1
|
||||
state: absent
|
||||
provider: "{{ netconf }}"
|
||||
|
||||
- name: remove console logging
|
||||
iosxr_logging:
|
||||
dest: console
|
||||
state: absent
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- name: remove buffered logging
|
||||
iosxr_logging:
|
||||
dest: buffered
|
||||
size: 2097155
|
||||
state: absent
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
# Start tests
|
||||
- name: set up syslog host logging
|
||||
iosxr_logging: &addhostlog
|
||||
dest: host
|
||||
name: 172.16.0.1
|
||||
level: errors
|
||||
state: present
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"172.16.0.1" in result.xml[0]'
|
||||
|
||||
- name: set up syslog host logging (idempotent)
|
||||
iosxr_logging: *addhostlog
|
||||
register: result
|
||||
|
||||
- assert: &false
|
||||
that:
|
||||
- 'result.changed == false'
|
||||
|
||||
- name: delete/disable syslog host logging
|
||||
iosxr_logging: &delhostlog
|
||||
dest: host
|
||||
name: 172.16.0.1
|
||||
state: absent
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"172.16.0.1" in result.xml[0]'
|
||||
- '"delete" in result.xml[0]'
|
||||
|
||||
- name: delete/disable syslog host logging (idempotent)
|
||||
iosxr_logging: *delhostlog
|
||||
register: result
|
||||
|
||||
- assert: *false
|
||||
|
||||
- name: add console logging with level warning
|
||||
iosxr_logging: &consolelog
|
||||
dest: console
|
||||
level: warning
|
||||
state: present
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"console" in result.xml[0]'
|
||||
- '"warning" in result.xml[0]'
|
||||
|
||||
- name: console logging with level warning (idempotent)
|
||||
iosxr_logging: *consolelog
|
||||
register: result
|
||||
|
||||
- assert: *false
|
||||
|
||||
- name: remove console logging with level warning
|
||||
iosxr_logging:
|
||||
dest: console
|
||||
level: warning
|
||||
state: absent
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert: &true
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
|
||||
- name: configure buffered logging size
|
||||
iosxr_logging: &bufferlog
|
||||
dest: buffered
|
||||
size: 4800000
|
||||
state: present
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"buffered" in result.xml[0]'
|
||||
- '"4800000" in result.xml[0]'
|
||||
|
||||
- name: configure buffered logging size (idempotence)
|
||||
iosxr_logging: *bufferlog
|
||||
register: result
|
||||
|
||||
- assert: *false
|
||||
|
||||
- name: remove buffered logging size
|
||||
iosxr_logging:
|
||||
dest: buffered
|
||||
size: 4800000
|
||||
state: absent
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert: *true
|
||||
|
||||
- name: change logging parameters using aggregate
|
||||
iosxr_logging:
|
||||
aggregate:
|
||||
- { dest: console, level: notifications }
|
||||
- { dest: buffered, size: 4700000 }
|
||||
- { dest: monitor, level: alerts }
|
||||
- { dest: host, name: 10.10.10.1, level: errors }
|
||||
- { dest: host, name: 10.10.10.2 }
|
||||
- { dest: file, name: file1, size: 2048, level: critical}
|
||||
- { dest: file, name: file2, size: 2048 }
|
||||
- { facility: local3 }
|
||||
- { hostnameprefix: host3 }
|
||||
state: present
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"file1" in result.xml[0]'
|
||||
- '"file2" in result.xml[0]'
|
||||
- '"10.10.10.1" in result.xml[1]'
|
||||
- '"10.10.10.2" in result.xml[1]'
|
||||
- '"notice" in result.xml[2]'
|
||||
- '"alert" in result.xml[3]'
|
||||
- '"4700000" in result.xml[4]'
|
||||
- '"info" in result.xml[5]'
|
||||
- '"local3" in result.xml[6]'
|
||||
- '"host3" in result.xml[7]'
|
||||
|
||||
- name: remove logging parameters using aggregate
|
||||
iosxr_logging:
|
||||
aggregate:
|
||||
- { dest: console, level: notifications }
|
||||
- { dest: buffered, size: 4700000 }
|
||||
state: absent
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"console" in result.xml[0]'
|
||||
- '"buffered" in result.xml[1]'
|
||||
- '"buffered" in result.xml[2]'
|
|
@ -82,7 +82,6 @@ lib/ansible/modules/network/ios/ios_l3_interface.py ansible-format-automatic-spe
|
|||
lib/ansible/modules/network/ios/ios_vlan.py ansible-format-automatic-specification
|
||||
lib/ansible/modules/network/iosxr/iosxr_banner.py ansible-format-automatic-specification
|
||||
lib/ansible/modules/network/iosxr/iosxr_interface.py ansible-format-automatic-specification
|
||||
lib/ansible/modules/network/iosxr/iosxr_logging.py ansible-format-automatic-specification
|
||||
lib/ansible/modules/network/nxos/nxos_logging.py ansible-format-automatic-specification
|
||||
lib/ansible/modules/network/nxos/nxos_snapshot.py ansible-format-automatic-specification
|
||||
lib/ansible/modules/network/vyos/vyos_vlan.py ansible-format-automatic-specification
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue