Разворачивает FRR на a1/a2/a3 (площадка A) через Ansible вместо
Docker-лабы, для реальных ВМ. Provisioning ВМ (3 NIC: внешний +
2 приватных) — Terraform, вне рамок этой задачи; playbook создаёт
только dummy0 (netplan) и конфигурирует FRR.
- ansible/site-a.env — единственный источник site-A-специфичных
значений (ASN, anycast-префикс, router-id/BGP-соседи по узлам,
имена интерфейсов); роль frr_anycast полностью параметризована
- ansible/roles/frr_anycast — задачи, handlers (netplan apply перед
restart frr), шаблоны frr.conf.j2/daemons.j2/dummy0.netplan.yml.j2
- ansible/tests/render-check.sh — офлайн golden-diff проверка
рендера конфигов против уже провалидированных в Docker-лабе
frr/a{1,2,3}/ (ВМ ещё не подняты, функциональный тест недоступен)
- README.md — раздел «Развёртывание площадки A на ВМ (Ansible)»
- docs/ — план и summary изменения
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bc3HkMiDwooSyLBLoMKNyF
43 lines
1.7 KiB
Bash
43 lines
1.7 KiB
Bash
# Все специфичные для площадки A параметры разворачивания (hld.md).
|
|
# Источник истины: значения из этого файла и только из него подставляются
|
|
# в шаблоны роли frr_anycast — сама роль site-специфичных значений не содержит.
|
|
#
|
|
# Использование: ./run.sh site-a.yml [доп. аргументы ansible-playbook]
|
|
# (run.sh делает `set -a; source site-a.env; set +a` перед вызовом ansible-playbook)
|
|
|
|
# --- site-wide ---
|
|
SITE_A_ASN=65001
|
|
ANYCAST_PREFIX=10.200.200.1/32
|
|
DUMMY_IFACE=dummy0
|
|
PRIV1_IFACE=ens7 # интерфейс к B1 на всех A-нодах (имя задаёт Terraform-провижининг)
|
|
PRIV2_IFACE=ens8 # интерфейс к B2
|
|
FRR_APT_SERIES=frr-8 # ветка репозитория deb.frrouting.org
|
|
|
|
# SSH/подключение (пользователь и ключ, которые Terraform выдал ВМ при создании)
|
|
SSH_USER=ansible
|
|
SSH_PRIVATE_KEY_FILE=~/.ssh/site-a-deploy
|
|
|
|
# --- per-node: A1 (bgp router-id 10.0.0.1) ---
|
|
A1_MGMT_IP=192.168.100.11
|
|
A1_ROUTER_ID=10.0.0.1
|
|
A1_NEIGHBOR_B1_IP=10.0.1.2
|
|
A1_NEIGHBOR_B1_ASN=65002
|
|
A1_NEIGHBOR_B2_IP=10.0.2.2
|
|
A1_NEIGHBOR_B2_ASN=65003
|
|
|
|
# --- per-node: A2 (bgp router-id 10.0.0.2) ---
|
|
A2_MGMT_IP=192.168.100.12
|
|
A2_ROUTER_ID=10.0.0.2
|
|
A2_NEIGHBOR_B1_IP=10.0.3.2
|
|
A2_NEIGHBOR_B1_ASN=65002
|
|
A2_NEIGHBOR_B2_IP=10.0.4.2
|
|
A2_NEIGHBOR_B2_ASN=65003
|
|
|
|
# --- per-node: A3 (bgp router-id 10.0.0.3) ---
|
|
A3_MGMT_IP=192.168.100.13
|
|
A3_ROUTER_ID=10.0.0.3
|
|
A3_NEIGHBOR_B1_IP=10.0.5.2
|
|
A3_NEIGHBOR_B1_ASN=65002
|
|
A3_NEIGHBOR_B2_IP=10.0.6.2
|
|
A3_NEIGHBOR_B2_ASN=65003
|