Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions apis/bases/dataplane.openstack.org_openstackdataplanenodesets.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,23 @@ spec:
cloudUserName:
default: cloud-admin
type: string
ctlplaneBond:
properties:
bondInterfaces:
items:
type: string
minItems: 2
type: array
bondMode:
default: active-backup
type: string
bondOptions:
additionalProperties:
type: string
type: object
required:
- bondInterfaces
type: object
ctlplaneInterface:
type: string
deploymentSSHSecret:
Expand Down
2 changes: 1 addition & 1 deletion apis/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ require (
github.com/openstack-k8s-operators/neutron-operator/api v0.6.1-0.20251103113532-c4a3d7916c65
github.com/openstack-k8s-operators/nova-operator/api v0.6.1-0.20251103074111-0ec969e832ad
github.com/openstack-k8s-operators/octavia-operator/api v0.6.1-0.20251112213455-aa03725e0f2b
github.com/openstack-k8s-operators/openstack-baremetal-operator/api v0.6.1-0.20251112191014-b4c8cca9b6fc
github.com/openstack-k8s-operators/openstack-baremetal-operator/api v0.6.1-0.20251113131806-5029e383a1e5
github.com/openstack-k8s-operators/ovn-operator/api v0.6.1-0.20251111072459-1ceb14e1eab0
github.com/openstack-k8s-operators/placement-operator/api v0.6.1-0.20251112201103-7583889cdb89
github.com/openstack-k8s-operators/swift-operator/api v0.6.1-0.20251112213455-cc9071dc6aa0
Expand Down
4 changes: 2 additions & 2 deletions apis/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -148,8 +148,8 @@ github.com/openstack-k8s-operators/nova-operator/api v0.6.1-0.20251103074111-0ec
github.com/openstack-k8s-operators/nova-operator/api v0.6.1-0.20251103074111-0ec969e832ad/go.mod h1:4Bp2ias9AUXvPBOSOlEkuuegDkAcJEYB9K1UtmX4q8c=
github.com/openstack-k8s-operators/octavia-operator/api v0.6.1-0.20251112213455-aa03725e0f2b h1:j4S0Ir3U5SeBK1m5bdkHa27X8inJkWogDQ20bgOlHiE=
github.com/openstack-k8s-operators/octavia-operator/api v0.6.1-0.20251112213455-aa03725e0f2b/go.mod h1:itmNEGzWRK3aQEIfmGENWEtDRVOporqOqqzX+JOwGJg=
github.com/openstack-k8s-operators/openstack-baremetal-operator/api v0.6.1-0.20251112191014-b4c8cca9b6fc h1:YLyj7+T5JDW9CSxc0GFWGxNHurLkwqLxZoUi/hv9hVg=
github.com/openstack-k8s-operators/openstack-baremetal-operator/api v0.6.1-0.20251112191014-b4c8cca9b6fc/go.mod h1:xCA4HMEiU8jvL+Y2/5V+z7sNpszjnCPNWy+JaCOmsBc=
github.com/openstack-k8s-operators/openstack-baremetal-operator/api v0.6.1-0.20251113131806-5029e383a1e5 h1:1q54oiyxF7z11M9Fsf9JFv3NWbTjWQzuPBYT8Mp5Ry0=
github.com/openstack-k8s-operators/openstack-baremetal-operator/api v0.6.1-0.20251113131806-5029e383a1e5/go.mod h1:xCA4HMEiU8jvL+Y2/5V+z7sNpszjnCPNWy+JaCOmsBc=
github.com/openstack-k8s-operators/ovn-operator/api v0.6.1-0.20251111072459-1ceb14e1eab0 h1:r+s+puu/50Ca0Hw7BFQE25GNu/pI/bDClX8vZx0SVTQ=
github.com/openstack-k8s-operators/ovn-operator/api v0.6.1-0.20251111072459-1ceb14e1eab0/go.mod h1:7QF+qByM+6rC2iy7VfeaZmLPCau1jKPcXQAEahMoz1Y=
github.com/openstack-k8s-operators/placement-operator/api v0.6.1-0.20251112201103-7583889cdb89 h1:5Rzc3Y3oizFVY6p+cRBZ/dPiKQ/y5xkwIaCX/s5tsP0=
Expand Down
22 changes: 22 additions & 0 deletions bindata/crds/baremetal.openstack.org_openstackbaremetalsets.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,28 @@ spec:
default: cloud-admin
description: CloudUser to be configured for remote access
type: string
ctlplaneBond:
description: CtlplaneBond - Bonding configuration for ctlplane network
properties:
bondInterfaces:
description: BondInterfaces - List of physical interfaces to bond
items:
type: string
minItems: 2
type: array
bondMode:
default: active-backup
description: BondMode - Bonding mode (e.g., active-backup, 802.3ad)
type: string
bondOptions:
additionalProperties:
type: string
description: BondOptions - Additional bonding options as key-value
pairs
type: object
required:
- bondInterfaces
type: object
ctlplaneGateway:
description: 'CtlplaneGateway - IP of gateway for ctrlplane network
(TODO: acquire this is another manner?)'
Expand Down
17 changes: 17 additions & 0 deletions bindata/crds/crds.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16619,6 +16619,23 @@ spec:
cloudUserName:
default: cloud-admin
type: string
ctlplaneBond:
properties:
bondInterfaces:
items:
type: string
minItems: 2
type: array
bondMode:
default: active-backup
type: string
bondOptions:
additionalProperties:
type: string
type: object
required:
- bondInterfaces
type: object
ctlplaneInterface:
type: string
deploymentSSHSecret:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,23 @@ spec:
cloudUserName:
default: cloud-admin
type: string
ctlplaneBond:
properties:
bondInterfaces:
items:
type: string
minItems: 2
type: array
bondMode:
default: active-backup
type: string
bondOptions:
additionalProperties:
type: string
type: object
required:
- bondInterfaces
type: object
ctlplaneInterface:
type: string
deploymentSSHSecret:
Expand Down
2 changes: 1 addition & 1 deletion config/operator/manager_operator_images.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ spec:
- name: RELATED_IMAGE_OCTAVIA_OPERATOR_MANAGER_IMAGE_URL
value: quay.io/openstack-k8s-operators/octavia-operator@sha256:442c269d79163f8da75505019c02e9f0815837aaadcaddacb8e6c12df297ca13
- name: RELATED_IMAGE_OPENSTACK_BAREMETAL_OPERATOR_MANAGER_IMAGE_URL
value: quay.io/openstack-k8s-operators/openstack-baremetal-operator@sha256:3f3e58058021dc15b28688a7744273d3b6467d29b085aad52895817f4721b24e
value: quay.io/openstack-k8s-operators/openstack-baremetal-operator@sha256:78852f8ba332a5756c1551c126157f735279101a0fc3277ba4aa4db3478789dd
- name: RELATED_IMAGE_OVN_OPERATOR_MANAGER_IMAGE_URL
value: quay.io/openstack-k8s-operators/ovn-operator@sha256:5d49d4594c66eda7b151746cc6e1d3c67c0129b4503eeb043a64ae8ec2da6a1b
- name: RELATED_IMAGE_PLACEMENT_OPERATOR_MANAGER_IMAGE_URL
Expand Down
49 changes: 49 additions & 0 deletions docs/assemblies/con_provisioning-bare-metal-data-plane-nodes.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,55 @@ select BMHs for the node.
bmhLabelSelector:
nodeName: edpm-compute-01

== Configuring Network Interface Bonding for Control Plane

Network interface bonding (also known as NIC teaming) can be configured for the control plane
network to provide redundancy and increased throughput. The bonding configuration is specified
in the `baremetalSetTemplate` section using the `ctlplaneBond` field.

The bonding configuration includes:

* `bondInterfaces` - List of physical interfaces to bond (minimum 2 interfaces required)
* `bondMode` - Bonding mode to use (default: "active-backup")
* `bondOptions` - Additional bonding options as key-value pairs

Supported bonding modes include:

* `active-backup` - Only one interface is active at a time for fault tolerance
* `802.3ad` - IEEE 802.3ad Dynamic link aggregation (LACP)
* `balance-rr` - Round-robin policy for load balancing
* `balance-xor` - XOR policy for load balancing
* Other modes supported by cloud-init

Example configuration with bonding:

apiVersion: dataplane.openstack.org/v1beta1
kind: OpenStackDataPlaneNodeSet
metadata:
name: openstack-edpm
spec:
baremetalSetTemplate:
bmhLabelSelector:
app: openstack
workload: compute
ctlplaneInterface: bond0
ctlplaneBond:
bondInterfaces:
- eno1
- eno2
bondMode: "802.3ad"
bondOptions:
bond-miimon: "100"
bond-xmit-hash-policy: "layer3+4"
cloudUserName: cloud-admin
nodes:
edpm-compute-0:
hostName: edpm-compute-0

When bonding is configured, the `ctlplaneInterface` should be set to the bond interface name
(e.g., `bond0`), and the physical interfaces specified in `bondInterfaces` will be configured
as members of the bond during node provisioning.

=== Relevant Status Condition

`NodeSetBaremetalProvisionReady` condition in status condtions reflects the status of
Expand Down
Loading