-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Migrate Firecracker to use rust-vmm/event-manager #2604
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
PR looks good to me! I would also run the net/block/vsock perf tests, but I don't expect any performance impact from this change as polly and eventmanager are closely following the same pattern but with a different interface/implementation. Lastly, I would look to replace the epoll primitive usage in the VsockMuxer: |
Let's do that in a separate PR. It involves considerable |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The PR looks good functionally, but could we keep the unit tests as close to how they were before ? I'm referring to simulating events through the event manager instead of calling the handlers directly. Just to make sure that the entire path works correctly. I understand that the event manager logic is tested inside the crate, but even so I think we might be missing use cases if we simplify the tests.
The rust-vmm/event-manager interface doesn't allow us to simulate events as before.. The
|
This is somewhat of a step back since it doesn't allow us to test a part of the code. Do you know if there are any plans on offering support for simulating events ? Is waiting an option ? |
I agree with your concerns @serban300 regarding the limited testing capabilities that we get with this switch at the moment. However, I would not gate short term on this support if we have identical coverage in tests. I think we should create an event-manager issue and discuss/contribute extended support for test configurations. |
Opened rust-vmm/event-manager#67 for adding some way to unit-test |
This series of 7 commits migrates Firecracker from using local 'polly' crate, to using 'rust-vmm/event-manager' crate. Note: The project doesn't build with only part of this patchset. Signed-off-by: Adrian Catangiu <[email protected]>
This series of 7 commits migrates Firecracker from using local 'polly' crate, to using 'rust-vmm/event-manager' crate. Note: The project doesn't build with only part of this patchset. Signed-off-by: Adrian Catangiu <[email protected]>
This series of 7 commits migrates Firecracker from using local 'polly' crate, to using 'rust-vmm/event-manager' crate. Note: The project doesn't build with only part of this patchset. Signed-off-by: Adrian Catangiu <[email protected]>
This series of 7 commits migrates Firecracker from using local 'polly' crate, to using 'rust-vmm/event-manager' crate. Note: The project doesn't build with only part of this patchset. Signed-off-by: Adrian Catangiu <[email protected]>
This series of 7 commits migrates Firecracker from using local 'polly' crate, to using 'rust-vmm/event-manager' crate. Note: The project doesn't build with only part of this patchset. Signed-off-by: Adrian Catangiu <[email protected]>
This series of 7 commits migrates Firecracker from using local 'polly' crate, to using 'rust-vmm/event-manager' crate. Note: The project doesn't build with only part of this patchset. Signed-off-by: Adrian Catangiu <[email protected]>
This series of 7 commits migrates Firecracker from using local 'polly' crate, to using 'rust-vmm/event-manager' crate. Note: The project doesn't build with only part of this patchset. Signed-off-by: Adrian Catangiu <[email protected]>
Signed-off-by: Adrian Catangiu <[email protected]>
Reason for This PR
Use upstream https://github.com/rust-vmm components.
Fixes #2154
Description of Changes
This patch series migrates Firecracker from using local
polly
crate, to usingrust-vmm/event-manager
crate.Note: The project doesn't build with only part of this patch-set.
License Acceptance
By submitting this pull request, I confirm that my contribution is made under
the terms of the Apache 2.0 license.
PR Checklist
[Author TODO: Meet these criteria.]
[Reviewer TODO: Verify that these criteria are met. Request changes if not]
git commit -s
).Any newly addedunsafe
code is properly documented.Any API changes are reflected infirecracker/swagger.yaml
.Any user-facing changes are mentioned inCHANGELOG.md
.