The network configuration for bare-metal nodes needs to be different from node to node. The way the network bonds are configured must reflect the actual cabling setup. For identification purposes MAC addresses are pulled from a central "repository".
Additionally, the different node types have different network setup.
Current implementation uses a CRD ExternalNode to allow for network configuration synonymously to the Bootcfg Ignition Template. Looks like this:
In order to retire the whole region.yaml config, I would imagine that we create a NetboxExternalNodeOperator that fishes in Netbox for the MAC addresses and types of the nodes. It also holds the logic to distinguish the different types of nodes that require slightly different configuration. The Ignition template in Kubernikus can be generic, while the CCloud specifics are outsourced to the NetboxExternalNodeOperator.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
The network configuration for bare-metal nodes needs to be different from node to node. The way the network bonds are configured must reflect the actual cabling setup. For identification purposes MAC addresses are pulled from a central "repository".
Additionally, the different node types have different network setup.
Current implementation uses a CRD
ExternalNode
to allow for network configuration synonymously to the Bootcfg Ignition Template. Looks like this:https://github.com/sapcc/kubernikus/blob/73317a6d301a2fec889d295259b76048a5b4d1b5/pkg/templates/baremetal_node_1.10.go#L144-L212
It generates equivalent Ignition. Here the relevant network config:
In order to retire the whole
region.yaml
config, I would imagine that we create aNetboxExternalNodeOperator
that fishes in Netbox for the MAC addresses and types of the nodes. It also holds the logic to distinguish the different types of nodes that require slightly different configuration. The Ignition template in Kubernikus can be generic, while the CCloud specifics are outsourced to theNetboxExternalNodeOperator
.