feat(host_network): configure bonds and port channels #169

Merged
letian merged 2 commits from config-host-network into master 2025-10-16 18:24:59 +00:00
Owner

Description

  • Add a HostNetworkConfigurationScore responsible to configure bonds and port-channels for each host provided
  • Install the NMState Operator to configure bonds on the host
  • Use our Brocade switch client to setup the switch stack and configure the port channels on the switch

The overall algorithm of the HostNetworkConfigurationScore is the following:

  1. Run the initial setup to configure the Switch stack. This call should be idempotent so that it only configures what's needed, without breaking existing configurations
  2. For each host
    2.1. Find all the ports on the switch for each interfaces (by their MAC Address)
    2.2. Configure the bond on the host (using the NMState operator)
    2.3. Configure the port-channel on the switch (using our Brocade Switch Client)

Architecture decisions

  • The NMState Operator was the easiest and recommended way to configure the network on a cluster K8s About NMState Operator
  • Running the HostNetworkConfigurationScore on the same host should always produce the same result and preserve as much as possible existing configurations (so it doesn't break anything)
## Description * Add a `HostNetworkConfigurationScore` responsible to configure bonds and port-channels for each host provided * Install the `NMState Operator` to configure bonds on the host * Use our Brocade switch client to setup the switch stack and configure the port channels on the switch The overall algorithm of the `HostNetworkConfigurationScore` is the following: 1. Run the initial setup to configure the Switch stack. This call should be idempotent so that it only configures what's needed, without breaking existing configurations 2. For each host 2.1. Find all the ports on the switch for each interfaces (by their MAC Address) 2.2. Configure the bond on the host (using the NMState operator) 2.3. Configure the port-channel on the switch (using our Brocade Switch Client) ## Architecture decisions * The `NMState Operator` was the easiest and recommended way to configure the network on a cluster [K8s About NMState Operator](https://docs.okd.io/latest/networking/networking_operators/k8s-nmstate-about-the-k8s-nmstate-operator.html) * Running the `HostNetworkConfigurationScore` on the same host should always produce the same result and preserve as much as possible existing configurations (so it doesn't break anything)
letian added 1 commit 2025-10-15 19:54:45 +00:00
feat(host_network): configure bonds on the host and switch port channels
All checks were successful
Run Check Script / check (pull_request) Successful in 1m8s
f99102492f
letian force-pushed config-host-network from f99102492f to 0e29e9e32d 2025-10-15 19:56:06 +00:00 Compare
letian changed target branch from brocade-switch-client to master 2025-10-16 18:23:05 +00:00
letian force-pushed config-host-network from 0e29e9e32d to ea39d93aa7 2025-10-16 18:24:16 +00:00 Compare
letian added 1 commit 2025-10-16 18:24:39 +00:00
Merge branch 'master' into config-host-network
Some checks failed
Run Check Script / check (pull_request) Has been cancelled
f66e58b9ca
letian merged commit 2d891e4463 into master 2025-10-16 18:24:59 +00:00
letian deleted branch config-host-network 2025-10-16 18:25:00 +00:00
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: NationTech/harmony#169
No description provided.