-
Notifications
You must be signed in to change notification settings - Fork 694
Add feature to keep mounts with plain mode #3748
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
@@ -555,6 +555,10 @@ guestInstallPrefix: null | |||
# 🟢 Builtin default: false | |||
plain: null | |||
|
|||
# Keep the mounts, in "plain" mode. | |||
# 🟢 Builtin default: false | |||
plainMounts: null |
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 fear the explosion of plainFoo
, plainBar
, plainFooBar
properties.
Can we rather introduce guestAgent.enabled: false
that will just disable the guest agent without affecting mounts
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 ask was only to be able to do virtiofs mounts with vz, without the guestagent (which is doable with this)
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.
But currently this is not related to the guestagent at all, just that enabling Plain will wipe out the Mounts
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.
Allows using e.g. virtiofs, without needing the guestagent. But only for default mounts, reverse-sshfs still needs it. Signed-off-by: Anders F Björklund <[email protected]>
a30b41a
to
221218d
Compare
The flag could also be different. Perhaps related to mount?
Or keep them by default, and require Some templates (like k8s) do an explicit |
How about One other alternative is to replace Or, you could support multiple |
In any case, users may want to use |
Having both |
We could convert |
@afbjorklund hence my other suggestion to introduce |
All the other options do require the guestagent, though. Maybe not the timezone, but. There is also another setting, "copy the user account", that is currently always enabled. But this got a bit complicated, it was only about the Mounts specifically func fixUpForPlainMode(y *LimaYAML) {
if !*y.Plain {
return
}
y.Mounts = nil
y.PortForwards = nil
y.Containerd.System = ptr.Of(false)
y.Containerd.User = ptr.Of(false)
y.Rosetta.BinFmt = ptr.Of(false)
y.Rosetta.Enabled = ptr.Of(false)
y.TimeZone = ptr.Of("")
} |
So my suggestion is to introduce |
I think we changed a bit away from "plain", and over to specific flags for the guestagent? And we didn't quite explain what the guestagent is in the first place, or when you need it |
So assuming we enabled mounts (except for So I'm not sure I see a need for additional options. |
That's a breaking change and also inconsistent across mount types. |
@AkihiroSuda Perhaps the bigger issue is that currently there's no way to specify which boot scripts must be run. In my case, I only need virtiofs support in the VM and nothing else, but currently I can either run all boot scripts or none. I could perhaps solve this by copying the boot script which sets up the virtiofs mount and using it as a provisioning script though... |
The boot scripts are not an external facing API. We need to be able to modify them in incompatible ways on any release, without having to provide backwards compatibility. Any configurability comes from settings in
If we decide to make mounts available under So if somebody runs a VM with |
Will close this PR, until we know how the config for plain mode should be handled. But it's basically a oneliner. --- a/pkg/limayaml/defaults.go
+++ b/pkg/limayaml/defaults.go
@@ -871,7 +871,6 @@ func fixUpForPlainMode(y *LimaYAML) {
if !*y.Plain {
return
}
- y.Mounts = nil
y.PortForwards = nil
y.Containerd.System = ptr.Of(false)
y.Containerd.User = ptr.Of(false) |
Allows using e.g. virtiofs in plain mode, without needing the guestagent etc.
But only for default mount type, since "reverse-sshfs" still needs non-plain.
Closes #3747
Discussion #3734