oxidecomputer / oxidecomputer/oxide-cloud-controller-manager

Emit an event when floating IP recreate fails midway

Open
#270 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Context

The recreate path in ensureLoadBalancer (internal/provider/load_balancer.go) runs detach → delete → create when the allocator config changes. If create fails after delete succeeds, the service is left with no floating IP until the next reconcile — and nothing tells the operator what happened or why.

Scope

Emit a warning event (and structured log) identifying the window: the old IP was deleted due to a config change and recreation failed. Should be visible via kubectl describe svc.

Done when

A create failure after delete is diagnosable from service events without reading CCM source code.

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

Start in internal/provider/load_balancer.go at ensureLoadBalancer and trace the detach → delete → create path when allocator configuration changes. Inspect the branch where create fails after deletion, then run the relevant project checks and verify that the warning event and structured log identify the deleted old IP and failed recreation, with the event visible through kubectl describe svc.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend, cloud
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.