oxidecomputer / oxidecomputer/oxide-cloud-controller-manager

Consistent API timeouts across the provider

Open
#277 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

Every InstancesV2 method (internal/provider/instances_v2.go) wraps its context in a 30s timeout; no LoadBalancer method (internal/provider/load_balancer.go) does. The inconsistency means LB reconciles can hang on a slow Oxide API call for as long as the framework's context allows.

Scope

Pick one convention — e.g., a shared per-call timeout constant applied at the top of each exported method — and apply it across both InstancesV2 and LoadBalancer.

Done when

All Oxide API calls have the same, documented timeout policy.

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 with internal/provider/instances_v2.go to trace the existing 30-second context wrapping, then compare the exported methods in internal/provider/load_balancer.go. Choose and document one per-call timeout policy, apply it consistently to both providers, and verify that all Oxide API calls follow the same policy.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.