From e584c5ce7db0adbdcced3427411bbd82c6dc1b68 Mon Sep 17 00:00:00 2001 From: Rohit Thakur Date: Fri, 8 May 2020 18:53:03 +0530 Subject: ospfv3 test cases updated Signed-off-by: Rohit Thakur --- .../targets/vyos_ospfv3/defaults/main.yaml | 3 + .../integration/targets/vyos_ospfv3/meta/main.yaml | 3 + .../integration/targets/vyos_ospfv3/tasks/cli.yaml | 19 +++ .../targets/vyos_ospfv3/tasks/main.yaml | 4 + .../vyos_ospfv3/tests/cli/_parsed_config.cfg | 8 ++ .../targets/vyos_ospfv3/tests/cli/_populate.yaml | 13 ++ .../vyos_ospfv3/tests/cli/_remove_config.yaml | 6 + .../targets/vyos_ospfv3/tests/cli/deleted.yaml | 48 +++++++ .../vyos_ospfv3/tests/cli/empty_config.yaml | 49 ++++++++ .../targets/vyos_ospfv3/tests/cli/gathered.yaml | 25 ++++ .../targets/vyos_ospfv3/tests/cli/merged.yaml | 62 +++++++++ .../vyos_ospfv3/tests/cli/merged_update.yaml | 61 +++++++++ .../targets/vyos_ospfv3/tests/cli/parsed.yaml | 15 +++ .../targets/vyos_ospfv3/tests/cli/rendered.yaml | 38 ++++++ .../targets/vyos_ospfv3/tests/cli/replaced.yaml | 66 ++++++++++ .../targets/vyos_ospfv3/tests/cli/rtt.yaml | 75 +++++++++++ .../integration/targets/vyos_ospfv3/vars/main.yaml | 140 +++++++++++++++++++++ 17 files changed, 635 insertions(+) create mode 100644 tests/integration/targets/vyos_ospfv3/defaults/main.yaml create mode 100644 tests/integration/targets/vyos_ospfv3/meta/main.yaml create mode 100644 tests/integration/targets/vyos_ospfv3/tasks/cli.yaml create mode 100644 tests/integration/targets/vyos_ospfv3/tasks/main.yaml create mode 100644 tests/integration/targets/vyos_ospfv3/tests/cli/_parsed_config.cfg create mode 100644 tests/integration/targets/vyos_ospfv3/tests/cli/_populate.yaml create mode 100644 tests/integration/targets/vyos_ospfv3/tests/cli/_remove_config.yaml create mode 100644 tests/integration/targets/vyos_ospfv3/tests/cli/deleted.yaml create mode 100644 tests/integration/targets/vyos_ospfv3/tests/cli/empty_config.yaml create mode 100644 tests/integration/targets/vyos_ospfv3/tests/cli/gathered.yaml create mode 100644 tests/integration/targets/vyos_ospfv3/tests/cli/merged.yaml create mode 100644 tests/integration/targets/vyos_ospfv3/tests/cli/merged_update.yaml create mode 100644 tests/integration/targets/vyos_ospfv3/tests/cli/parsed.yaml create mode 100644 tests/integration/targets/vyos_ospfv3/tests/cli/rendered.yaml create mode 100644 tests/integration/targets/vyos_ospfv3/tests/cli/replaced.yaml create mode 100644 tests/integration/targets/vyos_ospfv3/tests/cli/rtt.yaml create mode 100644 tests/integration/targets/vyos_ospfv3/vars/main.yaml (limited to 'tests/integration/targets') diff --git a/tests/integration/targets/vyos_ospfv3/defaults/main.yaml b/tests/integration/targets/vyos_ospfv3/defaults/main.yaml new file mode 100644 index 00000000..852a6bee --- /dev/null +++ b/tests/integration/targets/vyos_ospfv3/defaults/main.yaml @@ -0,0 +1,3 @@ +--- +testcase: '[^_].*' +test_items: [] diff --git a/tests/integration/targets/vyos_ospfv3/meta/main.yaml b/tests/integration/targets/vyos_ospfv3/meta/main.yaml new file mode 100644 index 00000000..7413320e --- /dev/null +++ b/tests/integration/targets/vyos_ospfv3/meta/main.yaml @@ -0,0 +1,3 @@ +--- +dependencies: + - prepare_vyos_tests diff --git a/tests/integration/targets/vyos_ospfv3/tasks/cli.yaml b/tests/integration/targets/vyos_ospfv3/tasks/cli.yaml new file mode 100644 index 00000000..93eb2fe4 --- /dev/null +++ b/tests/integration/targets/vyos_ospfv3/tasks/cli.yaml @@ -0,0 +1,19 @@ +--- +- name: Collect all cli test cases + find: + paths: '{{ role_path }}/tests/cli' + patterns: '{{ testcase }}.yaml' + use_regex: true + register: test_cases + delegate_to: localhost + +- name: Set test_items + set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}" + +- name: Run test case (connection=ansible.netcommon.network_cli) + include: '{{ test_case_to_run }}' + vars: + ansible_connection: ansible.netcommon.network_cli + with_items: '{{ test_items }}' + loop_control: + loop_var: test_case_to_run diff --git a/tests/integration/targets/vyos_ospfv3/tasks/main.yaml b/tests/integration/targets/vyos_ospfv3/tasks/main.yaml new file mode 100644 index 00000000..a3db933e --- /dev/null +++ b/tests/integration/targets/vyos_ospfv3/tasks/main.yaml @@ -0,0 +1,4 @@ +--- +- include: cli.yaml + tags: + - cli diff --git a/tests/integration/targets/vyos_ospfv3/tests/cli/_parsed_config.cfg b/tests/integration/targets/vyos_ospfv3/tests/cli/_parsed_config.cfg new file mode 100644 index 00000000..5e012d5a --- /dev/null +++ b/tests/integration/targets/vyos_ospfv3/tests/cli/_parsed_config.cfg @@ -0,0 +1,8 @@ +set protocols ospfv3 area 2 export-list 'export1' +set protocols ospfv3 area 2 import-list 'import1' +set protocols ospfv3 area 2 range '2001:db10::/32' +set protocols ospfv3 area 2 range '2001:db20::/32' +set protocols ospfv3 area 2 range '2001:db30::/32' +set protocols ospfv3 area 3 range '2001:db40::/32' +set protocols ospfv3 parameters router-id '192.0.2.10' +set protocols ospfv3 redistribute 'bgp' diff --git a/tests/integration/targets/vyos_ospfv3/tests/cli/_populate.yaml b/tests/integration/targets/vyos_ospfv3/tests/cli/_populate.yaml new file mode 100644 index 00000000..fb66d0a5 --- /dev/null +++ b/tests/integration/targets/vyos_ospfv3/tests/cli/_populate.yaml @@ -0,0 +1,13 @@ +--- +- name: Setup + vars: + lines: "set protocols ospfv3 area 2 export-list 'export1' \n + set protocols ospfv3 area 2 import-list 'import1' \n + set protocols ospfv3 area 2 range '2001:db10::/32' \n + set protocols ospfv3 area 2 range '2001:db20::/32' \n + set protocols ospfv3 area 2 range '2001:db30::/32' \n + set protocols ospfv3 area 3 range '2001:db40::/32' \n + set protocols ospfv3 parameters router-id '192.0.2.10' \n + set protocols ospfv3 redistribute 'bgp'" + ansible.netcommon.cli_config: + config: '{{ lines }}' diff --git a/tests/integration/targets/vyos_ospfv3/tests/cli/_remove_config.yaml b/tests/integration/targets/vyos_ospfv3/tests/cli/_remove_config.yaml new file mode 100644 index 00000000..2a475050 --- /dev/null +++ b/tests/integration/targets/vyos_ospfv3/tests/cli/_remove_config.yaml @@ -0,0 +1,6 @@ +--- +- name: Remove Config + vars: + lines: "delete protocols ospfv3\n" + ansible.netcommon.cli_config: + config: '{{ lines }}' diff --git a/tests/integration/targets/vyos_ospfv3/tests/cli/deleted.yaml b/tests/integration/targets/vyos_ospfv3/tests/cli/deleted.yaml new file mode 100644 index 00000000..d400ff18 --- /dev/null +++ b/tests/integration/targets/vyos_ospfv3/tests/cli/deleted.yaml @@ -0,0 +1,48 @@ +--- +- debug: + msg: Start vyos_ospfv3 deleted integration tests ansible_connection={{ + ansible_connection }} + +- include_tasks: _populate.yaml + +- block: + + - name: Delete attributes of firewall. + register: result + vyos.vyos.vyos_ospfv3: &id001 + config: + state: deleted + + - name: Assert that the before dicts were correctly generated + assert: + that: + - "{{ populate == result['before'] }}" + + - name: Assert that the correct set of commands were generated + assert: + that: + - "{{ deleted['commands'] | symmetric_difference(result['commands']) |length\ + \ == 0 }}" + + - name: Assert that the after dicts were correctly generated + assert: + that: + - "{{ deleted['after'] == result['after'] }}" + + - name: Delete attributes of given interfaces (IDEMPOTENT) + register: result + vyos.vyos.vyos_ospfv3: *id001 + + - name: Assert that the previous task was idempotent + assert: + that: + - result.changed == false + - result.commands|length == 0 + + - name: Assert that the before dicts were correctly generated + assert: + that: + - "{{ deleted['after'] == result['before'] }}" + always: + + - include_tasks: _remove_config.yaml diff --git a/tests/integration/targets/vyos_ospfv3/tests/cli/empty_config.yaml b/tests/integration/targets/vyos_ospfv3/tests/cli/empty_config.yaml new file mode 100644 index 00000000..fec61abf --- /dev/null +++ b/tests/integration/targets/vyos_ospfv3/tests/cli/empty_config.yaml @@ -0,0 +1,49 @@ +--- +- debug: + msg: START vyos_ospfv3 empty_config integration tests on connection={{ + ansible_connection }} + +- name: Merged with empty config should give appropriate error message + register: result + ignore_errors: true + vyos.vyos.vyos_ospfv3: + config: + state: merged + +- assert: + that: + - result.msg == 'value of config parameter must not be empty for state merged' + +- name: Replaced with empty config should give appropriate error message + register: result + ignore_errors: true + vyos.vyos.vyos_ospfv3: + config: + state: replaced + +- assert: + that: + - result.msg == 'value of config parameter must not be empty for state replaced' + +- name: Parsed with empty running_config should give appropriate error message + register: result + ignore_errors: true + vyos.vyos.vyos_ospfv3: + running_config: + state: parsed + +- assert: + that: + - result.msg == 'value of running_config parameter must not be empty for state + parsed' + +- name: Rendered with empty config should give appropriate error message + register: result + ignore_errors: true + vyos.vyos.vyos_ospfv3: + config: + state: rendered + +- assert: + that: + - result.msg == 'value of config parameter must not be empty for state rendered' diff --git a/tests/integration/targets/vyos_ospfv3/tests/cli/gathered.yaml b/tests/integration/targets/vyos_ospfv3/tests/cli/gathered.yaml new file mode 100644 index 00000000..6645b99f --- /dev/null +++ b/tests/integration/targets/vyos_ospfv3/tests/cli/gathered.yaml @@ -0,0 +1,25 @@ +--- +- debug: + msg: START vyos_ospfv3 gathered integration tests on connection={{ + ansible_connection }} + +- include_tasks: _remove_config.yaml + +- include_tasks: _populate.yaml + +- block: + + - name: Gather the provided configuration with the exisiting running configuration + register: result + vyos.vyos.vyos_ospfv3: + config: + state: gathered + + - name: Assert that gathered dicts was correctly generated + assert: + that: + - "{{ populate == result['gathered'] }}" + + always: + + - include_tasks: _remove_config.yaml diff --git a/tests/integration/targets/vyos_ospfv3/tests/cli/merged.yaml b/tests/integration/targets/vyos_ospfv3/tests/cli/merged.yaml new file mode 100644 index 00000000..93095009 --- /dev/null +++ b/tests/integration/targets/vyos_ospfv3/tests/cli/merged.yaml @@ -0,0 +1,62 @@ +--- +- debug: + msg: START vyos_ospfv3 merged integration tests on connection={{ ansible_connection + }} + +- include_tasks: _remove_config.yaml + +- block: + + - name: Merge the provided configuration with the exisiting running configuration + register: result + vyos.vyos.vyos_ospfv3: &id001 + config: + areas: + - area_id: '2' + export_list: 'export1' + import_list: 'import1' + range: + - address: '2001:db10::/32' + - address: '2001:db20::/32' + - address: '2001:db30::/32' + - area_id: '3' + range: + - address: '2001:db40::/32' + parameters: + router_id: '192.0.2.10' + redistribute: + - route_type: 'bgp' + state: merged + + - name: Assert that before dicts were correctly generated + assert: + that: "{{ merged['before'] == result['before'] }}" + + - name: Assert that correct set of commands were generated + assert: + that: + - "{{ merged['commands'] | symmetric_difference(result['commands']) |length\ + \ == 0 }}" + + - name: Assert that after dicts was correctly generated + assert: + that: + - "{{ merged['after'] == result['after'] }}" + + - name: Merge the provided configuration with the existing running configuration + (IDEMPOTENT) + register: result + vyos.vyos.vyos_ospfv3: *id001 + + - name: Assert that the previous task was idempotent + assert: + that: + - result['changed'] == false + + - name: Assert that before dicts were correctly generated + assert: + that: + - "{{ merged['after'] == result['before'] }}" + always: + + - include_tasks: _remove_config.yaml diff --git a/tests/integration/targets/vyos_ospfv3/tests/cli/merged_update.yaml b/tests/integration/targets/vyos_ospfv3/tests/cli/merged_update.yaml new file mode 100644 index 00000000..a65cfaf4 --- /dev/null +++ b/tests/integration/targets/vyos_ospfv3/tests/cli/merged_update.yaml @@ -0,0 +1,61 @@ +--- +- debug: + msg: START vyos_ospfv3 merged integration tests on connection={{ ansible_connection + }} + +- include_tasks: _remove_config.yaml + +- include_tasks: _populate.yaml + +- block: + + - name: Merge the provided configuration with the exisiting running configuration + register: result + vyos.vyos.vyos_ospfv3: &id001 + config: + areas: + - area_id: '2' + range: + - address: '2001:db10::/32' + - area_id: '3' + range: + - address: '2001:db40::/32' + - address: '2001:db70::/32' + parameters: + router_id: '192.0.2.10' + redistribute: + - route_type: 'bgp' + state: merged + + - name: Assert that before dicts were correctly generated + assert: + that: "{{ populate == result['before'] }}" + + - name: Assert that correct set of commands were generated + assert: + that: + - "{{ merged_update['commands'] | symmetric_difference(result['commands']) |length\ + \ == 0 }}" + + - name: Assert that after dicts was correctly generated + assert: + that: + - "{{ merged_update['after'] == result['after'] }}" + + - name: Merge the provided configuration with the existing running configuration + (IDEMPOTENT) + register: result + vyos.vyos.vyos_ospfv3: *id001 + + - name: Assert that the previous task was idempotent + assert: + that: + - result['changed'] == false + + - name: Assert that before dicts were correctly generated + assert: + that: + - "{{ merged_update['after'] == result['before'] }}" + always: + + - include_tasks: _remove_config.yaml \ No newline at end of file diff --git a/tests/integration/targets/vyos_ospfv3/tests/cli/parsed.yaml b/tests/integration/targets/vyos_ospfv3/tests/cli/parsed.yaml new file mode 100644 index 00000000..62870831 --- /dev/null +++ b/tests/integration/targets/vyos_ospfv3/tests/cli/parsed.yaml @@ -0,0 +1,15 @@ +--- +- debug: + msg: START vyos_ospfv3 parsed integration tests on connection={{ ansible_connection + }} + +- name: Parse externally provided ospfv3 config to agnostic model + register: result + vyos.vyos.vyos_ospfv3: + running_config: "{{ lookup('file', '_parsed_config.cfg') }}" + state: parsed + +- name: Assert that config was correctly parsed + assert: + that: + - "{{ parsed['after'] == result['parsed'] }}" diff --git a/tests/integration/targets/vyos_ospfv3/tests/cli/rendered.yaml b/tests/integration/targets/vyos_ospfv3/tests/cli/rendered.yaml new file mode 100644 index 00000000..3f714ced --- /dev/null +++ b/tests/integration/targets/vyos_ospfv3/tests/cli/rendered.yaml @@ -0,0 +1,38 @@ +--- +- debug: + msg: START vyos_ospfv3 rendered integration tests on connection={{ + ansible_connection }} + +- include_tasks: _remove_config.yaml + +- block: + + - name: Structure provided configuration into device specific commands + register: result + vyos.vyos.vyos_ospfv3: + config: + redistribute: + - route_type: 'bgp' + parameters: + router_id: '192.0.2.10' + areas: + - area_id: '2' + export_list: 'export1' + import_list: 'import1' + range: + - address: '2001:db10::/32' + - address: '2001:db20::/32' + - address: '2001:db30::/32' + - area_id: '3' + range: + - address: '2001:db40::/32' + state: rendered + + - name: Assert that correct set of commands were generated + assert: + that: + - "{{ rendered['commands'] | symmetric_difference(result['rendered'])\ + \ |length == 0 }}" + +- debug: + msg: END vyos_ospfv3 rendered integration tests on connection={{ ansible_connection }} diff --git a/tests/integration/targets/vyos_ospfv3/tests/cli/replaced.yaml b/tests/integration/targets/vyos_ospfv3/tests/cli/replaced.yaml new file mode 100644 index 00000000..74d25dbf --- /dev/null +++ b/tests/integration/targets/vyos_ospfv3/tests/cli/replaced.yaml @@ -0,0 +1,66 @@ +--- +- debug: + msg: START vyos_ospfv3 replaced integration tests on connection={{ + ansible_connection }} + +- include_tasks: _remove_config.yaml + +- include_tasks: _populate.yaml + +- block: + + - name: Replace device configurations of listed ospfv3 routes with provided configurations + register: result + vyos.vyos.vyos_ospfv3: &id001 + config: + redistribute: + - route_type: 'bgp' + parameters: + router_id: '192.0.2.10' + areas: + - area_id: '2' + export_list: 'export1' + import_list: 'import1' + + range: + - address: '2001:db10::/32' + - address: '2001:db30::/32' + - address: '2001:db50::/32' + - area_id: '4' + range: + - address: '2001:db60::/32' + state: replaced + + - name: Assert that correct set of commands were generated + assert: + that: + - "{{ replaced['commands'] | symmetric_difference(result['commands'])\ + \ |length == 0 }}" + + - name: Assert that before dicts are correctly generated + assert: + that: + - "{{ populate == result['before'] }}" + + - name: Assert that after dict is correctly generated + assert: + that: + - "{{ replaced['after'] == result['after'] }}" + + - name: Replace device configurations of listed ospfv3 routes with provided configurarions + (IDEMPOTENT) + register: result + vyos.vyos.vyos_ospfv3: *id001 + + - name: Assert that task was idempotent + assert: + that: + - result['changed'] == false + + - name: Assert that before dict is correctly generated + assert: + that: + - "{{ replaced['after'] == result['before'] }}" + always: + + - include_tasks: _remove_config.yaml diff --git a/tests/integration/targets/vyos_ospfv3/tests/cli/rtt.yaml b/tests/integration/targets/vyos_ospfv3/tests/cli/rtt.yaml new file mode 100644 index 00000000..d8175540 --- /dev/null +++ b/tests/integration/targets/vyos_ospfv3/tests/cli/rtt.yaml @@ -0,0 +1,75 @@ +--- +- debug: + msg: START vyos_ospfv3 round trip integration tests on connection={{ + ansible_connection }} + +- include_tasks: _remove_config.yaml + +- block: + + - name: Apply the provided configuration (base config) + register: base_config + vyos.vyos.vyos_ospfv3: + config: + areas: + - area_id: '2' + export_list: 'export1' + import_list: 'import1' + range: + - address: '2001:db10::/32' + - address: '2001:db20::/32' + - address: '2001:db30::/32' + - area_id: '3' + range: + - address: '2001:db40::/32' + parameters: + router_id: '192.0.2.10' + redistribute: + - route_type: 'bgp' + state: merged + + - name: Gather ospfv3 facts + vyos.vyos.vyos_facts: + gather_subset: + - default + gather_network_resources: + - ospfv3 + + - name: Apply the provided configuration (config to be reverted) + register: result + vyos.vyos.vyos_ospfv3: + config: + redistribute: + - route_type: 'bgp' + parameters: + router_id: '192.0.2.10' + areas: + - area_id: '2' + export_list: 'export1' + import_list: 'import1' + + range: + - address: '2001:db10::/32' + - address: '2001:db30::/32' + - address: '2001:db50::/32' + - area_id: '4' + range: + - address: '2001:db60::/32' + state: replaced + + - name: Assert that changes were applied + assert: + that: "{{ round_trip['after'] == result['after'] }}" + + - name: Revert back to base config using facts round trip + register: revert + vyos.vyos.vyos_ospfv3: + config: "{{ ansible_facts['network_resources']['ospfv3'] }}" + state: replaced + + - name: Assert that config was reverted + assert: + that: "{{ base_config['after'] == revert['after']}}" + always: + + - include_tasks: _remove_config.yaml diff --git a/tests/integration/targets/vyos_ospfv3/vars/main.yaml b/tests/integration/targets/vyos_ospfv3/vars/main.yaml new file mode 100644 index 00000000..d384e2a1 --- /dev/null +++ b/tests/integration/targets/vyos_ospfv3/vars/main.yaml @@ -0,0 +1,140 @@ +--- +merged: + before: {} + commands: + - set protocols ospfv3 redistribute bgp + - set protocols ospfv3 parameters router-id '192.0.2.10' + - set protocols ospfv3 area 2 range 2001:db10::/32 + - set protocols ospfv3 area 2 range 2001:db20::/32 + - set protocols ospfv3 area 2 range 2001:db30::/32 + - set protocols ospfv3 area '2' + - set protocols ospfv3 area 2 export-list export1 + - set protocols ospfv3 area 2 import-list import1 + - set protocols ospfv3 area '3' + - set protocols ospfv3 area 3 range 2001:db40::/32 + after: + areas: + - area_id: '2' + export_list: 'export1' + import_list: 'import1' + range: + - address: '2001:db10::/32' + - address: '2001:db20::/32' + - address: '2001:db30::/32' + - area_id: '3' + range: + - address: '2001:db40::/32' + parameters: + router_id: '192.0.2.10' + redistribute: + - route_type: 'bgp' + +merged_update: + commands: + - set protocols ospfv3 area 3 range 2001:db70::/32 + after: + areas: + - area_id: '2' + export_list: 'export1' + import_list: 'import1' + range: + - address: '2001:db10::/32' + - address: '2001:db20::/32' + - address: '2001:db30::/32' + - area_id: '3' + range: + - address: '2001:db40::/32' + - address: '2001:db70::/32' + parameters: + router_id: '192.0.2.10' + redistribute: + - route_type: 'bgp' +populate: + areas: + - area_id: '2' + export_list: 'export1' + import_list: 'import1' + range: + - address: '2001:db10::/32' + - address: '2001:db20::/32' + - address: '2001:db30::/32' + - area_id: '3' + range: + - address: '2001:db40::/32' + parameters: + router_id: '192.0.2.10' + redistribute: + - route_type: 'bgp' +replaced: + commands: + - delete protocols ospfv3 area 2 range 2001:db20::/32 + - delete protocols ospfv3 area 3 + - set protocols ospfv3 area 2 range 2001:db50::/32 + - set protocols ospfv3 area '4' + - set protocols ospfv3 area 4 range 2001:db60::/32 + after: + areas: + - area_id: '2' + export_list: 'export1' + import_list: 'import1' + range: + - address: '2001:db10::/32' + - address: '2001:db30::/32' + - address: '2001:db50::/32' + - area_id: '4' + range: + - address: '2001:db60::/32' + parameters: + router_id: '192.0.2.10' + redistribute: + - route_type: 'bgp' +rendered: + commands: + - set protocols ospfv3 redistribute bgp + - set protocols ospfv3 parameters router-id '192.0.2.10' + - set protocols ospfv3 area 2 range 2001:db10::/32 + - set protocols ospfv3 area 2 range 2001:db20::/32 + - set protocols ospfv3 area 2 range 2001:db30::/32 + - set protocols ospfv3 area '2' + - set protocols ospfv3 area 2 export-list export1 + - set protocols ospfv3 area 2 import-list import1 + - set protocols ospfv3 area '3' + - set protocols ospfv3 area 3 range 2001:db40::/32 +parsed: + after: + areas: + - area_id: '2' + export_list: 'export1' + import_list: 'import1' + range: + - address: '2001:db10::/32' + - address: '2001:db20::/32' + - address: '2001:db30::/32' + - area_id: '3' + range: + - address: '2001:db40::/32' + parameters: + router_id: '192.0.2.10' + redistribute: + - route_type: 'bgp' +deleted: + commands: + - 'delete protocols ospfv3' + after: {} +round_trip: + after: + areas: + - area_id: '2' + export_list: 'export1' + import_list: 'import1' + range: + - address: '2001:db10::/32' + - address: '2001:db30::/32' + - address: '2001:db50::/32' + - area_id: '4' + range: + - address: '2001:db60::/32' + parameters: + router_id: '192.0.2.10' + redistribute: + - route_type: 'bgp' -- cgit v1.2.3 From 44a2e8c885b1d050f9a36fc095403c1568cc1cfd Mon Sep 17 00:00:00 2001 From: Rohit Thakur Date: Mon, 11 May 2020 13:48:29 +0530 Subject: comments incorporated Signed-off-by: Rohit Thakur --- .../network/vyos/config/ospfv3/ospfv3.py | 1 - plugins/module_utils/network/vyos/utils/utils.py | 1 - plugins/modules/vyos_ospfv3.py | 141 ++++++++++----------- .../targets/vyos_ospfv3/tests/cli/deleted.yaml | 4 +- .../vyos_ospfv3/tests/cli/merged_update.yaml | 2 +- .../integration/targets/vyos_ospfv3/vars/main.yaml | 64 +++++----- 6 files changed, 105 insertions(+), 108 deletions(-) (limited to 'tests/integration/targets') diff --git a/plugins/module_utils/network/vyos/config/ospfv3/ospfv3.py b/plugins/module_utils/network/vyos/config/ospfv3/ospfv3.py index de972bc1..acda3801 100644 --- a/plugins/module_utils/network/vyos/config/ospfv3/ospfv3.py +++ b/plugins/module_utils/network/vyos/config/ospfv3/ospfv3.py @@ -29,7 +29,6 @@ from ansible_collections.vyos.vyos.plugins.module_utils.network.vyos.facts.facts from ansible.module_utils.six import iteritems from ansible_collections.vyos.vyos.plugins.module_utils.network.vyos.utils.utils import ( - list_diff_want_only, _in_target, _is_w_same, _bool_to_str, diff --git a/plugins/module_utils/network/vyos/utils/utils.py b/plugins/module_utils/network/vyos/utils/utils.py index f2986aa5..96feddd9 100644 --- a/plugins/module_utils/network/vyos/utils/utils.py +++ b/plugins/module_utils/network/vyos/utils/utils.py @@ -7,7 +7,6 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type -import q from ansible.module_utils.six import iteritems from ansible_collections.ansible.netcommon.plugins.module_utils.compat import ( ipaddress, diff --git a/plugins/modules/vyos_ospfv3.py b/plugins/modules/vyos_ospfv3.py index ae93500a..e2d3ff7f 100644 --- a/plugins/modules/vyos_ospfv3.py +++ b/plugins/modules/vyos_ospfv3.py @@ -80,11 +80,11 @@ options: parameters: descriptions: OSPFv3 specific parameters. type: dict - suboptions: - router_id: + suboptions: + router_id: description: Override the default router identifier. type: str - redistribute: + redistribute: description: Redistribute information from another routing protocol. type: list elements: dict @@ -92,10 +92,10 @@ options: route_type: description: Route type to redistribute. type: str - choices: ['bgp', 'connected', 'kernel', 'ripng', 'static'] + choices: ['bgp', 'connected', 'kernel', 'ripng', 'static'] route_map: description: Route map references. - type: str + type: str running_config: description: - This option is used only with state I(parsed). @@ -128,25 +128,24 @@ EXAMPLES = """ # # - name: Merge the provided configuration with the exisiting running configuration - vyos.vyos.vyos_ospfv3: - config: - redistribute: - - route_type: 'bgp' - parameters: - router_id: '192.0.2.10' - areas: - - area_id: '2' - export_list: 'export1' - import_list: 'import1' - - range: - - address: '2001:db10::/32' - - address: '2001:db20::/32' - - address: '2001:db30::/32' - - area_id: '3' - range: - - address: '2001:db40::/32' - state: merged + vyos.vyos.vyos_ospfv3: + config: + redistribute: + - route_type: 'bgp' + parameters: + router_id: '192.0.2.10' + areas: + - area_id: '2' + export_list: 'export1' + import_list: 'import1' + range: + - address: '2001:db10::/32' + - address: '2001:db20::/32' + - address: '2001:db30::/32' + - area_id: '3' + range: + - address: '2001:db40::/32' + state: merged # # # ------------------------- @@ -235,25 +234,24 @@ EXAMPLES = """ # set protocols ospfv3 redistribute 'bgp' # - name: Replace ospfv3 routes attributes configuration. - vyos.vyos.vyos_ospfv3: - config: - redistribute: - - route_type: 'bgp' - parameters: - router_id: '192.0.2.10' - areas: - - area_id: '2' - export_list: 'export1' - import_list: 'import1' - - range: - - address: '2001:db10::/32' - - address: '2001:db30::/32' - - address: '2001:db50::/32' - - area_id: '4' - range: - - address: '2001:db60::/32' - state: replaced + vyos.vyos.vyos_ospfv3: + config: + redistribute: + - route_type: 'bgp' + parameters: + router_id: '192.0.2.10' + areas: + - area_id: '2' + export_list: 'export1' + import_list: 'import1' + range: + - address: '2001:db10::/32' + - address: '2001:db30::/32' + - address: '2001:db50::/32' + - area_id: '4' + range: + - address: '2001:db60::/32' + state: replaced # # # ------------------------- @@ -360,25 +358,24 @@ EXAMPLES = """ # # - name: Render the commands for provided configuration - vyos.vyos.vyos_ospfv3: - config: - redistribute: - - route_type: 'bgp' - parameters: - router_id: '192.0.2.10' - areas: - - area_id: '2' - export_list: 'export1' - import_list: 'import1' - - range: - - address: '2001:db10::/32' - - address: '2001:db20::/32' - - address: '2001:db30::/32' - - area_id: '3' - range: - - address: '2001:db40::/32' - state: rendered + vyos.vyos.vyos_ospfv3: + config: + redistribute: + - route_type: 'bgp' + parameters: + router_id: '192.0.2.10' + areas: + - area_id: '2' + export_list: 'export1' + import_list: 'import1' + range: + - address: '2001:db10::/32' + - address: '2001:db20::/32' + - address: '2001:db30::/32' + - area_id: '3' + range: + - address: '2001:db40::/32' + state: rendered # # # ------------------------- @@ -405,9 +402,9 @@ EXAMPLES = """ # # - name: Parse the commands to provide structured configuration. - vyos.vyos.vyos_ospfv3: - running_config: - "set protocols ospfv3 area 2 export-list 'export1' + vyos.vyos.vyos_ospfv3: + running_config: + "set protocols ospfv3 area 2 export-list 'export1' set protocols ospfv3 area 2 import-list 'import1' set protocols ospfv3 area 2 range '2001:db10::/32' set protocols ospfv3 area 2 range '2001:db20::/32' @@ -415,7 +412,7 @@ set protocols ospfv3 area 2 range '2001:db30::/32' set protocols ospfv3 area 3 range '2001:db40::/32' set protocols ospfv3 parameters router-id '192.0.2.10' set protocols ospfv3 redistribute 'bgp'" - state: parsed + state: parsed # # # ------------------------- @@ -477,9 +474,9 @@ set protocols ospfv3 redistribute 'bgp'" # set protocols ospfv3 redistribute 'bgp' # - name: Gather ospfv3 routes config with provided configurations - vyos.vyos.vyos_ospfv3: - config: - state: gathered + vyos.vyos.vyos_ospfv3: + config: + state: gathered # # # ------------------------- @@ -553,9 +550,9 @@ set protocols ospfv3 redistribute 'bgp'" # set protocols ospfv3 redistribute 'bgp' # - name: Delete attributes of ospfv3 routes. - vyos.vyos.vyos_ospfv3: - config: - state: deleted + vyos.vyos.vyos_ospfv3: + config: + state: deleted # # # ------------------------ diff --git a/tests/integration/targets/vyos_ospfv3/tests/cli/deleted.yaml b/tests/integration/targets/vyos_ospfv3/tests/cli/deleted.yaml index d400ff18..55bec184 100644 --- a/tests/integration/targets/vyos_ospfv3/tests/cli/deleted.yaml +++ b/tests/integration/targets/vyos_ospfv3/tests/cli/deleted.yaml @@ -7,7 +7,7 @@ - block: - - name: Delete attributes of firewall. + - name: Delete ospfv3 routes register: result vyos.vyos.vyos_ospfv3: &id001 config: @@ -29,7 +29,7 @@ that: - "{{ deleted['after'] == result['after'] }}" - - name: Delete attributes of given interfaces (IDEMPOTENT) + - name: Delete ospfv3 routes (IDEMPOTENT) register: result vyos.vyos.vyos_ospfv3: *id001 diff --git a/tests/integration/targets/vyos_ospfv3/tests/cli/merged_update.yaml b/tests/integration/targets/vyos_ospfv3/tests/cli/merged_update.yaml index a65cfaf4..0d506b37 100644 --- a/tests/integration/targets/vyos_ospfv3/tests/cli/merged_update.yaml +++ b/tests/integration/targets/vyos_ospfv3/tests/cli/merged_update.yaml @@ -58,4 +58,4 @@ - "{{ merged_update['after'] == result['before'] }}" always: - - include_tasks: _remove_config.yaml \ No newline at end of file + - include_tasks: _remove_config.yaml diff --git a/tests/integration/targets/vyos_ospfv3/vars/main.yaml b/tests/integration/targets/vyos_ospfv3/vars/main.yaml index d384e2a1..6ded89a8 100644 --- a/tests/integration/targets/vyos_ospfv3/vars/main.yaml +++ b/tests/integration/targets/vyos_ospfv3/vars/main.yaml @@ -13,42 +13,44 @@ merged: - set protocols ospfv3 area '3' - set protocols ospfv3 area 3 range 2001:db40::/32 after: - areas: - - area_id: '2' - export_list: 'export1' - import_list: 'import1' - range: - - address: '2001:db10::/32' - - address: '2001:db20::/32' - - address: '2001:db30::/32' - - area_id: '3' - range: - - address: '2001:db40::/32' - parameters: - router_id: '192.0.2.10' - redistribute: - - route_type: 'bgp' + areas: + - area_id: '2' + export_list: 'export1' + import_list: 'import1' + range: + - address: '2001:db10::/32' + - address: '2001:db20::/32' + - address: '2001:db30::/32' + - area_id: '3' + range: + - address: '2001:db40::/32' + parameters: + router_id: '192.0.2.10' + redistribute: + - route_type: 'bgp' + merged_update: commands: - set protocols ospfv3 area 3 range 2001:db70::/32 after: - areas: - - area_id: '2' - export_list: 'export1' - import_list: 'import1' - range: - - address: '2001:db10::/32' - - address: '2001:db20::/32' - - address: '2001:db30::/32' - - area_id: '3' - range: - - address: '2001:db40::/32' - - address: '2001:db70::/32' - parameters: - router_id: '192.0.2.10' - redistribute: - - route_type: 'bgp' + areas: + - area_id: '2' + export_list: 'export1' + import_list: 'import1' + range: + - address: '2001:db10::/32' + - address: '2001:db20::/32' + - address: '2001:db30::/32' + - area_id: '3' + range: + - address: '2001:db40::/32' + - address: '2001:db70::/32' + parameters: + router_id: '192.0.2.10' + redistribute: + - route_type: 'bgp' + populate: areas: - area_id: '2' -- cgit v1.2.3