Files
poc-frr-anycast/ansible/site-cloud.env
T
ayurishchevandClaude Sonnet 5 b2b7306a3c Generalize frr_anycast role, add site-cloud environment (4 nodes, prepend, sNAT)
По updated_dia.png: новое окружение "Облачная площадка" (vr01-vr04, AS 65200,
anycast 172.31.255.10/32) с двумя внешними BGP-каналами — основным (ASN 65104,
без as-path prepend) и резервным (ASN 65103, с prepend на всех узлах) — плюс
sNAT (nftables masquerade) на внешнем интерфейсе.

Роль frr_anycast обобщена под это: вместо двух жёстко именованных соседей —
список bgp_neighbors произвольной длины с флагом prepend; sNAT/ip_forward —
опциональный блок (enable_snat). Площадка A мигрирована на новый формат
host_vars/group_vars без изменения site-a.env и без изменения рендера —
render-check.sh (golden-diff) по-прежнему проходит 6/6.

Для site-cloud (окружение новое, ВМ не подняты) добавлен render-check-cloud.sh
с grep-инвариантами: 4 соседа на узел, prepend только на резервном канале,
nftables masquerade на внешнем интерфейсе — 56/56 проверок пройдено.

run.sh обобщён на несколько окружений: инвентарь по имени playbook'а,
env-файл через SITE_ENV_FILE (алиас SITE_A_ENV_FILE сохранён).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bc3HkMiDwooSyLBLoMKNyF
2026-09-09 20:59:40 +03:00

57 lines
3.0 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Все специфичные для окружения "Облачная площадка" параметры разворачивания
# (updated_dia.png). Источник истины: значения из этого файла и только из
# него подставляются в шаблоны роли frr_anycast — сама роль site-специфичных
# значений не содержит.
#
# Топология: 4 узла (vR01..vR04), один AS 65200, общий anycast-адрес на всех.
# У каждого узла 2 приватных интерфейса-сегмента:
# - "основной канал" (синий) — общий L2-сегмент с Client Edge Router-M1/M2
# (площадка "Основная", ASN 65104) — анонсы БЕЗ as-path prepend;
# - "резервный канал" (розовый) — общий L2-сегмент с Client Edge Router-B1/B2
# (площадка "Резервная", ASN 65103) — анонсы С as-path prepend.
# Т.к. M1/M2/B1/B2 сидят на общих для всех vR сегментах, bgp_neighbors —
# ОДИН список на всё окружение (см. group_vars/site_cloud.yml), а не per-node.
#
# Использование: SITE_ENV_FILE=site-cloud.env ./run.sh site-cloud.yml [...]
# --- site-wide ---
LOCAL_ASN=65200
ANYCAST_PREFIX=172.31.255.10/32
DUMMY_IFACE=dummy0
PRIV_MAIN_IFACE=ens7 # сегмент к "Основная площадка" (M1/M2), синий/основной канал
PRIV_BACKUP_IFACE=ens8 # сегмент к "Резервная площадка" (B1/B2), розовый/резервный канал
EXT_IFACE=ens9 # внешний интерфейс — интернет-egress для sNAT
FRR_APT_SERIES=frr-8 # ветка репозитория deb.frrouting.org
# SSH/подключение (пользователь и ключ, которые Terraform выдал ВМ при создании)
SSH_USER=ansible
SSH_PRIVATE_KEY_FILE=~/.ssh/site-cloud-deploy
# --- Основная площадка (синий/основной канал, БЕЗ as-path prepend) ---
MAIN_ASN=65104
MAIN1_NEIGHBOR_IP=192.168.200.10 # Client Edge Router-M1 (main)
MAIN2_NEIGHBOR_IP=192.168.200.11 # Client Edge Router-M2 (main)
# --- Резервная площадка (розовый/резервный канал, С as-path prepend) ---
BACKUP_ASN=65103
BACKUP1_NEIGHBOR_IP=192.168.201.10 # Client Edge Router-B1 (backup)
BACKUP2_NEIGHBOR_IP=192.168.201.11 # Client Edge Router-B2 (backup)
AS_PATH_PREPEND_COUNT=3
# --- per-node (только то, что реально уникально на узел) ---
VR01_MGMT_IP=192.168.100.21
VR01_ROUTER_ID=172.31.0.1
VR01_PLATFORM=PA2 # информационно, роль это значение не использует
VR02_MGMT_IP=192.168.100.22
VR02_ROUTER_ID=172.31.0.2
VR02_PLATFORM=ME1
VR03_MGMT_IP=192.168.100.23
VR03_ROUTER_ID=172.31.0.3
VR03_PLATFORM=PA2
VR04_MGMT_IP=192.168.100.24
VR04_ROUTER_ID=172.31.0.4
VR04_PLATFORM=ME1