firecracker
firecracker copied to clipboard
vCPU Hot-unplug
Changes
- Implement the inverse operation of vCPU hot-plugging - vCPU hot-unplugging.
- Changed the
/hotplugendpoint, now the user requests a target number of vCPUs to be reached.
Unfinished
- Currently only the guest portion has been completed, an API call can be made, and the vCPUs will be successfully removed from the guest
- The host portion has not been completed. The backing threads need to be deleted after the guest has ejected the CPU. This requires a refactor of vCPU handles, to enable the
CpuContainerthe ability to terminate threads.
Reason
To provide the inverse of hot-plugging, so that VMs can be scaled in both directions.
License Acceptance
By submitting this pull request, I confirm that my contribution is made under
the terms of the Apache 2.0 license. For more information on following Developer
Certificate of Origin and signing off your commits, please check
CONTRIBUTING.md.
PR Checklist
- [ ] If a specific issue led to this PR, this PR closes the issue.
- [ ] The description of changes is clear and encompassing.
- [ ] Any required documentation changes (code and docs) are included in this PR.
- [ ] API changes follow the Runbook for Firecracker API changes.
- [ ] User-facing changes are mentioned in
CHANGELOG.md. - [ ] All added/changed functionality is tested.
- [ ] New
TODOs link to an issue. - [ ] Commits meet contribution quality standards.
- [ ] This functionality cannot be added in
rust-vmm.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 79.21%. Comparing base (
a541725) to head (99858de). Report is 1 commits behind head on feature/vcpu-hotplug.
Additional details and impacted files
@@ Coverage Diff @@
## feature/vcpu-hotplug #4753 +/- ##
========================================================
- Coverage 81.95% 79.21% -2.74%
========================================================
Files 257 224 -33
Lines 31762 26485 -5277
========================================================
- Hits 26031 20981 -5050
+ Misses 5731 5504 -227
| Flag | Coverage Δ | |
|---|---|---|
| 5.10-c5n.metal | ? |
|
| 5.10-m5n.metal | ? |
|
| 5.10-m6a.metal | ? |
|
| 5.10-m6g.metal | 79.21% <100.00%> (+<0.01%) |
:arrow_up: |
| 5.10-m6i.metal | ? |
|
| 5.10-m7g.metal | 79.21% <100.00%> (+<0.01%) |
:arrow_up: |
| 6.1-c5n.metal | ? |
|
| 6.1-m5n.metal | ? |
|
| 6.1-m6a.metal | ? |
|
| 6.1-m6g.metal | 79.21% <100.00%> (+<0.01%) |
:arrow_up: |
| 6.1-m6i.metal | ? |
|
| 6.1-m7g.metal | 79.21% <100.00%> (+<0.01%) |
:arrow_up: |
Flags with carried forward coverage won't be shown. Click here to find out more.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.