mirror of https://github.com/ansible/ansible.git
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.
128 lines
2.8 KiB
YAML
128 lines
2.8 KiB
YAML
---
|
|
- set_fact: snmp_type="trap"
|
|
- set_fact: snmp_version="v3"
|
|
- set_fact: snmp_auth="priv"
|
|
|
|
- debug: msg="START connection={{ ansible_connection }} nxos_snmp_host {{ snmp_type }} {{ snmp_version }} sanity test"
|
|
- debug: msg="Using provider={{ connection.transport }}"
|
|
when: ansible_connection == "local"
|
|
|
|
# Select interface for test
|
|
- set_fact: intname="{{ nxos_int1 }}"
|
|
when: not (platform is match("N5K"))
|
|
|
|
- name: Setup - Remove snmp_host if configured
|
|
nxos_snmp_host: &remove
|
|
snmp_host: 3.3.3.3
|
|
community: TESTING
|
|
udp: 222
|
|
v3: "{{ snmp_auth|default(omit) }}"
|
|
version: "{{ snmp_version }}"
|
|
snmp_type: "{{ snmp_type }}"
|
|
vrf: management
|
|
vrf_filter: management
|
|
src_intf: "{{ intname|default(omit) }}"
|
|
state: absent
|
|
ignore_errors: yes
|
|
|
|
- block:
|
|
|
|
- name: Configure snmp host
|
|
nxos_snmp_host: &config
|
|
snmp_host: 3.3.3.3
|
|
community: TESTING
|
|
udp: 222
|
|
v3: "{{ snmp_auth|default(omit) }}"
|
|
version: "{{ snmp_version }}"
|
|
snmp_type: "{{ snmp_type }}"
|
|
vrf: management
|
|
vrf_filter: management
|
|
src_intf: "{{ intname|default(omit) }}"
|
|
state: present
|
|
register: result
|
|
|
|
- assert: &true
|
|
that:
|
|
- "result.changed == true"
|
|
|
|
- name: Idempotence Check
|
|
nxos_snmp_host: *config
|
|
register: result
|
|
|
|
- assert: &false
|
|
that:
|
|
- "result.changed == false"
|
|
|
|
- block:
|
|
- name: Add another vrf to filter
|
|
nxos_snmp_host: &config1
|
|
snmp_host: 3.3.3.3
|
|
udp: 222
|
|
vrf_filter: default
|
|
state: present
|
|
register: result
|
|
|
|
- assert: *true
|
|
|
|
- name: Idempotence Check
|
|
nxos_snmp_host: *config1
|
|
register: result
|
|
|
|
- assert: *false
|
|
when: not (platform is match('N35|N5K'))
|
|
|
|
- name: remove some configuration
|
|
nxos_snmp_host: &rem1
|
|
snmp_host: 3.3.3.3
|
|
udp: 222
|
|
src_intf: "{{ intname|default(omit) }}"
|
|
vrf: management
|
|
vrf_filter: management
|
|
state: absent
|
|
register: result
|
|
|
|
- assert: *true
|
|
|
|
- name: Idempotence Check
|
|
nxos_snmp_host: *rem1
|
|
register: result
|
|
|
|
- assert: *false
|
|
|
|
- block:
|
|
- name: remove some more configuration
|
|
nxos_snmp_host: &rem2
|
|
snmp_host: 3.3.3.3
|
|
udp: 222
|
|
vrf_filter: default
|
|
state: absent
|
|
register: result
|
|
|
|
- assert: *true
|
|
|
|
- name: Idempotence Check
|
|
nxos_snmp_host: *rem2
|
|
register: result
|
|
|
|
- assert: *false
|
|
when: not (platform is match('N35|N5K'))
|
|
|
|
- name: Cleanup
|
|
nxos_snmp_host: *remove
|
|
register: result
|
|
|
|
- assert: *true
|
|
|
|
- name: Cleanup Idempotence
|
|
nxos_snmp_host: *remove
|
|
register: result
|
|
|
|
- assert: *false
|
|
|
|
always:
|
|
- name: Cleanup
|
|
nxos_snmp_host: *remove
|
|
register: result
|
|
|
|
- debug: msg="END connection={{ ansible_connection }} nxos_snmp_host {{ snmp_type }} {{ snmp_version }} sanity test"
|