[Schema] Refactor UnderlayLink to avoid IP address duplication #47
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?
🟠 Lacune fonctionnelle — Double source de vérité
Problème
UnderlayLink(extensions.yml) stockelocal_ipetremote_ipcomme attributsIPNetwork, alors que ces mêmes IPs devraient exister commeInfraIPAddressassignées aux interfaces Ethernet. Cela crée une duplication de données qui mènera à des incohérences.Options de correction
Option A (recommandée) : Remplacer les attributs par des relations
Option B : Supprimer UnderlayLink
Les connexions point-à-point sont déjà modélisables via
InterfaceEthernet.connected_interface. SupprimerUnderlayLinket s'appuyer sur les relations existantes + lesInfraIPAddressassignées aux interfaces.Fichier
schemas/extensions.ymlValidation
infrahubctl schema check schemas/Related
Implémenté ✅
Commit:
e527534Changements dans
schemas/extensions.yml— UnderlayLinklocal_ip/remote_ip(IPNetwork) par des relations versInfraIPAddresslocal_ip→ relationpeer: InfraIPAddress, cardinality: one, identifier:underlay_link_local_ipremote_ip→ relationpeer: InfraIPAddress, cardinality: one, identifier:underlay_link_remote_ipLes IPs sont maintenant des objets
InfraIPAddresspartagés, éliminant la double source de vérité avec les IPs assignées aux interfaces.Validation
Schema check passé.