2018-03-09 15:03:33 +01:00
|
|
|
---
|
|
|
|
# nxos_command -> ComplexList
|
|
|
|
# nxos_config -> to_list
|
|
|
|
# nxos_interface -> conditional, remove_default_spec
|
|
|
|
|
|
|
|
- debug: msg="START connection={{ ansible_connection }} common/common_utils.yaml"
|
|
|
|
- debug: msg="Using provider={{ connection.transport }}"
|
|
|
|
when: ansible_connection == "local"
|
|
|
|
|
|
|
|
# hit ComplexList
|
|
|
|
- name: test contains operator
|
|
|
|
nxos_command:
|
|
|
|
commands:
|
|
|
|
- show version
|
2018-07-02 15:43:51 +02:00
|
|
|
provider: "{{ connection }}"
|
2018-03-09 15:03:33 +01:00
|
|
|
|
|
|
|
# hit to_list()
|
|
|
|
- name: setup
|
|
|
|
nxos_config:
|
|
|
|
lines: hostname switch
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
match: none
|
|
|
|
|
|
|
|
- name: configure top level command
|
|
|
|
nxos_config:
|
|
|
|
lines: hostname foo
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- "result.changed == true"
|
|
|
|
- "'hostname foo' in result.updates"
|
|
|
|
|
|
|
|
- name: setup
|
|
|
|
nxos_config:
|
|
|
|
lines: hostname switch
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
match: none
|
|
|
|
|
|
|
|
# hit conditional()
|
|
|
|
- set_fact: testint1="{{ nxos_int1 }}"
|
|
|
|
- set_fact: testint2="{{ nxos_int2 }}"
|
|
|
|
|
|
|
|
- name: "Setup: Put interfaces into a default state"
|
|
|
|
nxos_config:
|
|
|
|
lines:
|
|
|
|
- "default interface {{ testint1 }}"
|
|
|
|
- "default interface {{ testint2 }}"
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
ignore_errors: yes
|
|
|
|
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- name: Check intent arguments
|
|
|
|
nxos_interface:
|
|
|
|
name: "{{ testint2 }}"
|
|
|
|
admin_state: up
|
|
|
|
tx_rate: ge(0)
|
|
|
|
rx_rate: ge(0)
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- "result.failed == false"
|
|
|
|
|
|
|
|
- name: Check intent arguments (failed condition)
|
|
|
|
nxos_interface:
|
|
|
|
name: "{{ testint2 }}"
|
|
|
|
admin_state: down
|
|
|
|
tx_rate: gt(0)
|
|
|
|
rx_rate: lt(0)
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
ignore_errors: yes
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- "result.failed == true"
|
|
|
|
- "'tx_rate gt(0)' in result.failed_conditions"
|
|
|
|
- "'rx_rate lt(0)' in result.failed_conditions"
|
|
|
|
|
|
|
|
- name: aggregate definition of interface
|
|
|
|
nxos_interface:
|
|
|
|
aggregate:
|
|
|
|
- { name: "{{ testint1 }}", description: "Test aggregation on first interface" }
|
|
|
|
- { name: "{{ testint2 }}", mode: layer3 }
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- "result.changed == true"
|
|
|
|
|
|
|
|
- name: "TearDown: Put interfaces into a default state"
|
|
|
|
nxos_config:
|
|
|
|
lines:
|
|
|
|
- "default interface {{ testint1 }}"
|
|
|
|
- "default interface {{ testint2 }}"
|
|
|
|
provider: "{{ connection }}"
|
|
|
|
ignore_errors: yes
|