Skip to content

Conversation

@eshulman2
Copy link
Contributor

Add support for OpenStack Octavia Load Balancer resources. This includes:

  • LoadBalancer CRD with support for VIP subnet/network/port references
  • Controller with create, update, delete, and import capabilities
  • Status reporting with provisioning and operating status
  • Dependency resolution for Subnet, Network, Port, and Project references
  • Kuttl tests for create, update, import, and dependency scenarios

Globalize GetDependencyHelper to reduce code duplication

Closes #619

@github-actions github-actions bot added the semver:major Breaking change label Dec 25, 2025
@eshulman2 eshulman2 marked this pull request as draft December 25, 2025 10:48
allow testing octavia by enabling it in the e2e job
$ go run ./cmd/scaffold-controller -interactive=false \
    -kind=LoadBalancer \
    -gophercloud-client=NewLoadBalancerV2 \
    -gophercloud-module=github.com/gophercloud/gophercloud/v2/openstack/loadbalancer/v2/loadbalancers \
    -optional-create-dependency Subnet \
    -optional-create-dependency Network \
    -optional-create-dependency Port \
    -optional-create-dependency Flavor \
    -optional-create-dependency Project
Add support for OpenStack Octavia Load Balancer resources. This includes:

- LoadBalancer CRD with support for VIP subnet/network/port references
- Controller with create, update, delete, and import capabilities
- Status reporting with provisioning and operating status
- Dependency resolution for Subnet, Network, Port, and Project references
- Kuttl tests for create, update, import, and dependency scenarios

Closes k-orc#619
$ go run ./cmd/scaffold-controller -interactive=false       -kind=Listener       -gophercloud-client=NewLoadBalancerV2       -gophercloud-module=github.com/gophercloud/gophercloud/v2/openstack/loadbalancer/v2/listeners       -gophercloud-type=Listener       -openstack-json-object=listener       -available-polling-period=15       -deleting-polling-period=15       -required-create-dependency=LoadBalancer       -optional-create-dependency=Pool       -import-dependency=LoadBalancer
@eshulman2 eshulman2 force-pushed the lbaas branch 5 times, most recently from 318a0d9 to 0d54aad Compare December 28, 2025 12:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

semver:major Breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Load Balancer Controller

1 participant