fix nxos_bgp_neighbor_af issues (#36472)

This commit is contained in:
saichint 2018-02-20 20:50:24 -08:00 committed by Trishna Guha
commit 47a92386c9
2 changed files with 259 additions and 149 deletions

View file

@ -3,6 +3,9 @@
- debug: msg="Using provider={{ connection.transport }}"
when: ansible_connection == "local"
- set_fact: soft_reconfiguration_ina="always"
when: imagetag and (imagetag is version_compare('D1', 'ne'))
- name: "Disable feature BGP"
nxos_feature: &disable_bgp
feature: bgp
@ -18,48 +21,32 @@
ignore_errors: yes
- block:
- name: "Configure BGP neighbor address-family defaults"
nxos_bgp_neighbor_af: &configure_default
- name: "Configure BGP neighbor address-family"
nxos_bgp_neighbor_af: &configure1
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'
additional_paths_receive: 'enable'
additional_paths_send: 'enable'
advertise_map_exist: ['ansible_rm', 'my_exist_map']
allowas_in: True
default_originate: True
disable_peer_as_check: True
filter_list_in: 'my_filter_list_in'
filter_list_out: 'my_filter_list_out'
max_prefix_limit: 100
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'
send_community: 'both'
soft_reconfiguration_in: 'enable'
suppress_inactive: True
unsuppress_map: 'unsup_map'
weight: '30'
state: present
provider: "{{ connection }}"
register: result
@ -69,76 +56,39 @@
- "result.changed == true"
- name: "Check Idempotence"
nxos_bgp_neighbor_af: *configure_default
nxos_bgp_neighbor_af: *configure1
register: result
- assert: &false
that:
- "result.changed == false"
- name: "Setup: Remove BGP config"
nxos_bgp: &remove
- name: "Configure BGP neighbor address-family def1"
nxos_bgp_neighbor_af: &configure_def1
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'
additional_paths_receive: 'inherit'
additional_paths_send: 'inherit'
advertise_map_exist: default
allowas_in: False
default_originate: False
disable_peer_as_check: False
filter_list_in: default
filter_list_out: default
max_prefix_limit: 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
send_community: 'none'
soft_reconfiguration_in: 'inherit'
suppress_inactive: False
unsuppress_map: default
weight: default
state: present
provider: "{{ connection }}"
register: result
@ -146,13 +96,155 @@
- assert: *true
- name: "Check Idempotence"
nxos_bgp_neighbor_af: *configure_non_default
nxos_bgp_neighbor_af: *configure_def1
register: result
- assert: *false
- name: "Remove BGP"
nxos_bgp: *remove
- name: "Setup: Remove BGP config"
nxos_bgp_neighbor_af: &removenaf
asn: 65535
neighbor: '3.3.3.3'
afi: ipv4
safi: unicast
state: absent
provider: "{{ connection }}"
register: result
- assert: *true
- name: "Check Idempotence"
nxos_bgp_neighbor_af: *removenaf
register: result
- assert: *false
- name: "Configure BGP neighbor address-family"
nxos_bgp_neighbor_af: &configure2
asn: 65535
neighbor: '3.3.3.3'
afi: ipv4
safi: unicast
allowas_in_max: '5'
advertise_map_non_exist: ['ansible_rm', 'my_non_exist_map']
default_originate_route_map: 'my_route_map'
max_prefix_limit: 100
max_prefix_interval: 30
max_prefix_threshold: 50
route_map_in: 'rm_in'
route_map_out: 'rm_out'
state: present
provider: "{{ connection }}"
register: result
- assert: *true
- name: "Check Idempotence"
nxos_bgp_neighbor_af: *configure2
register: result
- assert: *false
- name: "Configure BGP neighbor address-family def2"
nxos_bgp_neighbor_af: &configure_def2
asn: 65535
neighbor: '3.3.3.3'
afi: ipv4
safi: unicast
allowas_in_max: default
advertise_map_non_exist: default
default_originate_route_map: default
max_prefix_limit: default
max_prefix_interval: default
max_prefix_threshold: default
route_map_in: default
route_map_out: default
state: present
provider: "{{ connection }}"
register: result
- assert: *true
- name: "Check Idempotence"
nxos_bgp_neighbor_af: *configure_def2
register: result
- assert: *false
- name: "Setup: Remove BGP config"
nxos_bgp_neighbor_af: *removenaf
register: result
- assert: *true
- name: "Check Idempotence"
nxos_bgp_neighbor_af: *removenaf
register: result
- assert: *false
- name: "Configure eBGP"
nxos_bgp_neighbor:
asn: 65535
vrf: 'blue'
neighbor: '3.3.3.3'
remote_as: 2
provider: "{{ connection }}"
- name: "Configure BGP neighbor 3"
nxos_bgp_neighbor_af: &configure3
asn: 65535
vrf: 'blue'
neighbor: '3.3.3.3'
afi: ipv4
safi: unicast
additional_paths_receive: 'disable'
additional_paths_send: 'disable'
as_override: 'true'
send_community: 'standard'
soft_reconfiguration_in: "{{soft_reconfiguration_ina|default(omit)}}"
soo: '3:3'
state: present
provider: "{{ connection }}"
register: result
- assert: *true
- name: "Check Idempotence"
nxos_bgp_neighbor_af: *configure3
register: result
- assert: *false
- name: "Configure BGP neighbor def3"
nxos_bgp_neighbor_af: &configure_def3
asn: 65535
vrf: 'blue'
neighbor: '3.3.3.3'
afi: ipv4
safi: unicast
additional_paths_receive: 'inherit'
additional_paths_send: 'inherit'
as_override: False
send_community: default
soo: default
state: present
provider: "{{ connection }}"
register: result
- assert: *true
- name: "Check Idempotence"
nxos_bgp_neighbor_af: *configure_def3
register: result
- assert: *false
- name: "Setup: Remove BGP config"
nxos_bgp: &remove
asn: 65535
state: absent
provider: "{{ connection }}"
register: result
- assert: *true
@ -164,33 +256,38 @@
remote_as: 65535
provider: "{{ connection }}"
- name: "Configure BGP neighbor af route_reflector_client"
nxos_bgp_neighbor_af: &configure_rr_client
- name: "Configure BGP neighbor 4"
nxos_bgp_neighbor_af: &configure4
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
nxos_bgp_neighbor_af: *configure4
register: result
- assert: *false
- name: "Configure BGP neighbor def4"
nxos_bgp_neighbor_af: &configure_def4
asn: 65535
neighbor: '2.2.2.2'
afi: ipv4
safi: unicast
route_reflector_client: False
provider: "{{ connection }}"
register: result
- assert: *true
- name: "Check Idempotence"
nxos_bgp_neighbor_af: *configure_def4
register: result
- assert: *false