--- - debug: msg="START junos_vrf netconf/basic.yaml" - name: setup - remove vrf junos_vrf: name: test-1 state: absent provider: "{{ netconf }}" - name: Configure vrf and its parameter junos_vrf: name: test-1 description: test-vrf-1 interfaces: - ge-0/0/6 - ge-0/0/5 rd: 3.3.3.3:10 target: target:65513:111 state: present provider: "{{ netconf }}" register: result - assert: that: - "result.changed == true" - "'+ test-1' in result.diff.prepared" - "'+ description test-vrf-1;' in result.diff.prepared" - "'+ instance-type vrf;' in result.diff.prepared" - "'+ interface ge-0/0/5.0;' in result.diff.prepared" - "'+ interface ge-0/0/6.0;' in result.diff.prepared" - "'+ route-distinguisher 3.3.3.3:10;' in result.diff.prepared" - "'+ vrf-target target:65513:111;' in result.diff.prepared" - name: Configure vrf and its parameter (idempotent) junos_vrf: name: test-1 description: test-vrf-1 interfaces: - ge-0/0/6 - ge-0/0/5 rd: 3.3.3.3:10 target: target:65513:111 state: present provider: "{{ netconf }}" register: result - assert: that: - "result.changed == false" - name: Change vrf parameter junos_vrf: name: test-1 description: test-vrf-1 interfaces: - ge-0/0/3 - ge-0/0/2 rd: 1.1.1.1:10 target: target:65514:113 state: present provider: "{{ netconf }}" register: result - assert: that: - "result.changed == true" - "'[edit routing-instances test-1]' in result.diff.prepared" - "'+ interface ge-0/0/2.0;' in result.diff.prepared" - "'+ interface ge-0/0/3.0;' in result.diff.prepared" - "'- interface ge-0/0/5.0;' in result.diff.prepared" - "'- interface ge-0/0/6.0;' in result.diff.prepared" - "'[edit routing-instances test-1]' in result.diff.prepared" - "'- route-distinguisher 3.3.3.3:10;' in result.diff.prepared" - "'+ route-distinguisher 1.1.1.1:10;' in result.diff.prepared" - "'- vrf-target target:65513:111;' in result.diff.prepared" - "'+ vrf-target target:65514:113;' in result.diff.prepared" - name: Deactivate vrf junos_vrf: name: test-1 description: test-vrf-1 interfaces: - ge-0/0/3 - ge-0/0/2 rd: 1.1.1.1:10 target: target:65514:113 state: present active: False provider: "{{ netconf }}" register: result - assert: that: - "result.changed == true" - "'[edit routing-instances]' in result.diff.prepared" - "'! inactive: test-1' in result.diff.prepared" - "'[edit routing-instances test-1]' in result.diff.prepared" - "'! inactive: interface ge-0/0/2.0' in result.diff.prepared" - "'! inactive: interface ge-0/0/3.0' in result.diff.prepared" - "'[edit routing-instances test-1]' in result.diff.prepared" - "'! inactive: route-distinguisher' in result.diff.prepared" - "'! inactive: vrf-target' in result.diff.prepared" - name: Activate vrf junos_vrf: name: test-1 description: test-vrf-1 interfaces: - ge-0/0/3 - ge-0/0/2 rd: 1.1.1.1:10 target: target:65514:113 state: present active: True provider: "{{ netconf }}" register: result - assert: that: - "result.changed == true" - "'[edit routing-instances]' in result.diff.prepared" - "'! active: test-1' in result.diff.prepared" - "'[edit routing-instances test-1]' in result.diff.prepared" - "'! active: interface ge-0/0/2.0' in result.diff.prepared" - "'! active: interface ge-0/0/3.0' in result.diff.prepared" - "'[edit routing-instances test-1]' in result.diff.prepared" - "'! active: route-distinguisher' in result.diff.prepared" - "'! active: vrf-target' in result.diff.prepared" - name: Delete vrf junos_vrf: name: test-1 description: test-vrf-1 interfaces: - ge-0/0/3 - ge-0/0/2 rd: 1.1.1.1:10 target: target:65514:113 state: absent provider: "{{ netconf }}" register: result - assert: that: - "result.changed == true" - "'[edit routing-instances]' in result.diff.prepared" - "'- test-1' in result.diff.prepared" - "'- description test-vrf-1;' in result.diff.prepared" - "'- instance-type vrf;' in result.diff.prepared" - "'- interface ge-0/0/2.0;' in result.diff.prepared" - "'- interface ge-0/0/3.0;' in result.diff.prepared" - "'- route-distinguisher 1.1.1.1:10;' in result.diff.prepared" - "'- vrf-target target:65514:113;' in result.diff.prepared" - name: Delete vrf (idempotent) junos_vrf: name: test-1 description: test-vrf-1 interfaces: - ge-0/0/3 - ge-0/0/2 rd: 1.1.1.1:10 target: target:65514:113 state: absent provider: "{{ netconf }}" register: result - assert: that: - "result.changed == false"