Skip to content

Commit 06f8586

Browse files
committed
[multiple] Add BGP L3 XL adoption scenario and supporting infrastructure
This commit adds the BGP L3 XL adoption scenario configuration, including reproducer scenarios, networking definitions, BGP spines/leaves playbook updates, and adoption-specific scenario files. Signed-off-by: Eduardo Olivares <eolivare@redhat.com>
1 parent c06bd89 commit 06f8586

File tree

5 files changed

+960
-310
lines changed

5 files changed

+960
-310
lines changed

docs/dictionary/en-custom.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ baseimg
4242
baseurl
4343
bashrc
4444
bd
45+
bgp
4546
blockquote
4647
bmaas
4748
bmc

playbooks/bgp/prepare-bgp-spines-leaves.yaml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,60 @@
11
---
2+
- name: Start spines and leafs and add them to inventory
3+
hosts: localhost
4+
vars:
5+
leafs_list:
6+
- leaf-0
7+
- leaf-1
8+
- leaf-2
9+
- leaf-3
10+
- leaf-4
11+
- leaf-5
12+
spines_list:
13+
- spine-0
14+
- spine-1
15+
routers_list:
16+
- router-0
17+
fabric_list: "{{ leafs_list + spines_list + routers_list }}"
18+
tasks:
19+
- name: Start spine and leaf VMs
20+
delegate_to: hypervisor
21+
become: true
22+
community.libvirt.virt:
23+
name: "cifmw-{{ item }}"
24+
state: running
25+
loop: "{{ fabric_list }}"
26+
27+
- name: Add leafs group to inventory
28+
when: '"leafs" not in groups'
29+
ansible.builtin.add_host:
30+
name: "{{ item }}.utility"
31+
group: leafs
32+
loop: "{{ leafs_list }}"
33+
34+
- name: Add spines group to inventory
35+
when: '"spines" not in groups'
36+
ansible.builtin.add_host:
37+
name: "{{ item }}.utility"
38+
group: spines
39+
loop: "{{ spines_list }}"
40+
41+
- name: Add routers group to inventory
42+
when: '"routers" not in groups'
43+
ansible.builtin.add_host:
44+
name: "{{ item }}.utility"
45+
group: routers
46+
loop: "{{ routers_list }}"
47+
48+
- name: Check SSH connectivity
49+
delegate_to: hypervisor
50+
ansible.builtin.wait_for:
51+
port: 22
52+
host: "{{ item }}.utility"
53+
search_regex: OpenSSH
54+
delay: 10
55+
timeout: 120
56+
loop: "{{ fabric_list }}"
57+
258
- name: Common spines and leaves configuration
359
hosts: "spines,leafs{{ router_bool | default(false) | ternary(',routers', '') }}"
460
tasks:
@@ -183,10 +239,13 @@
183239
autoconnect: true
184240
conn_name: "{{ item }}"
185241
type: ethernet
242+
ifname: "{{ router_downlink_ifs[loop_index | int] }}"
186243
method4: disabled
187244
method6: link-local
188245
state: present
189246
loop: "{{ router_downlink_conns }}"
247+
loop_control:
248+
index_var: loop_index
190249

191250
# uplink router IPv4 is configured for both IPv4 and IPv6 jobs
192251
- name: Configure uplink router connections with nmcli when IPv4
@@ -453,6 +512,8 @@
453512
autoconnect: true
454513
conn_name: "{{ item }}"
455514
ip4: "{{ leaf_ds_ip4 }}/30"
515+
type: ethernet
516+
ifname: "{{ downlink_ifs_rack3[loop_index | int] }}"
456517
method4: manual
457518
method6: link-local
458519
state: present
@@ -470,6 +531,8 @@
470531
autoconnect: true
471532
conn_name: "{{ item }}"
472533
ip4: "{{ leaf_ds_ip4 }}/30"
534+
type: ethernet
535+
ifname: "{{ leaf_downlink_ifs[loop_index | int] }}"
473536
method4: manual
474537
method6: link-local
475538
state: present
@@ -513,6 +576,8 @@
513576
conn_name: "{{ item }}"
514577
ip4: "{{ _leaf_ds_ip4 }}/30"
515578
ip6: "{{ _leaf_ds_ip6 }}/126"
579+
type: ethernet
580+
ifname: "{{ leaf_downlink_ifs[loop_index | int] }}"
516581
method4: manual
517582
method6: manual
518583
state: present
@@ -549,8 +614,12 @@
549614
conn_name: "{{ item }}"
550615
method4: disabled
551616
method6: link-local
617+
type: ethernet
618+
ifname: "{{ uplink_ifs[loop_index | int] }}"
552619
state: present
553620
loop: "{{ uplink_conns }}"
621+
loop_control:
622+
index_var: loop_index
554623

555624
- name: Enable FRR Zebra daemon
556625
become: true

0 commit comments

Comments
 (0)