diff options
author | Kedar Kekan <4506537+kedarX@users.noreply.github.com> | 2018-01-11 10:08:11 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-11 10:08:11 +0530 |
commit | 08957cf46e449e953b7b84532af3dd47b3ed5f34 (patch) | |
tree | a1e914433217925401108e007a0811169ce3a91d /test/integration/targets/iosxr_logging | |
parent | b66863abf0cb51295ba20caba9d206a4d1a82c72 (diff) | |
download | ansible-08957cf46e449e953b7b84532af3dd47b3ed5f34.tar.gz |
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
Diffstat (limited to 'test/integration/targets/iosxr_logging')
4 files changed, 259 insertions, 37 deletions
diff --git a/test/integration/targets/iosxr_logging/tasks/main.yaml b/test/integration/targets/iosxr_logging/tasks/main.yaml index 415c99d8b1..af08869c92 100644 --- a/test/integration/targets/iosxr_logging/tasks/main.yaml +++ b/test/integration/targets/iosxr_logging/tasks/main.yaml @@ -1,2 +1,3 @@ --- - { include: cli.yaml, tags: ['cli'] } +- { include: netconf.yaml, tags: ['netconf'] } diff --git a/test/integration/targets/iosxr_logging/tasks/netconf.yaml b/test/integration/targets/iosxr_logging/tasks/netconf.yaml new file mode 100644 index 0000000000..a5632f8461 --- /dev/null +++ b/test/integration/targets/iosxr_logging/tasks/netconf.yaml @@ -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 diff --git a/test/integration/targets/iosxr_logging/tests/cli/basic.yaml b/test/integration/targets/iosxr_logging/tests/cli/basic.yaml index 5ef97cd9ab..477d30481d 100644 --- a/test/integration/targets/iosxr_logging/tests/cli/basic.yaml +++ b/test/integration/targets/iosxr_logging/tests/cli/basic.yaml @@ -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 } diff --git a/test/integration/targets/iosxr_logging/tests/netconf/basic.yaml b/test/integration/targets/iosxr_logging/tests/netconf/basic.yaml new file mode 100644 index 0000000000..91d4e36c09 --- /dev/null +++ b/test/integration/targets/iosxr_logging/tests/netconf/basic.yaml @@ -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]' |