-
Notifications
You must be signed in to change notification settings - Fork 233
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
Add libhvee as alternative Hyper-V driver on Windows #3824
base: main
Are you sure you want to change the base?
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
9c10def
to
2e72ce2
Compare
0a919ec
to
6013d5f
Compare
This comment was marked as outdated.
This comment was marked as outdated.
6013d5f
to
d1658c1
Compare
These are the results for this PR on windows https://crcqe-asia.s3.amazonaws.com/nightly/ocp/4.13.12/20231005/11-pro/qe-results/e2e-non-ux.xml |
Want to incorporate 9P, but the current codebase for this lives in the PR containers/gvisor-tap-vsock#280 |
The code from this gvisor-tap-vsock PR is short, and thus easy to add to the daemon when we need it. But there's also some guest code involved, which might be trickier mheon/libpod@334e213 |
@cfergeau it basically is the same/similar code as the 9p-ufs that I tested with earlier, so I am not so concerned. I am more curious if this will therefore be part of a library, or the changes for libpod remain seperate? |
ref: #3870 |
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.
I've rebased this and squashed the commits in https://github.com/cfergeau/crc/tree/libhvee
This looks like a fairly straightforward change, though I haven't tried running it on a Windows machine :)
@@ -166,19 +165,6 @@ func fixUserPartOfCrcUsersAndHypervAdminsGroup() error { | |||
return errReboot | |||
} | |||
|
|||
func checkIfHyperVVirtualSwitchExists() error { |
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.
Fwiw, it would be good to split the system mode networking removal on Windows in its own preparatory commit, this would make it easier to focus on/review the config/preflight changes.
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.
Honestly, I do not even know if this functionality still works. I'll consider, but these checks are also performed when not even necessary (like the existence of the virtual switch) and therefore actually wrong.
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.
I've done this in https://github.com/cfergeau/crc/tree/libhvee, this removes even more code
a9c936a
to
6321f26
Compare
Maybe we need to use https://github.com/aperezdc/9pfuse?tab=readme-ov-file or something similar. |
Do you mean to target SMB or leave as in the current PR (no support) |
Ideally, use the same SMB support as what we have now. I haven't checked if this PR removes some SMB support, but hopefully it's still there? |
Originally the PR removed it, but part of it is there... just never tested. Note: we have no automated tests for this :-s. |
Tested this PR on windows and the SMB based file sharing and it is working as expected, have to use the windows MSI installer, then the following config options needs to be set before
|
@anjannath this is a side effect of the WMI use. The powershell interface is more verbose, though also not always right. When WMI is used, you only get return codes back from the 'queries' and 'requests' that are performed. This would need to be a refinement in the libhvee library. Perhaps file an issue upstream for this? |
/me tested and concludes: "works as expected" |
Should return an error when trying to set the "system networking" option. But I think this is already the case, or it's not possible to choose this option in release builds? Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
6321f26
to
394e34e
Compare
This replaces the interaction of Hyper-V from our machine-drivers based driver as used in Minikube/minishift to the libhvee library as used by podman machine.
Disk handling API was added to libhvee since the first iteration of the libhvee support, we can now make use of it. Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
394e34e
to
0a0ad63
Compare
@gbraad: The following tests failed, say
Full PR test history. Your PR dashboard. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
Fixes #3811
Basic functionality for: