2017-07-15 07:08:44 +00:00
|
|
|
---
|
2018-01-08 12:28:47 +00:00
|
|
|
- debug: msg="START junos_l3_interface netconf/basic.yaml on connection={{ ansible_connection }}"
|
2017-07-15 07:08:44 +00:00
|
|
|
|
|
|
|
- name: setup - remove interface address
|
|
|
|
junos_l3_interface:
|
|
|
|
name: ge-0/0/1
|
2018-05-30 17:03:20 +00:00
|
|
|
ipv4: 192.0.2.1
|
2017-07-15 07:08:44 +00:00
|
|
|
ipv6: fd5d:12c9:2201:1::1
|
|
|
|
state: absent
|
|
|
|
provider: "{{ netconf }}"
|
|
|
|
|
|
|
|
- name: Configure interface address
|
|
|
|
junos_l3_interface:
|
|
|
|
name: ge-0/0/1
|
2018-05-30 17:03:20 +00:00
|
|
|
ipv4: 192.0.2.1
|
2017-07-15 07:08:44 +00:00
|
|
|
ipv6: fd5d:12c9:2201:1::1
|
|
|
|
state: present
|
|
|
|
provider: "{{ netconf }}"
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- name: Get running configuration
|
|
|
|
junos_rpc:
|
|
|
|
rpc: get-configuration
|
|
|
|
provider: "{{ netconf }}"
|
|
|
|
register: config
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- "result.changed == true"
|
2018-05-30 17:03:20 +00:00
|
|
|
- "'<name>192.0.2.1/32</name>' in config.xml"
|
2017-07-15 07:08:44 +00:00
|
|
|
- "'<name>fd5d:12c9:2201:1::1/128</name>' in config.xml"
|
2018-05-30 17:03:20 +00:00
|
|
|
- result.diff.prepared is search("\+ *address 192.0.2.1/32")
|
2017-11-27 22:58:08 +00:00
|
|
|
- result.diff.prepared is search("\+ *address fd5d:12c9:2201:1::1/128")
|
2017-07-15 07:08:44 +00:00
|
|
|
|
|
|
|
- name: Configure interface address (idempotent)
|
|
|
|
junos_l3_interface:
|
|
|
|
name: ge-0/0/1
|
2018-05-30 17:03:20 +00:00
|
|
|
ipv4: 192.0.2.1
|
2017-07-15 07:08:44 +00:00
|
|
|
ipv6: fd5d:12c9:2201:1::1
|
|
|
|
state: present
|
|
|
|
provider: "{{ netconf }}"
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- "result.changed == false"
|
|
|
|
|
|
|
|
- name: Deactivate interface address
|
|
|
|
junos_l3_interface:
|
|
|
|
name: ge-0/0/1
|
2018-05-30 17:03:20 +00:00
|
|
|
ipv4: 192.0.2.1
|
2017-07-15 07:08:44 +00:00
|
|
|
ipv6: fd5d:12c9:2201:1::1
|
|
|
|
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"
|
|
|
|
- "'<address inactive=\"inactive\">' in config.xml"
|
2018-05-30 17:03:20 +00:00
|
|
|
- result.diff.prepared is search("! *inactive[:] address 192.0.2.1/32")
|
2017-11-27 22:58:08 +00:00
|
|
|
- result.diff.prepared is search("! *inactive[:] address fd5d:12c9:2201:1::1/128")
|
2017-07-15 07:08:44 +00:00
|
|
|
|
|
|
|
- name: Activate interface address
|
|
|
|
junos_l3_interface:
|
|
|
|
name: ge-0/0/1
|
2018-05-30 17:03:20 +00:00
|
|
|
ipv4: 192.0.2.1
|
2017-07-15 07:08:44 +00:00
|
|
|
ipv6: fd5d:12c9:2201:1::1
|
|
|
|
state: present
|
|
|
|
active: True
|
|
|
|
provider: "{{ netconf }}"
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- "result.changed == true"
|
2018-05-30 17:03:20 +00:00
|
|
|
- result.diff.prepared is search("! *active[:] address 192.0.2.1/32")
|
2017-11-27 22:58:08 +00:00
|
|
|
- result.diff.prepared is search("! *active[:] address fd5d:12c9:2201:1::1/128")
|
2017-07-15 07:08:44 +00:00
|
|
|
|
|
|
|
- name: Delete interface address
|
|
|
|
junos_l3_interface:
|
|
|
|
name: ge-0/0/1
|
2018-05-30 17:03:20 +00:00
|
|
|
ipv4: 192.0.2.1
|
2017-07-15 07:08:44 +00:00
|
|
|
ipv6: fd5d:12c9:2201:1::1
|
|
|
|
state: absent
|
|
|
|
provider: "{{ netconf }}"
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
2018-05-30 17:03:20 +00:00
|
|
|
- result.diff.prepared is search("\- *address 192.0.2.1/32")
|
2017-11-27 22:58:08 +00:00
|
|
|
- result.diff.prepared is search("\- *address fd5d:12c9:2201:1::1/128")
|
2017-07-15 07:08:44 +00:00
|
|
|
|
|
|
|
- name: Delete interface address (idempotent)
|
|
|
|
junos_l3_interface:
|
|
|
|
name: ge-0/0/1
|
2018-05-30 17:03:20 +00:00
|
|
|
ipv4: 192.0.2.1
|
2017-07-15 07:08:44 +00:00
|
|
|
ipv6: fd5d:12c9:2201:1::1
|
|
|
|
state: absent
|
|
|
|
provider: "{{ netconf }}"
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- "result.changed == false"
|
2017-08-04 09:25:58 +00:00
|
|
|
|
|
|
|
- name: Aggregate setup- delete interface ge-0/0/1
|
|
|
|
junos_l3_interface:
|
|
|
|
name: ge-0/0/1
|
2018-05-30 17:03:20 +00:00
|
|
|
ipv4: 192.0.2.1
|
2017-08-04 09:25:58 +00:00
|
|
|
ipv6: fd5d:12c9:2201:1::1
|
|
|
|
state: absent
|
|
|
|
provider: "{{ netconf }}"
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- name: Aggregate setup- delete interface ge-0/0/2
|
|
|
|
junos_l3_interface:
|
|
|
|
name: ge-0/0/2
|
2018-05-30 17:03:20 +00:00
|
|
|
ipv4: 192.0.2.2
|
2017-08-04 09:25:58 +00:00
|
|
|
ipv6: fd5d:12c9:2201:2::2
|
|
|
|
state: absent
|
|
|
|
provider: "{{ netconf }}"
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- name: Configure l3 interface in aggregate
|
|
|
|
junos_l3_interface:
|
|
|
|
aggregate:
|
|
|
|
- name: ge-0/0/1
|
2018-05-30 17:03:20 +00:00
|
|
|
ipv4: 192.0.2.1
|
2017-08-04 09:25:58 +00:00
|
|
|
ipv6: fd5d:12c9:2201:1::1
|
|
|
|
- name: ge-0/0/2
|
2018-05-30 17:03:20 +00:00
|
|
|
ipv4: 192.0.2.2
|
2017-08-04 09:25:58 +00:00
|
|
|
ipv6: fd5d:12c9:2201:2::2
|
|
|
|
provider: "{{ netconf }}"
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == true'
|
|
|
|
- "'edit interfaces ge-0/0/1 unit 0 family inet' in result.diff.prepared"
|
2018-05-30 17:03:20 +00:00
|
|
|
- result.diff.prepared is search("\+ *address 192.0.2.1/32")
|
2017-08-04 09:25:58 +00:00
|
|
|
- "'edit interfaces ge-0/0/1 unit 0 family inet6' in result.diff.prepared"
|
2017-11-27 22:58:08 +00:00
|
|
|
- result.diff.prepared is search("\+ *address fd5d:12c9:2201:1::1/128")
|
2017-08-04 09:25:58 +00:00
|
|
|
- "'edit interfaces ge-0/0/2 unit 0 family inet' in result.diff.prepared"
|
2018-05-30 17:03:20 +00:00
|
|
|
- result.diff.prepared is search("\+ *address 192.0.2.2/32")
|
2017-08-04 09:25:58 +00:00
|
|
|
- "'edit interfaces ge-0/0/2 unit 0 family inet6' in result.diff.prepared"
|
2017-11-27 22:58:08 +00:00
|
|
|
- result.diff.prepared is search("\+ *address fd5d:12c9:2201:2::2/128")
|
2017-08-04 09:25:58 +00:00
|
|
|
|
|
|
|
- name: Configure l3 interface in aggregate (idempotent)
|
|
|
|
junos_l3_interface:
|
|
|
|
aggregate:
|
|
|
|
- name: ge-0/0/1
|
2018-05-30 17:03:20 +00:00
|
|
|
ipv4: 192.0.2.1
|
2017-08-04 09:25:58 +00:00
|
|
|
ipv6: fd5d:12c9:2201:1::1
|
|
|
|
- name: ge-0/0/2
|
2018-05-30 17:03:20 +00:00
|
|
|
ipv4: 192.0.2.2
|
2017-08-04 09:25:58 +00:00
|
|
|
ipv6: fd5d:12c9:2201:2::2
|
2017-08-14 04:47:03 +00:00
|
|
|
active: True
|
2017-08-04 09:25:58 +00:00
|
|
|
provider: "{{ netconf }}"
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == false'
|
|
|
|
|
|
|
|
- name: Deactivate l3 interface configuration
|
|
|
|
junos_l3_interface:
|
|
|
|
aggregate:
|
|
|
|
- name: ge-0/0/1
|
2018-05-30 17:03:20 +00:00
|
|
|
ipv4: 192.0.2.1
|
2017-08-04 09:25:58 +00:00
|
|
|
ipv6: fd5d:12c9:2201:1::1
|
|
|
|
- name: ge-0/0/2
|
2018-05-30 17:03:20 +00:00
|
|
|
ipv4: 192.0.2.2
|
2017-08-04 09:25:58 +00:00
|
|
|
ipv6: fd5d:12c9:2201:2::2
|
2017-08-14 04:47:03 +00:00
|
|
|
active: False
|
2017-08-04 09:25:58 +00:00
|
|
|
provider: "{{ netconf }}"
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == true'
|
2018-05-30 17:03:20 +00:00
|
|
|
- result.diff.prepared is search("! *inactive[:] address 192.0.2.1/32")
|
2017-11-27 22:58:08 +00:00
|
|
|
- result.diff.prepared is search("! *inactive[:] address fd5d:12c9:2201:1::1/128")
|
2018-05-30 17:03:20 +00:00
|
|
|
- result.diff.prepared is search("! *inactive[:] address 192.0.2.2/32")
|
2017-11-27 22:58:08 +00:00
|
|
|
- result.diff.prepared is search("! *inactive[:] address fd5d:12c9:2201:2::2/128")
|
2017-08-04 09:25:58 +00:00
|
|
|
|
|
|
|
- name: Activate l3 interface configuration
|
|
|
|
junos_l3_interface:
|
|
|
|
aggregate:
|
|
|
|
- name: ge-0/0/1
|
2018-05-30 17:03:20 +00:00
|
|
|
ipv4: 192.0.2.1
|
2017-08-04 09:25:58 +00:00
|
|
|
ipv6: fd5d:12c9:2201:1::1
|
|
|
|
- name: ge-0/0/2
|
2018-05-30 17:03:20 +00:00
|
|
|
ipv4: 192.0.2.2
|
2017-08-04 09:25:58 +00:00
|
|
|
ipv6: fd5d:12c9:2201:2::2
|
2017-08-14 04:47:03 +00:00
|
|
|
active: True
|
2017-08-04 09:25:58 +00:00
|
|
|
provider: "{{ netconf }}"
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == true'
|
2018-05-30 17:03:20 +00:00
|
|
|
- result.diff.prepared is search("! *active[:] address 192.0.2.1/32")
|
2017-11-27 22:58:08 +00:00
|
|
|
- result.diff.prepared is search("! *active[:] address fd5d:12c9:2201:1::1/128")
|
2018-05-30 17:03:20 +00:00
|
|
|
- result.diff.prepared is search("! *active[:] address 192.0.2.2/32")
|
2017-11-27 22:58:08 +00:00
|
|
|
- result.diff.prepared is search("! *active[:] address fd5d:12c9:2201:2::2/128")
|
2017-08-04 09:25:58 +00:00
|
|
|
|
|
|
|
- name: Delete l3 interface configuration
|
|
|
|
junos_l3_interface:
|
|
|
|
aggregate:
|
|
|
|
- name: ge-0/0/1
|
2018-05-30 17:03:20 +00:00
|
|
|
ipv4: 192.0.2.1
|
2017-08-04 09:25:58 +00:00
|
|
|
ipv6: fd5d:12c9:2201:1::1
|
|
|
|
- name: ge-0/0/2
|
2018-05-30 17:03:20 +00:00
|
|
|
ipv4: 192.0.2.2
|
2017-08-04 09:25:58 +00:00
|
|
|
ipv6: fd5d:12c9:2201:2::2
|
2017-08-14 04:47:03 +00:00
|
|
|
state: absent
|
2017-08-04 09:25:58 +00:00
|
|
|
provider: "{{ netconf }}"
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == true'
|
|
|
|
- "'edit interfaces ge-0/0/1 unit 0 family inet' in result.diff.prepared"
|
2018-05-30 17:03:20 +00:00
|
|
|
- result.diff.prepared is search("\- *address 192.0.2.1/32")
|
2017-08-04 09:25:58 +00:00
|
|
|
- "'edit interfaces ge-0/0/1 unit 0 family inet6' in result.diff.prepared"
|
2017-11-27 22:58:08 +00:00
|
|
|
- result.diff.prepared is search("\- *address fd5d:12c9:2201:1::1/128")
|
2017-08-04 09:25:58 +00:00
|
|
|
- "'edit interfaces ge-0/0/2 unit 0 family inet' in result.diff.prepared"
|
2018-05-30 17:03:20 +00:00
|
|
|
- result.diff.prepared is search("\- *address 192.0.2.2/32")
|
2017-08-04 09:25:58 +00:00
|
|
|
- "'edit interfaces ge-0/0/2 unit 0 family inet6' in result.diff.prepared"
|
2017-11-27 22:58:08 +00:00
|
|
|
- result.diff.prepared is search("\- *address fd5d:12c9:2201:2::2/128")
|
2017-08-04 09:25:58 +00:00
|
|
|
|
|
|
|
- name: Delete l3 interface configuration (idempotent)
|
|
|
|
junos_l3_interface:
|
|
|
|
aggregate:
|
|
|
|
- name: ge-0/0/1
|
2018-05-30 17:03:20 +00:00
|
|
|
ipv4: 192.0.2.1
|
2017-08-04 09:25:58 +00:00
|
|
|
ipv6: fd5d:12c9:2201:1::1
|
|
|
|
- name: ge-0/0/2
|
2018-05-30 17:03:20 +00:00
|
|
|
ipv4: 192.0.2.2
|
2017-08-04 09:25:58 +00:00
|
|
|
ipv6: fd5d:12c9:2201:2::2
|
2017-08-14 04:47:03 +00:00
|
|
|
state: absent
|
2017-08-04 09:25:58 +00:00
|
|
|
provider: "{{ netconf }}"
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == false'
|
2018-01-08 12:28:47 +00:00
|
|
|
|
|
|
|
- debug: msg="END junos_l3_interface netconf/basic.yaml on connection={{ ansible_connection }}"
|