summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/nxos_bgp_neighbor_af
diff options
context:
space:
mode:
authorMike Wiebe <mwiebe@cisco.com>2017-08-21 21:28:02 +0200
committerNathaniel Case <this.is@nathanielca.se>2017-08-21 21:28:02 +0200
commitec11cd2696f7b698d69f266f89369d2f0de67c8b (patch)
treef6f3a51ee455a8de6fdc509fe733951baf7d39ef /test/integration/targets/nxos_bgp_neighbor_af
parentAdding missing period into the module doc template (diff)
downloadansible-ec11cd2696f7b698d69f266f89369d2f0de67c8b.tar.xz
ansible-ec11cd2696f7b698d69f266f89369d2f0de67c8b.zip
nxos_bgp_neighbor_af fix problem with advertise-map properties (#28413)
* Fix problem with advertise-map properties * Change limit_to back to run all tests * Fix unit tests * Move advertise_map out of get_custom_value
Diffstat (limited to 'test/integration/targets/nxos_bgp_neighbor_af')
-rw-r--r--test/integration/targets/nxos_bgp_neighbor_af/defaults/main.yaml2
-rw-r--r--test/integration/targets/nxos_bgp_neighbor_af/meta/main.yml2
-rw-r--r--test/integration/targets/nxos_bgp_neighbor_af/tasks/cli.yaml15
-rw-r--r--test/integration/targets/nxos_bgp_neighbor_af/tasks/main.yaml7
-rw-r--r--test/integration/targets/nxos_bgp_neighbor_af/tasks/nxapi.yaml28
-rw-r--r--test/integration/targets/nxos_bgp_neighbor_af/tests/cli/sanity.yaml4
-rw-r--r--test/integration/targets/nxos_bgp_neighbor_af/tests/common/sanity.yaml204
-rw-r--r--test/integration/targets/nxos_bgp_neighbor_af/tests/nxapi/sanity.yaml4
8 files changed, 266 insertions, 0 deletions
diff --git a/test/integration/targets/nxos_bgp_neighbor_af/defaults/main.yaml b/test/integration/targets/nxos_bgp_neighbor_af/defaults/main.yaml
new file mode 100644
index 0000000000..5f709c5aac
--- /dev/null
+++ b/test/integration/targets/nxos_bgp_neighbor_af/defaults/main.yaml
@@ -0,0 +1,2 @@
+---
+testcase: "*"
diff --git a/test/integration/targets/nxos_bgp_neighbor_af/meta/main.yml b/test/integration/targets/nxos_bgp_neighbor_af/meta/main.yml
new file mode 100644
index 0000000000..ae741cbdc7
--- /dev/null
+++ b/test/integration/targets/nxos_bgp_neighbor_af/meta/main.yml
@@ -0,0 +1,2 @@
+dependencies:
+ - prepare_nxos_tests
diff --git a/test/integration/targets/nxos_bgp_neighbor_af/tasks/cli.yaml b/test/integration/targets/nxos_bgp_neighbor_af/tasks/cli.yaml
new file mode 100644
index 0000000000..d675462dd0
--- /dev/null
+++ b/test/integration/targets/nxos_bgp_neighbor_af/tasks/cli.yaml
@@ -0,0 +1,15 @@
+---
+- name: collect all cli test cases
+ find:
+ paths: "{{ role_path }}/tests/cli"
+ patterns: "{{ testcase }}.yaml"
+ register: test_cases
+
+- name: set test_items
+ set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
+
+- name: run test case
+ include: "{{ test_case_to_run }}"
+ with_items: "{{ test_items }}"
+ loop_control:
+ loop_var: test_case_to_run
diff --git a/test/integration/targets/nxos_bgp_neighbor_af/tasks/main.yaml b/test/integration/targets/nxos_bgp_neighbor_af/tasks/main.yaml
new file mode 100644
index 0000000000..fea9337c14
--- /dev/null
+++ b/test/integration/targets/nxos_bgp_neighbor_af/tasks/main.yaml
@@ -0,0 +1,7 @@
+---
+# Use block to ensure that both cli and nxapi tests
+# will run even if there are failures or errors.
+- block:
+ - { include: cli.yaml, tags: ['cli'] }
+ always:
+ - { include: nxapi.yaml, tags: ['nxapi'] }
diff --git a/test/integration/targets/nxos_bgp_neighbor_af/tasks/nxapi.yaml b/test/integration/targets/nxos_bgp_neighbor_af/tasks/nxapi.yaml
new file mode 100644
index 0000000000..ea525379f7
--- /dev/null
+++ b/test/integration/targets/nxos_bgp_neighbor_af/tasks/nxapi.yaml
@@ -0,0 +1,28 @@
+---
+- name: collect all nxapi test cases
+ find:
+ paths: "{{ role_path }}/tests/nxapi"
+ patterns: "{{ testcase }}.yaml"
+ register: test_cases
+
+- name: set test_items
+ set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
+
+- name: enable nxapi
+ nxos_config:
+ lines:
+ - feature nxapi
+ - nxapi http port 80
+ provider: "{{ cli }}"
+
+- name: run test case
+ include: "{{ test_case_to_run }}"
+ with_items: "{{ test_items }}"
+ loop_control:
+ loop_var: test_case_to_run
+
+- name: disable nxapi
+ nxos_config:
+ lines:
+ - no feature nxapi
+ provider: "{{ cli }}"
diff --git a/test/integration/targets/nxos_bgp_neighbor_af/tests/cli/sanity.yaml b/test/integration/targets/nxos_bgp_neighbor_af/tests/cli/sanity.yaml
new file mode 100644
index 0000000000..420af7420e
--- /dev/null
+++ b/test/integration/targets/nxos_bgp_neighbor_af/tests/cli/sanity.yaml
@@ -0,0 +1,4 @@
+---
+- set_fact: connection="{{ cli }}"
+
+- import_tasks: "{{ role_path }}/tests/common/sanity.yaml"
diff --git a/test/integration/targets/nxos_bgp_neighbor_af/tests/common/sanity.yaml b/test/integration/targets/nxos_bgp_neighbor_af/tests/common/sanity.yaml
new file mode 100644
index 0000000000..eb9815f49a
--- /dev/null
+++ b/test/integration/targets/nxos_bgp_neighbor_af/tests/common/sanity.yaml
@@ -0,0 +1,204 @@
+---
+- debug: msg="START TRANSPORT:{{ connection.transport }} nxos_bgp_neighbor_af sanity test"
+
+- name: "Disable feature BGP"
+ nxos_feature: &disable_bgp
+ feature: bgp
+ state: disabled
+ provider: "{{ connection }}"
+ ignore_errors: yes
+
+- name: "Enable feature BGP"
+ nxos_feature:
+ feature: bgp
+ state: enabled
+ provider: "{{ connection }}"
+ ignore_errors: yes
+
+- block:
+ - name: "Configure BGP neighbor address-family defaults"
+ nxos_bgp_neighbor_af: &configure_default
+ asn: 65535
+ neighbor: '3.3.3.3'
+ afi: ipv4
+ safi: unicast
+ additional_paths_receive: 'inherit'
+ additional_paths_send: 'inherit'
+ advertise_map_exist: 'default'
+ # -----------------------------------------------
+ # advertise_map_exist and advertise_map_non_exist
+ # are mutually exclusive
+ #advertise_map_non_exist: 'default'
+ # -----------------------------------------------
+ allowas_in: 'false'
+ allowas_in_max: 'default'
+ as_override: 'false'
+ default_originate: 'false'
+ default_originate_route_map: 'default'
+ filter_list_in: 'default'
+ filter_list_out: 'default'
+ # ------------------------------------------
+ # max_prefix* properities are off by default
+ max_prefix_limit: 'default'
+ # For the default case, only max_prefix_limit
+ # is set. The rest should be left unset.
+ #max_prefix_interval: 'default'
+ #max_prefix_threshold: 'default'
+ #max_prefix_warning: 'false'
+ # ------------------------------------------
+ next_hop_self: 'false'
+ next_hop_third_party: 'true'
+ prefix_list_in: 'default'
+ prefix_list_out: 'default'
+ route_map_in: 'default'
+ route_map_out: 'default'
+ route_reflector_client: 'false'
+ send_community: 'default'
+ soft_reconfiguration_in: 'inherit'
+ suppress_inactive: 'false'
+ unsuppress_map: 'default'
+ weight: 'default'
+ state: present
+ provider: "{{ connection }}"
+ register: result
+
+ - assert: &true
+ that:
+ - "result.changed == true"
+
+ - name: "Check Idempotence"
+ nxos_bgp_neighbor_af: *configure_default
+ register: result
+
+ - assert: &false
+ that:
+ - "result.changed == false"
+
+ - name: "Setup: Remove BGP config"
+ nxos_bgp: &remove
+ asn: 65535
+ state: absent
+ provider: "{{ connection }}"
+ register: result
+
+ - assert: *true
+
+ - name: "Check Idempotence"
+ nxos_bgp: *remove
+ register: result
+
+ - assert: *false
+
+ - name: "Configure eBGP setting remote_as 2 prior to non-defaults test"
+ nxos_bgp_neighbor:
+ asn: 65535
+ vrf: 'blue'
+ neighbor: '3.3.3.3'
+ remote_as: 2
+ provider: "{{ connection }}"
+
+ - name: "Configure BGP neighbor non-defaults"
+ nxos_bgp_neighbor_af: &configure_non_default
+ asn: 65535
+ vrf: 'blue'
+ neighbor: '3.3.3.3'
+ afi: ipv4
+ safi: unicast
+ additional_paths_receive: 'enable'
+ additional_paths_send: 'disable'
+ advertise_map_non_exist: ['ansible_rm', 'my_non_exist_map']
+ # -----------------------------------------------
+ # advertise_map_exist and advertise_map_non_exist
+ # are mutually exclusive
+ #advertise_map_exist: 'my_map'
+ # -----------------------------------------------
+ allowas_in: 'true'
+ allowas_in_max: '5'
+ as_override: 'true'
+ default_originate: 'true'
+ default_originate_route_map: 'my_route_map'
+ filter_list_in: 'my_filter_list_in'
+ filter_list_out: 'my_filter_list_out'
+ max_prefix_limit: 100
+ # max_prefix_interval and max_prefix_warning
+ # are mutually exclusive.
+ max_prefix_interval: 30
+ max_prefix_threshold: 50
+ #max_prefix_warning: 'true'
+ next_hop_self: 'true'
+ next_hop_third_party: 'false'
+ prefix_list_in: 'pfx_in'
+ prefix_list_out: 'pfx_out'
+ route_map_in: 'rm_in'
+ route_map_out: 'rm_out'
+ send_community: 'extended'
+ soft_reconfiguration_in: 'enable'
+ soo: '3:3'
+ suppress_inactive: 'true'
+ unsuppress_map: 'unsup_map'
+ weight: '30'
+ state: present
+ provider: "{{ connection }}"
+ register: result
+
+ - assert: *true
+
+ - name: "Check Idempotence"
+ nxos_bgp_neighbor_af: *configure_non_default
+ register: result
+
+ - assert: *false
+
+ - name: "Remove BGP"
+ nxos_bgp: *remove
+ register: result
+
+ - assert: *true
+
+ - name: "Configure BGP neighbor af route_reflector_client"
+ nxos_bgp_neighbor:
+ asn: 65535
+ neighbor: '2.2.2.2'
+ remote_as: 65535
+ provider: "{{ connection }}"
+
+ - name: "Configure BGP neighbor af route_reflector_client"
+ nxos_bgp_neighbor_af: &configure_rr_client
+ asn: 65535
+ neighbor: '2.2.2.2'
+ afi: ipv4
+ safi: unicast
+ route_reflector_client: 'true'
+ #advertise_map_non_exist: ['ansible_rm', 'my_non_exist_map']
+ # -----------------------------------------------
+ # advertise_map_exist and advertise_map_non_exist
+ # are mutually exclusive
+ advertise_map_exist: ['ansible_rm', 'my_exist_map']
+ # -----------------------------------------------
+ # max_prefix_interval and max_prefix_warning
+ # are mutually exclusive. Add testing for
+ # warning since interval is tested above.
+ max_prefix_limit: 100
+ #max_prefix_interval: 30
+ max_prefix_threshold: 50
+ max_prefix_warning: 'true'
+ provider: "{{ connection }}"
+ register: result
+
+ - assert: *true
+
+ - name: "Check Idempotence"
+ nxos_bgp_neighbor_af: *configure_rr_client
+ register: result
+
+ - assert: *false
+
+ always:
+ - name: "Cleanup BGP"
+ nxos_bgp: *remove
+ ignore_errors: yes
+
+ - name: "Disable feature bgp"
+ nxos_feature: *disable_bgp
+
+ - debug: msg="END TRANSPORT:{{ connection.transport }} nxos_bgp_neighbor_af sanity test"
diff --git a/test/integration/targets/nxos_bgp_neighbor_af/tests/nxapi/sanity.yaml b/test/integration/targets/nxos_bgp_neighbor_af/tests/nxapi/sanity.yaml
new file mode 100644
index 0000000000..e30ea6eaf7
--- /dev/null
+++ b/test/integration/targets/nxos_bgp_neighbor_af/tests/nxapi/sanity.yaml
@@ -0,0 +1,4 @@
+---
+- set_fact: connection="{{ nxapi }}"
+
+- import_tasks: "{{ role_path }}/tests/common/sanity.yaml"