Skip to content

Conversation

@eshulman2
Copy link
Contributor

@eshulman2 eshulman2 commented Jan 11, 2026

Add pool and member support as a sub-resource. Members are
modeled this way because they can only exist as part of a pool
and have no independent existence.

depends on: #638 #639

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
implement listener controller for octavia loadbalancer service. this
contoller is a controller of its own to allow proper importing of
loadbalancers
$ go run ./cmd/scaffold-controller -interactive=false \
      -kind=LBPool \
      -gophercloud-client=NewLoadBalancerV2 \
      -gophercloud-module=github.com/gophercloud/gophercloud/v2/openstack/loadbalancer/v2/pools \
      -gophercloud-type=Pool \
      -openstack-json-object=pool \
      -available-polling-period=15 \
      -deleting-polling-period=15 \
      -optional-create-dependency=LoadBalancer \
      -optional-create-dependency=Listener \
      -optional-create-dependency=Project \
      -import-dependency=LoadBalancer \
      -import-dependency=Listener \
      -import-dependency=Project
Add pool and member support as a sub-resource. Members are
modeled this way because they can only exist as part of a pool
and have no independent existence.
@github-actions github-actions bot added the semver:major Breaking change label Jan 11, 2026
@eshulman2 eshulman2 marked this pull request as draft January 11, 2026 08:41
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.

1 participant