oxidecomputer / oxidecomputer/omicron

Internet gateway delete logic is flawed

Open
#10,976 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug Good for new hires networking
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.

https://github.com/oxidecomputer/omicron/blob/83a881b32f53ae4edefc13515e95b320c88834a3/nexus/db-queries/src/db/datastore/vpc.rs#L1645-L1686

Contributor guide

Open the contributing guide

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 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.