diff --git a/tests/integration/targets/vyos_vrf/tests/cli/merged.old b/tests/integration/targets/vyos_vrf/tests/cli/merged.yaml similarity index 58% rename from tests/integration/targets/vyos_vrf/tests/cli/merged.old rename to tests/integration/targets/vyos_vrf/tests/cli/merged.yaml index 2dda66d4..dd747f98 100644 --- a/tests/integration/targets/vyos_vrf/tests/cli/merged.old +++ b/tests/integration/targets/vyos_vrf/tests/cli/merged.yaml @@ -1,60 +1,45 @@ --- - debug: msg: START vyos_vrf merged integration tests on connection={{ ansible_connection }} - include_tasks: _remove_config.yaml - block: - name: Merge the provided configuration with the existing running configuration register: result vyos.vyos.vyos_vrf: &id001 config: - - route_map: test1 - entries: - - sequence: 1 - description: test - action: permit - continue_sequence: 2 - - route_map: test3 - entries: - - sequence: 1 - action: permit - match: - metric: 1 - peer: 192.0.2.32 - set: - local_preference: 4 - metric: 5 - metric_type: type-1 - origin: egp - originator_id: 192.0.2.34 - tag: 5 - weight: 4 + # bind_to_all: true + instances: + - name: "vrf-green" + description: "green-vrf" + table_id: 110 + vni: 1010 state: merged - vyos.vyos.vyos_facts: - gather_network_resources: route_maps + gather_network_resources: vrf - assert: that: - - result.commands|length == 13 + # - result.commands|length == 13 - result.changed == true - result.commands|symmetric_difference(merged.commands) == [] - - result.after|symmetric_difference(ansible_facts['network_resources']['route_maps']) == [] + - result.after|symmetric_difference(ansible_facts['network_resources']['vrf']) == [] - name: Assert that before dicts were correctly generated assert: that: - "{{ merged['before'] | symmetric_difference(result['before']) |length == 0 }}" - name: Merge the provided configuration with the existing running configuration (IDEMPOTENT) register: result vyos.vyos.vyos_vrf: *id001 - name: Assert that the previous task was idempotent assert: that: - result['changed'] == false always: - include_tasks: _remove_config.yaml diff --git a/tests/integration/targets/vyos_vrf/tests/cli/replaced.old b/tests/integration/targets/vyos_vrf/tests/cli/replaced.yaml similarity index 51% rename from tests/integration/targets/vyos_vrf/tests/cli/replaced.old rename to tests/integration/targets/vyos_vrf/tests/cli/replaced.yaml index dce0cba9..790d485b 100644 --- a/tests/integration/targets/vyos_vrf/tests/cli/replaced.old +++ b/tests/integration/targets/vyos_vrf/tests/cli/replaced.yaml @@ -1,48 +1,47 @@ --- - debug: - msg: START vyos_route_maps replaced integration tests on connection={{ ansible_connection }} + msg: START vyos_vrf replaced integration tests on connection={{ ansible_connection }} - include_tasks: _populate.yaml - block: - name: Replace the provided configuration with the existing running configuration register: result - vyos.vyos.vyos_route_maps: &id001 + vyos.vyos.vyos_vrf: &id001 config: - - route_map: test3 - entries: - - sequence: 1 - action: permit - match: - metric: 3 - peer: 192.0.2.35 - set: - local_preference: 6 - metric: 4 - metric_type: type-1 - origin: egp - originator_id: 192.0.2.34 - tag: 4 - weight: 4 + instances: + - name: "vrf-blue" + description: "blue-vrf" + disable: true + table_id: 100 + vni: 1000 + - name: "vrf-red" + description: "Vermillion_VRF" + disable: false + table_id: 101 + vni: 1011 + address_family: + - afi: "ipv6" + nht_no_resolve_via_default: false state: replaced - vyos.vyos.vyos_facts: - gather_network_resources: route_maps + gather_network_resources: vrf - assert: that: - result.changed == true - result.commands|symmetric_difference(replaced.commands) == [] - - result.after|symmetric_difference(ansible_facts['network_resources']['route_maps']) == [] + - result.after|symmetric_difference(ansible_facts['network_resources']['vrf']) == [] - name: Replace the provided configuration with the existing running configuration (IDEMPOTENT) register: result - vyos.vyos.vyos_route_maps: *id001 + vyos.vyos.vyos_vrf: *id001 - name: Assert that the previous task was idempotent assert: that: - result['changed'] == false always: - include_tasks: _remove_config.yaml diff --git a/tests/integration/targets/vyos_vrf/tests/cli/rtt.yaml b/tests/integration/targets/vyos_vrf/tests/cli/rtt.yaml index d39f026b..53b1d4ff 100644 --- a/tests/integration/targets/vyos_vrf/tests/cli/rtt.yaml +++ b/tests/integration/targets/vyos_vrf/tests/cli/rtt.yaml @@ -1,60 +1,59 @@ --- - debug: msg: START vyos_vrf merged integration tests on connection={{ ansible_connection }} - include_tasks: _populate.yaml - block: - name: Merge the provided configuration with the existing running configuration register: baseconfig vyos.vyos.vyos_vrf: config: + bind_to_all: true instances: - name: "vrf-green" description: "green-vrf" table_id: 110 vni: 1010 state: merged - vyos.vyos.vyos_facts: gather_network_resources: vrf - assert: that: - - baseconfig.commands|length == 4 - baseconfig.changed == true - baseconfig.commands|symmetric_difference(merged.commands) == [] - baseconfig.after|symmetric_difference(ansible_facts['network_resources']['vrf']) == [] - # - name: Merge the existing configuration with the provided running configuration - # register: result - # vyos.vyos.vyos_vrf: - # config: - # - route_map: test2 - # entries: - # - sequence: 1 - # action: permit - # match: - # metric: 3 - # peer: 192.0.2.35 - # set: - # local_preference: 6 - # metric: 4 - # metric_type: type-1 - # origin: egp - # originator_id: 192.0.2.34 - # tag: 4 - # weight: 4 - - # - name: Revert back to base config using facts round trip - # register: revert - # vyos.vyos.vyos_vrf: - # config: "{{ ansible_facts['network_resources']['route_maps'] }}" - # state: overridden - - # - name: Assert that config was reverted - # assert: - # that: baseconfig.after == revert.after + - name: Merge the existing configuration with the provided running configuration + register: result + vyos.vyos.vyos_vrf: + config: + instances: + - name: "vrf-blue" + description: "blue-vrf" + disable: true + table_id: 100 + vni: 1000 + - name: "vrf-green" + description: "green-vrf" + table_id: 110 + vni: 1010 + address_family: + - afi: "ipv4" + disable_forwarding: true + state: merged + + - name: Revert back to base config using facts round trip + register: revert + vyos.vyos.vyos_vrf: + config: "{{ ansible_facts['network_resources']['vrf'] }}" + state: overridden + + - name: Assert that config was reverted + assert: + that: baseconfig.after == revert.after always: - include_tasks: _remove_config.yaml diff --git a/tests/integration/targets/vyos_vrf/vars/main.yaml b/tests/integration/targets/vyos_vrf/vars/main.yaml index a08ece2d..32401db3 100644 --- a/tests/integration/targets/vyos_vrf/vars/main.yaml +++ b/tests/integration/targets/vyos_vrf/vars/main.yaml @@ -1,112 +1,112 @@ --- merged: - before: [] + before: + bind_to_all: false commands: - - delete vrf bind-to-all - set vrf name vrf-green table 110 - set vrf name vrf-green vni 1010 - set vrf name vrf-green description green-vrf + after: - route_map: test3 entries: - sequence: 1 action: permit match: metric: 1 peer: 192.0.2.32 set: local_preference: "4" metric: "5" metric_type: type-1 origin: egp originator_id: 192.0.2.34 tag: "5" weight: "4" - route_map: test1 entries: - sequence: 1 description: test action: permit continue_sequence: 2 replaced: commands: - - delete policy route-map test3 rule 1 set ip-next-hop 192.0.2.33 - - set policy route-map test3 rule 1 set local-preference 6 - - set policy route-map test3 rule 1 set metric 4 - - set policy route-map test3 rule 1 set tag 4 - - delete policy route-map test3 rule 1 set community none - - set policy route-map test3 rule 1 match metric 3 - - set policy route-map test3 rule 1 match peer 192.0.2.35 + - delete vrf bind-to-all + - set vrf name vrf-blue disable + - set vrf name vrf-red vni 1011 + - set vrf name vrf-red description Vermillion_VRF + - delete vrf name vrf-red disable + - delete vrf name vrf-red ipv6 nht no-resolve-via-default after: - route_map: test2 entries: - sequence: 1 description: test action: permit - sequence: 1 action: permit on_match: goto: 4 - route_map: test3 entries: - sequence: 1 action: permit match: metric: 3 peer: 192.0.2.35 set: local_preference: 6 metric: 4 metric_type: type-1 origin: egp originator_id: 192.0.2.34 tag: 4 weight: 4 overridden: commands: - delete policy route-map test2 - delete policy route-map test3 rule 1 set ip-next-hop 192.0.2.33 - set policy route-map test3 rule 1 set local-preference 6 - set policy route-map test3 rule 1 set metric 4 - set policy route-map test3 rule 1 set tag 4 - delete policy route-map test3 rule 1 set community none - set policy route-map test3 rule 1 match metric 3 - set policy route-map test3 rule 1 match peer 192.0.2.35 after: - route_map: test3 entries: - sequence: 1 action: permit match: metric: 3 peer: 192.0.2.35 set: local_preference: 6 metric: 4 metric_type: type-1 origin: egp originator_id: 192.0.2.34 tag: 4 weight: 4 deleted: commands: - delete policy route-map test2 - delete policy route-map test3 after: [] populate_config: - set vrf bind-to-all - set vrf name vrf-blue description 'blue-vrf' - set vrf name vrf-blue table '100' - set vrf name vrf-blue vni '1000' - set vrf name vrf-red description 'red-vrf' - set vrf name vrf-red disable - set vrf name vrf-red ip disable-forwarding - set vrf name vrf-red ip protocol kernel route-map 'rm1' - set vrf name vrf-red ip protocol rip route-map 'rm1' - set vrf name vrf-red ipv6 nht no-resolve-via-default - set vrf name vrf-red table '101' - set vrf name vrf-red vni '1001'