|
|
|
---
|
|
|
|
- debug: msg="START connection={{ ansible_connection }} nxos_bgp sanity test"
|
|
|
|
|
|
|
|
- set_fact: neighbor_down_fib_accelerate="true"
|
|
|
|
when: (not titanium) and ((imagetag != 'N1') and (imagetag != 'D1'))
|
|
|
|
|
|
|
|
- set_fact: reconnect_interval="55"
|
|
|
|
when: (not titanium) and ((imagetag != 'N1') and (imagetag != 'D1'))
|
|
|
|
|
|
|
|
- set_fact: isolate="false"
|
|
|
|
when: platform is not match("N35")
|
|
|
|
|
|
|
|
- name: "Enable feature BGP"
|
|
|
|
nxos_feature:
|
|
|
|
feature: bgp
|
|
|
|
state: enabled
|
|
|
|
ignore_errors: yes
|
|
|
|
|
|
|
|
- name: "Setup"
|
|
|
|
nxos_bgp: &remove
|
|
|
|
asn: 65535
|
|
|
|
state: absent
|
|
|
|
ignore_errors: yes
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- block:
|
|
|
|
- name: "Configure BGP defaults"
|
|
|
|
nxos_bgp: &configure_default
|
|
|
|
asn: 65535
|
|
|
|
router_id: 192.0.2.1
|
|
|
|
state: present
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: &true
|
|
|
|
that:
|
|
|
|
- "result.changed == true"
|
|
|
|
|
|
|
|
- name: "Check Idempotence"
|
|
|
|
nxos_bgp: *configure_default
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: &false
|
|
|
|
that:
|
|
|
|
- "result.changed == false"
|
|
|
|
|
|
|
|
- name: "Remove BGP"
|
|
|
|
nxos_bgp: *remove
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *true
|
|
|
|
|
|
|
|
- name: "Check Idempotence"
|
|
|
|
nxos_bgp: *remove
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *false
|
|
|
|
|
|
|
|
- name: "Configure BGP non defaults"
|
|
|
|
nxos_bgp: &configure_non_default
|
|
|
|
asn: 65535
|
|
|
|
router_id: 192.0.2.1
|
|
|
|
bestpath_always_compare_med: true
|
|
|
|
bestpath_aspath_multipath_relax: true
|
|
|
|
bestpath_compare_routerid: true
|
|
|
|
bestpath_cost_community_ignore: true
|
|
|
|
bestpath_med_confed: true
|
|
|
|
bestpath_med_missing_as_worst: true
|
|
|
|
bestpath_med_non_deterministic: true
|
|
|
|
cluster_id: 10.0.0.1
|
|
|
|
confederation_id: 99
|
|
|
|
disable_policy_batching: true
|
|
|
|
enforce_first_as: false
|
|
|
|
fast_external_fallover: false
|
|
|
|
flush_routes: true
|
|
|
|
graceful_restart_helper: true
|
|
|
|
graceful_restart_timers_restart: 130
|
|
|
|
graceful_restart_timers_stalepath_time: 310
|
|
|
|
isolate: "{{isolate|default(omit)}}"
|
|
|
|
log_neighbor_changes: true
|
|
|
|
maxas_limit: 50
|
|
|
|
neighbor_down_fib_accelerate: "{{neighbor_down_fib_accelerate|default(omit)}}"
|
|
|
|
reconnect_interval: "{{reconnect_interval|default(omit)}}"
|
|
|
|
shutdown: true
|
|
|
|
timer_bestpath_limit: 255
|
|
|
|
timer_bgp_hold: 110
|
|
|
|
timer_bgp_keepalive: 45
|
|
|
|
event_history_cli: size_medium
|
|
|
|
event_history_detail: size_large
|
|
|
|
event_history_events: size_medium
|
|
|
|
event_history_periodic: size_small
|
|
|
|
suppress_fib_pending: true
|
|
|
|
state: present
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *true
|
|
|
|
|
|
|
|
- name: "Check Idempotence"
|
|
|
|
nxos_bgp: *configure_non_default
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *false
|
|
|
|
|
|
|
|
- name: "Remove BGP"
|
|
|
|
nxos_bgp: *remove
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *true
|
|
|
|
|
|
|
|
- name: "Check Idempotence"
|
|
|
|
nxos_bgp: *remove
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert: *false
|
|
|
|
|
|
|
|
- name: "Disable feature bgp"
|
|
|
|
nxos_feature:
|
|
|
|
feature: bgp
|
|
|
|
state: disabled
|
|
|
|
|
|
|
|
rescue:
|
|
|
|
- name: "Cleanup BGP"
|
|
|
|
nxos_bgp: *remove
|
|
|
|
ignore_errors: yes
|
|
|
|
|
|
|
|
- name: "Disable feature bgp"
|
|
|
|
nxos_feature:
|
|
|
|
feature: bgp
|
|
|
|
state: disabled
|
|
|
|
ignore_errors: yes
|
|
|
|
|
|
|
|
always:
|
|
|
|
- debug: msg="END connection={{ ansible_connection }} nxos_bgp sanity test"
|