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.
ansible/test/integration/targets/junos_linkagg/tests/netconf/basic.yaml

240 lines
4.8 KiB
YAML

---
- debug: msg="START junos_linkagg netconf/basic.yaml"
- name: setup - remove linkagg
junos_linkagg:
name: ae0
members:
- ge-0/0/6
- ge-0/0/7
mode: active
device_count: 4
state: absent
provider: "{{ netconf }}"
- name: configure linkagg
junos_linkagg:
name: ae0
members:
- ge-0/0/6
- ge-0/0/7
mode: active
device_count: 4
state: present
provider: "{{ netconf }}"
register: result
- name: Get running configuration
junos_rpc:
rpc: get-configuration
provider: "{{ netconf }}"
register: config
- assert:
that:
- "result.changed == true"
- "'<name>ae0</name>' in config.xml"
- "'<device-count>4</device-count>' in config.xml"
- "'<bundle>ae0</bundle>' in config.xml"
- "'<active/>' in config.xml"
- "'<description>configured by junos_linkagg</description>' in config.xml"
- name: configure linkagg (idempotent)
junos_linkagg:
name: ae0
members:
- ge-0/0/6
- ge-0/0/7
mode: active
device_count: 4
state: present
provider: "{{ netconf }}"
register: result
- assert:
that:
- "result.changed == false"
- name: configure lacp in passive
junos_linkagg:
name: ae0
members:
- ge-0/0/6
- ge-0/0/7
mode: passive
device_count: 4
state: present
provider: "{{ netconf }}"
register: result
- name: Get running configuration
junos_rpc:
rpc: get-configuration
provider: "{{ netconf }}"
register: config
- assert:
that:
- "result.changed == true"
- "'<passive/>' in config.xml"
- name: delete lacp
junos_linkagg:
name: ae0
members:
- ge-0/0/6
- ge-0/0/7
mode: off
device_count: 4
state: present
provider: "{{ netconf }}"
register: result
- name: Get running configuration
junos_rpc:
rpc: get-configuration
provider: "{{ netconf }}"
register: config
- assert:
that:
- "result.changed == true"
- "'<lacp/>' not in config.xml"
- name: Change device count
junos_linkagg:
name: ae0
device_count: 2
provider: "{{ netconf }}"
register: result
- name: Get running configuration
junos_rpc:
rpc: get-configuration
provider: "{{ netconf }}"
register: config
- assert:
that:
- "result.changed == true"
- "'<device-count>2</device-count>' in config.xml"
- name: Disable linkagg interface
junos_linkagg:
name: ae0
state: down
provider: "{{ netconf }}"
register: result
- assert:
that:
- "result.changed == true"
- result.diff.prepared | search("\+ *disable")
- name: Enable linkagg interface
junos_linkagg:
name: ae0
state: up
provider: "{{ netconf }}"
register: result
- assert:
that:
- "result.changed == true"
- result.diff.prepared | search("\- *disable")
- name: Deactivate linkagg
junos_linkagg:
name: ae0
members:
- ge-0/0/6
- ge-0/0/7
mode: active
device_count: 4
state: present
active: False
provider: "{{ netconf }}"
register: result
- name: Get running configuration
junos_rpc:
rpc: get-configuration
provider: "{{ netconf }}"
register: config
- assert:
that:
- "result.changed == true"
- "'<bundle inactive=\"inactive\">ae0</bundle>' in config.xml"
- "'<device-count inactive=\"inactive\">4</device-count>' in config.xml"
- "'inactive: ae0' in result.diff.prepared"
- name: Activate linkagg
junos_linkagg:
name: ae0
members:
- ge-0/0/6
- ge-0/0/7
mode: active
device_count: 4
state: present
active: True
provider: "{{ netconf }}"
register: result
- name: Get running configuration
junos_rpc:
rpc: get-configuration
provider: "{{ netconf }}"
register: config
- assert:
that:
- "result.changed == true"
- "'<active/>' in config.xml"
- "'<bundle>ae0</bundle>' in config.xml"
- "'active: device-count 4' in result.diff.prepared"
- "'active: ae0' in result.diff.prepared"
- name: Delete linkagg
junos_linkagg:
name: ae0
members:
- ge-0/0/6
- ge-0/0/7
mode: active
device_count: 4
state: absent
provider: "{{ netconf }}"
register: result
- name: Get running configuration
junos_rpc:
rpc: get-configuration
provider: "{{ netconf }}"
register: config
- assert:
that:
- "result.changed == true"
- "'<active/>' not in config.xml"
- "'<bundle>ae0</bundle>' not in config.xml"
- "'<device-count>4</device-count>' not in config.xml"
- "'<name>ae0</name>' not in config.xml"
- name: Delete linkagg (idempotent)
junos_linkagg:
name: ae0
members:
- ge-0/0/6
- ge-0/0/7
mode: active
device_count: 4
state: absent
provider: "{{ netconf }}"
register: result
- assert:
that:
- "result.changed == false"