Skip to content

Add API endpoint for updating network interfaces#1186

Merged
bnaecker merged 3 commits into
mainfrom
update-nic-api
Jun 13, 2022
Merged

Add API endpoint for updating network interfaces#1186
bnaecker merged 3 commits into
mainfrom
update-nic-api

Conversation

@bnaecker

@bnaecker bnaecker commented Jun 9, 2022

Copy link
Copy Markdown
Collaborator
  • Adds the HTTP endpoint to PUT updates to an instance's network
    interfaces
  • Adds transaction-based method for applying these updates. The
    transaction is mainly necessary to correctly make a new primary
    interface, specifically marking the old primary as now secondary. It
    also helps with a potential race when checking if the instance being
    operated on is stopped. The interactive transaction is unfortunate,
    but appears required, since the entire operation of setting a new
    primary cannot be expressed as a single query.
  • Adds tests, especially verifying making a new primary interface
  • Adds PUT endpoint to auth tests

@bnaecker bnaecker requested review from davepacheco and smklein June 9, 2022 19:12
@bnaecker

bnaecker commented Jun 9, 2022

Copy link
Copy Markdown
Collaborator Author

Addresses #1153

@smklein smklein self-assigned this Jun 13, 2022
Comment thread nexus/src/external_api/params.rs
Comment thread nexus/src/db/datastore.rs Outdated
Comment thread nexus/src/db/datastore.rs Outdated
Comment thread nexus/src/db/datastore.rs Outdated
Comment thread nexus/tests/integration_tests/instances.rs Outdated
Comment thread nexus/tests/integration_tests/instances.rs Outdated
Comment thread nexus/tests/integration_tests/instances.rs
bnaecker added 2 commits June 13, 2022 19:14
- Adds the HTTP endpoint to PUT updates to an instance's network
  interfaces
- Adds transaction-based method for applying these updates. The
  transaction is mainly necessary to correctly make a new primary
  interface, specifically marking the old primary as now secondary. It
  also helps with a potential race when checking if the instance being
  operated on is stopped. The interactive transaction is unfortunate,
  but appears required, since the entire operation of setting a new
  primary cannot be expressed as a single query.
- Adds tests, especially verifying making a new primary interface
- Adds PUT endpoint to auth tests
@bnaecker bnaecker enabled auto-merge (squash) June 13, 2022 19:16
@bnaecker bnaecker merged commit 0588fac into main Jun 13, 2022
@bnaecker bnaecker deleted the update-nic-api branch June 13, 2022 20:31
leftwo pushed a commit that referenced this pull request Mar 4, 2024
Crucible changes:
Per client, queue-based backpressure (#1186)
A builder for the Downstairs Downstairs struct. (#1152)
Update Rust to v1.76.0 (#1153)
Deactivate the read only parent after a scrub (#1180)
Start byte-based backpressure earlier (#1179)
Tweak CI scripts to fix warnings (#1178)
Make `gw_ds_complete` less public (#1175)
Verify extent under repair is valid after copying files (#1159)
Remove individual panic setup, use global panic settings (#1174)
[smf] Use new zone network config service (#1096)
Move a few methods into downstairs (#1160)
Remove extra clone in upstairs read (#1163)
Make `crucible-downstairs` not depend on upstairs (#1165)
Update Rust crate rusqlite to 0.31 (#1171)
Update Rust crate reedline to 0.29.0 (#1170)
Update Rust crate clap to 4.5 (#1169)
Update Rust crate indicatif to 0.17.8 (#1168)
Update progenitor to bc0bb4b (#1164)
Do not 500 on snapshot delete for deleted region (#1162)
Drop jobs from Offline downstairs. (#1157)
`Mutex<Work>` → `Work` (#1156)
Added a contributing.md (#1158)
Remove ExtentFlushClose::source_downstairs (#1154)
Remove unnecessary mutexes from Downstairs (#1132)

Propolis changes:
PHD: improve Windows reliability (#651)
Update progenitor and omicron deps
Clean up VMM resource on server shutdown
Remove Inventory mechanism
Update vergen dependency
Properly handle pre/post illumos#16183 fixups
PHD: add `pfexec` to xtask phd-runner invocation (#647)
PHD: add Windows Server 2016 adapter & improve WS2016/2019 reliability (#646)
PHD: use `clap` for more `cargo xtask phd` args (#645)
PHD: several `cargo xtask phd` CLI fixes (#642)
PHD: Use ZFS clones for file-backed disks (#640)
PHD: improve ctrl-c handling (#634)
leftwo added a commit that referenced this pull request Mar 4, 2024
Crucible changes:
Per client, queue-based backpressure (#1186)
A builder for the Downstairs Downstairs struct. (#1152) Update Rust to
v1.76.0 (#1153)
Deactivate the read only parent after a scrub (#1180) Start byte-based
backpressure earlier (#1179)
Tweak CI scripts to fix warnings (#1178)
Make `gw_ds_complete` less public (#1175)
Verify extent under repair is valid after copying files (#1159) Remove
individual panic setup, use global panic settings (#1174) [smf] Use new
zone network config service (#1096)
Move a few methods into downstairs (#1160)
Remove extra clone in upstairs read (#1163)
Make `crucible-downstairs` not depend on upstairs (#1165) Update Rust
crate rusqlite to 0.31 (#1171)
Update Rust crate reedline to 0.29.0 (#1170)
Update Rust crate clap to 4.5 (#1169)
Update Rust crate indicatif to 0.17.8 (#1168)
Update progenitor to bc0bb4b (#1164)
Do not 500 on snapshot delete for deleted region (#1162) Drop jobs from
Offline downstairs. (#1157)
`Mutex<Work>` → `Work` (#1156)
Added a contributing.md (#1158)
Remove ExtentFlushClose::source_downstairs (#1154) Remove unnecessary
mutexes from Downstairs (#1132)

Propolis changes:
PHD: improve Windows reliability (#651)
Update progenitor and omicron deps
Clean up VMM resource on server shutdown
Remove Inventory mechanism
Update vergen dependency
Properly handle pre/post illumos#16183 fixups
PHD: add `pfexec` to xtask phd-runner invocation (#647) PHD: add Windows
Server 2016 adapter & improve WS2016/2019 reliability (#646) PHD: use
`clap` for more `cargo xtask phd` args (#645) PHD: several `cargo xtask
phd` CLI fixes (#642)
PHD: Use ZFS clones for file-backed disks (#640)
PHD: improve ctrl-c handling (#634)

Co-authored-by: Alan Hanson <alan@oxide.computer>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants