[Schema] Fix non-unique human_friendly_id on BGPPeerGroup and BGPSession #43
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
🔴 Critique — Bloque le chargement de données
Problème
BGPPeerGroup.human_friendly_idutilisename__valuemais le même nom "underlay" existe sur les 8 leafs.BGPSession.human_friendly_idutilisepeer_address__valuemais10.0.250.1(spine1) apparaît comme neighbor sur chaque leaf. Infrahub exige que lehuman_friendly_idsoit unique globalement.Correction
Préfixer avec le device parent via la relation
bgp_config:Fichier
schemas/bgp.ymlValidation
infrahubctl schema check schemas/Référence topologie
Chaque leaf a 3 peer groups (underlay, underlay_ibgp, evpn) avec des sessions vers les mêmes spines.
Related
Implémenté ✅
Commit:
3654c2dChangements dans
schemas/bgp.ymlBGPPeerGroup:
human_friendly_id→[bgp_config__router_id__value, name__value]uniqueness_constraints: [["bgp_config", "name__value"]]BGPSession:
human_friendly_id→[bgp_config__router_id__value, peer_address__value]uniqueness_constraints: [["bgp_config", "peer_address__value"]]Note
L'implémentation utilise
bgp_config__router_id__valueau lieu debgp_config__device__name__valuecomme proposé dans l'issue. Les deux approches assurent l'unicité globale (le router_id est unique par device). La traversée viarouter_idest plus courte (1 niveau de relation au lieu de 2).Validation
Schema check passé. Les peer groups identiques ("underlay", "evpn") sur différents devices sont maintenant distingués.