oxidecomputer / oxidecomputer/oxide-cloud-controller-manager

Handle spec.loadBalancerIP

Open
#268 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Bug Kubernetes Cloud Controller Manager (CCM)
Dominant language
Go
Stars
6
Forks
2
Avg merge
2h 5m
Merged PRs (30d)
14

Description

Context

spec.loadBalancerIP is deprecated upstream but still widely used and widely expected to work. Today only the oxide.computer/floating-ip annotation selects an explicit IP; the field is silently ignored.

Scope

Either:

  • Treat the field as equivalent to the oxide.computer/floating-ip annotation (erroring if both are set and disagree), or
  • Reject services that set it, with a clear error pointing at the annotation.

Decision goes in addressAllocatorFromAnnotations / EnsureLoadBalancer (internal/provider/load_balancer.go).

Done when

Setting spec.loadBalancerIP either works or fails loudly — never silently does nothing.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read internal/provider/load_balancer.go, focusing on addressAllocatorFromAnnotations and EnsureLoadBalancer. Trace how the annotation currently selects an explicit IP, then determine whether spec.loadBalancerIP should be supported or rejected, including disagreement handling. Done when setting the field no longer silently does nothing and the chosen behavior is clear.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cloud, infrastructure
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.