fix(nested): handle CPU features and microcode for nested cmr8i#5850
Draft
JamesC1305 wants to merge 2 commits intofirecracker-microvm:mainfrom
Draft
fix(nested): handle CPU features and microcode for nested cmr8i#5850JamesC1305 wants to merge 2 commits intofirecracker-microvm:mainfrom
JamesC1305 wants to merge 2 commits intofirecracker-microvm:mainfrom
Conversation
EC2 virtualised instances don't expose microcode to the L1 guest. Make it so microcode not being present is an allowed condition for virt instances only. (Metals w/o microcode will still return an Error). Signed-off-by: James Curtis <jxcurtis@amazon.co.uk>
Detect whether an instance is running in nested virt (by checking the host's features). This can then be used throughout our tests to change/ filter certain aspects of the tests that we don't expect to work the same as on metal instances. Signed-off-by: James Curtis <jxcurtis@amazon.co.uk>
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #5850 +/- ##
==========================================
- Coverage 83.07% 83.05% -0.03%
==========================================
Files 276 276
Lines 29541 29558 +17
==========================================
+ Hits 24541 24548 +7
- Misses 5000 5010 +10
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Reason
When running Firecracker as a nested virtual machine on virt cmr8i instances, we were encountering failures related to the CPU features being a smaller subset on L1, and microcode not being available to L1.
To fix this, check for nested via
/proc/cpinfo, and change tests to expect a subset of CPU features as well as microcode not being available when running nested.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
tools/devtool checkbuild --allto verify that the PR passesbuild checks on all supported architectures.
tools/devtool checkstyleto verify that the PR passes theautomated style checks.
how they are solving the problem in a clear and encompassing way.
in the PR.
CHANGELOG.md.Runbook for Firecracker API changes.
integration tests.
TODO.rust-vmm.