-
Notifications
You must be signed in to change notification settings - Fork 2k
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
WIP further updates to the QEMU driver. #10035
base: main
Are you sure you want to change the base?
Conversation
- Support ports list - Create VNC stanza - Allow virtual NIC type to be selected - Begin support for non-x86-64 emulation
Ooh this is exciting.... i'm 10000 terrible at golang, but I can help with testing... Naturally i'm mostly concerned about just getting native arm support.. but emulation is great too.... @davemay99 @angrycub In your opinions, what's the MVP-level amount of work needed to revise and get merged... even if that means remove some functionality for now. |
@tgross k trying to understand what's needed.. little new to this.. Should I try to cross-reference requirements defined in roadmap to this PR in order what's needed? Any other resources you can recommend? |
The list of open qemu issues will be the place to look for any more details on this work. It'd probably be better to get anything you contribute on those features as entirely separate PRs. |
@angrycub - I have been looking through this a bit. Is it just the details around multiple architectures that needs to be wrapped up? Does the fingerprinting system provide enough flexibility to register the presence of the various |
Sorry for the scope creep, but would it maybe be possible to enable volume_mounts using 9p in the Qemu driver as well? More context #10053 (comment) |
@angrycub - Any thoughts on the questions above? Thanks! |
I could try to help on this, as we need it to orchestrate multiple QEMU instances for different architectures. Is there any list of things missing today from already mentioned QEMU bugs? |
Looking for someone to take over this work. Please reach out to me if interested.
Current PR Efforts
Support ports list
Implementing the group level network stanza support also requires that we support mapping the ports into the VMs using the same
ports
list that the Docker driver does.Current Status: There are some cases where the selected IP used in the forwarding rules is incorrect. (This is last I recall. I had to shelve this for a while and I am uncertain if this was a thing that I was able to sort out before that.)
Create VNC stanza
The new VNC stanza will enable a user to configure the VNC display driver such that properly configured VMs would be accessible either by a sidecar VNC server/proxy or forwarded to the client.
Allow virtual NIC type to be selected
Certain VMs require the use of specific virtual NICs. This PR creates the configuration elements necessary to pass in an alternative NIC.
Begin support for non-x86-64 emulation
Being able to use alternative system binaries really opens up the possibilities provided by the QEMU driver; however, it's not quite as simple as just making the binary name configurable.
Provided values that use non-default emulators will need to wipe out the bulk of the provided defaults, since they were built for
qemu-system-x86_64
and there is no guarantee that they are valid for the requested emulator.Ideally, there would be a fingerprinting mechanism for the system binaries, so that nodes that do not contain the proper binaries are already determined to be infeasible.