oxidecomputer / oxidecomputer/omicron
Internet gateway delete logic is flawed
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 572
- Forks
- 97
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 96
Description
Internet gateway (IG) deletion has two modes, cascade and no cascade. The no cascade option should fail if there are routes pointing at the IG. The no cascade option should delete an internet gateway and its associated IP pool / address attachments. However in the code below we bail if there are IP pool / address associations and we don't even check routes.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in nexus/db-queries/src/db/datastore/vpc.rs around lines 1645-1686 and trace the internet gateway deletion checks. Compare cascade and no-cascade behavior, including route references and IP pool/address attachments. Done means no-cascade deletion rejects gateways with routes while still removing the allowed associated attachments.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100