Damien
241655e348
fix(schema,objects): use device name instead of router_id in BGP HFIDs — refs #52
...
The SDK cannot resolve deep relation traversals like
bgp_config__router_id__value when loading object files.
Schema changes in bgp.yml:
- InfraBGPPeerGroup HFID: bgp_config__router_id__value → bgp_config__device__name__value
- InfraBGPSession HFID: bgp_config__router_id__value → bgp_config__device__name__value
Object file changes in 10-bgp-sessions.yml:
- peer_group refs: router_id → device_name (e.g. ["10.0.250.1", "evpn"] → ["spine1", "evpn"])
- active_peer_groups refs: same mapping (82 replacements total)
2026-02-15 20:44:39 +01:00
Damien
2a2e0dfe73
fix(objects): split BGP sessions from peer groups for load ordering — refs #52
...
InfraBGPSession references InfraBGPPeerGroup via peer_group HFID,
so peer groups must be committed before sessions are created.
Split 09-bgp.yml into:
- 09-bgp.yml: InfraBGPRouterConfig + InfraBGPPeerGroup
- 10-bgp-sessions.yml: InfraBGPSession + InfraBGPAddressFamily
Renamed: 10-vrfs→11, 11-mlag→12. Now 12 object files total.
2026-02-15 20:25:36 +01:00
Damien
4409dc5e8d
fix(objects): remove interface refs from IPs — InfraInterface has no HFID — refs #52
...
InfraIPAddress.interface peers with the generic InfraInterface which
has no human_friendly_id defined, so infrahubctl cannot resolve the
HFID lookup. Remove interface references from all IP address objects.
IP-to-interface associations can be established later via the reverse
relationship (ip_addresses on interface objects) or by adding an HFID
to the InfraInterface generic in a future schema update.
2026-02-15 20:22:01 +01:00
Damien
97720d3d6d
fix(objects): split Vlan SVIs and IPs for load ordering — refs #52
...
InfraInterfaceVlan references InfraVLAN objects (06-vlans-vxlan.yml),
so Vlan SVIs must load after VLANs. Similarly, Vlan IP addresses
reference Vlan SVIs.
Changes:
- Extract InfraInterfaceVlan from 04 into 07-interface-vlans.yml
- Extract Vlan SVI IPs from 05 into 08-ipam-vlans.yml
- Rename 07-bgp→09, 08-vrfs→10, 09-mlag→11
- Update .infrahub.yml with new 11-file load order
Load order: foundation → fabric → devices → interfaces (Lo/Lag/Eth)
→ ipam (Lo/Eth) → vlans-vxlan → interface-vlans → ipam-vlans
→ bgp → vrfs → mlag
2026-02-15 16:04:42 +01:00
Damien
50cdb911a4
fix(objects): reorder interfaces — LAG before Ethernet — refs #52
...
InfraInterfaceEthernet references InfraInterfaceLag (lag field),
so LAG interfaces must be created first within the same file.
New order: Loopback → Lag → Ethernet → Vlan SVI
2026-02-15 16:01:45 +01:00
Damien
30885b5a19
fix(objects): wrap all relation references as HFID lists — refs #52
...
All relation values now use the HFID list-of-strings format required
by infrahubctl:
- Cardinality one: device: ["spine1"], platform: ["arista_eos"]
- Cardinality many: devices: - ["leaf1"], networks: - ["10.0.250.1/32"]
- Composite HFIDs unchanged: peer_group: ["10.0.250.1", "evpn"]
Files modified: 02-fabric, 03-devices, 04-interfaces, 06-vlans-vxlan,
07-bgp, 08-vrfs, 09-mlag (05-ipam already correct).
2026-02-15 15:37:20 +01:00
Damien
5f071e5716
fix(objects): split foundation/fabric and renumber files for load order — refs #52
2026-02-15 15:18:40 +01:00
Damien
3838169ff7
fix(objects): remove AS 64999, rename fabric to evpn-lab, simplify .infrahub.yml — refs #52
2026-02-15 15:03:47 +01:00
Damien
825c5e4451
feat(objects): add 4 MLAG domains, 8 peer configs — refs #52
2026-02-15 12:03:07 +01:00
Damien
4a13a6a33d
feat(objects): add VRF gold, route targets, device assignments — refs #52
2026-02-15 12:03:04 +01:00
Damien
17ff22f497
feat(objects): add BGP config, peer groups, 74 sessions, address families — refs #52
2026-02-15 12:03:00 +01:00
Damien
89f77b764e
feat(objects): add VLANs, VNIs, VTEPs, mappings, EVPN instances — refs #52
2026-02-15 12:02:57 +01:00
Damien
537df72f85
feat(objects): add IP addresses (72 assignments: loopbacks, P2P, MLAG, VRF) — refs #52
2026-02-15 12:02:53 +01:00
Damien
dc382bf6de
feat(objects): add interfaces (loopback, ethernet, LAG, VLAN SVIs) — refs #52
2026-02-15 12:02:50 +01:00
Damien
d3275d1ecc
feat(objects): add 10 devices (2 spines, 8 leafs) — refs #52
2026-02-15 12:02:46 +01:00
Damien
009b6ebc75
feat(objects): add foundation objects (fabric, platform, site, ASNs) — refs #52
2026-02-15 12:02:40 +01:00