Skip to content
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

[Action] Considering an alternative upstream for continued improvements on vfkit #3362

Open
gbraad opened this issue Sep 26, 2022 · 9 comments

Comments

@gbraad
Copy link
Contributor

gbraad commented Sep 26, 2022

The Upstream for vz has been closing issue and pull requests without constructive criticism and limiting conversations with reason: "too heated", before conversations the PR gets closed.

While several of these might be related, the tone is what concerns us as a dependent project. We have considered to create our own fork for the moment to make sure continued improvements are made.

@gbraad
Copy link
Contributor Author

gbraad commented Oct 4, 2022

Since the upstream developer stated:

"Do not send Pull Requests for major code changes. I am not motivated to review your code. Basically, I write the code." Code-Hex/vz@37646e1

this starts more to look like unequivocally “Open Source, not Open Contribution”.

I have created a fork at https://github.com/machine-drivers/vz to deal with continued development according to our requirements.

@ghost
Copy link

ghost commented Oct 12, 2022

It can also take a long time to get a PR accepted. Many people are working out of branch as a result, which is problematic if anyone needs a vulnerability patched.

@gbraad my interests are mostly aligned with how CRC needs VZ to work. Do we have a list of issues that we can start getting logged in your fork?

@cfergeau
Copy link
Contributor

my interests are mostly aligned with how CRC needs VZ to work. Do we have a list of issues that we can start getting logged in your fork?

I've started adding the fixes vfkit needs to https://github.com/cfergeau/vz/tree/edge
They correspond to:

An issue I'd really like to see fixed is Code-Hex/vz#43 but I have almost 0 objc knowledge, not sure I'll tackle this one. Apart from that, I have a few basic test cases for macOS10/macOS11 support I need to readd and plug into github actions.

I'm still not 100% sure how well imports of newer Code-Hex/vz changes will work, we'll see :)

@gbraad
Copy link
Contributor Author

gbraad commented Oct 12, 2022

Hi @protosam, the work @paulcacheux did for file sharing, and Samuel Ortiz and @egernst did for Kata-Containers (and the unofficial fork: https://github.com/kata-container/vz/), have been on my radar too. Some of this work took unnecessary effort. The upstream owner actively refused conversations*.

One of the targets is to have a virtualization framework driver that can work for the usecase of podman machine and crc. @bbaude and I would like to see if an kernel can be started from the image itself and if ignition could even be referenced.

Let's discuss more on what we can do

Not: * and in my case even blocked for questioning some of the actions. The existence of forks with fixes that aren't upstream are telling. I hope the maintainer reconsiders.

@cfergeau
Copy link
Contributor

@bbaude and I would like to see if an kernel can be started from the image itself and if ignition could even be referenced.

Hopefully https://developer.apple.com/documentation/virtualization/vzefibootloader?language=objc and https://developer.apple.com/documentation/virtualization/vzefivariablestore?language=objc will allow this, but only macOS 13+

@gbraad
Copy link
Contributor Author

gbraad commented Oct 12, 2022

but only macOS 13+

We can make this a requirement if necessary. The alternative would be to 'extract' the kernel and ramdisk. If not feasible, we might target 13 for podman machine.

@ghost
Copy link

ghost commented Oct 12, 2022

With 12.6 being the current Mac version, it seems like using VZEFIVariableStore would exclude supporting quite a many users.

Would packing the ignition file into a .img with ext2 filesystem and using kernel parameters to handle using it be viable? There's examples of packing an ext2 .img in Go over at microsoft/hcsshim. This would avoid needing to extract and repack the kernel and ramdisk.

@ghost
Copy link

ghost commented Dec 23, 2022

These seem worth keeping an eye on in relation to this issue, just linking to them as a matter of housekeeping.

@gbraad
Copy link
Contributor Author

gbraad commented Apr 8, 2024

@protosam We will be converging more with Podman Machine, like we did with vfkit. This effort will be lead by @cfergeau, so if you have any particular needs around features/requirements, please discuss with him.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants