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.
|
|
|
---
|
|
|
|
- debug: msg="START junos_interface netconf/intent.yaml"
|
|
|
|
|
|
|
|
- name: get facts
|
|
|
|
junos_facts:
|
|
|
|
provider: "{{ netconf }}"
|
|
|
|
register: result
|
|
|
|
|
|
|
|
|
|
|
|
- name: Define interface name for vSRX
|
|
|
|
set_fact:
|
|
|
|
intf_name: pp0
|
|
|
|
when: result['ansible_facts']['ansible_net_model'] | search("vSRX*")
|
|
|
|
|
|
|
|
- name: Define interface name for vsrx
|
|
|
|
set_fact:
|
|
|
|
intf_name: pp0
|
|
|
|
when: result['ansible_facts']['ansible_net_model'] | search("vsrx")
|
|
|
|
|
|
|
|
- name: Define interface name for vQFX
|
|
|
|
set_fact:
|
|
|
|
intf_name: gr-0/0/0
|
|
|
|
when: result['ansible_facts']['ansible_net_model'] | search("vqfx*")
|
|
|
|
|
|
|
|
- name: Check intent arguments
|
|
|
|
junos_interface:
|
|
|
|
name: "{{ intf_name }}"
|
|
|
|
state: up
|
|
|
|
tx_rate: ge(0)
|
|
|
|
rx_rate: le(0)
|
|
|
|
provider: "{{ netconf }}"
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- "result.failed == false"
|
|
|
|
|
|
|
|
- name: Check intent arguments (failed condition)
|
|
|
|
junos_interface:
|
|
|
|
name: "{{ intf_name }}"
|
|
|
|
state: down
|
|
|
|
tx_rate: gt(0)
|
|
|
|
rx_rate: lt(0)
|
|
|
|
provider: "{{ netconf }}"
|
|
|
|
ignore_errors: yes
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- "result.failed == true"
|
|
|
|
- "'state eq(down)' in result.failed_conditions"
|
|
|
|
- "'tx_rate gt(0)' in result.failed_conditions"
|
|
|
|
- "'rx_rate lt(0)' in result.failed_conditions"
|
|
|
|
|
|
|
|
- name: Config + intent
|
|
|
|
junos_interface:
|
|
|
|
name: "{{ intf_name }}"
|
|
|
|
enabled: False
|
|
|
|
state: down
|
|
|
|
provider: "{{ netconf }}"
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- "result.failed == false"
|
|
|
|
- result.diff.prepared | search("\+ *disable")
|
|
|
|
|
|
|
|
- name: Config + intent (fail)
|
|
|
|
junos_interface:
|
|
|
|
name: "{{ intf_name }}"
|
|
|
|
enabled: False
|
|
|
|
state: up
|
|
|
|
provider: "{{ netconf }}"
|
|
|
|
ignore_errors: yes
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- "result.failed == true"
|
|
|
|
- "'state eq(up)' in result.failed_conditions"
|
|
|
|
|
|
|
|
- name: Aggregate config + intent (pass)
|
|
|
|
junos_interface:
|
|
|
|
aggregate:
|
|
|
|
- name: "{{ intf_name }}"
|
|
|
|
enabled: True
|
|
|
|
state: up
|
|
|
|
provider: "{{ netconf }}"
|
|
|
|
ignore_errors: yes
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- "result.failed == false"
|