-
-
Notifications
You must be signed in to change notification settings - Fork 65
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 filter for qubes stored on inaccessible storage pools #399
base: main
Are you sure you want to change the base?
Conversation
I think the reason this works and updates is because Qubes periodically queries for disk space usage. Should this use the event system, instead of polling for volumes? There is a quirk in this implementation, if you do weird setups where you keep AppVMs separate from their TemplateVMs, but the TemplateVM isn't on main storage, as it currently does not verify that the template volume of an AppVM is accessible. This would result in false positives where the AppVM is visible, even though it cannot be started. |
I really like the idea! Don't love the polling, for two reasons:
|
Thank you for the positive feedback. I agree about the polling, I just did what felt manageable to get some feedback on the idea. I'd gladly take some advice. My understanding right now is that there would have to be polling, but that I could use the polling already happening in |
Sorry for the late reply, Christmas season was a bit overwhelming. Anyway.
|
There may be already events when a new pool is created, but not really when a pool becomes available/unavailable. The latter in practice requires some polling anyway, as it may change outside of knowledge of qvm-* tools, for example when you mount something in dom0, or open related LUKS volume (theoretically some of the cases could be covered by udev events, but it's hard to map events to pools, and still probably some will be missing). So, as long as polling is needed, unfortunately it seems it needs to be on the qubes-manager side... And BTW, events for disk usage would be even more tricky, as it needs to be some polling anyway, or at least rate-limiting (the non-polling version would be "send event on any disk write" which is totally impractical). And on top of that, has the same issues as pools availability (no system events on changes, no info whether anybody listens, etc). |
PipelineRetry |
I've noticed an issue with this, where I have a standalone VM which only shows up when I disable the filtering. |
This is useful when you're working for multiple customers and compartmentalize them to separate (removable?) disks. If you decide that this can be merged, I'd also like to add the same filter to
qubes-app-menu
as well.This is slightly related to QubesOs/qubes-issues#1293, as this is part of a work flow where VMs can be stored on another partition and encrypted with a separate key, as described here. Of course, this PR doesn't add any security, as all metadata is still stored on the same place. It's purely a visual improvement if users have themselves implemented the separation.
For context, the way I'm using this is with a salt script which adds some safe guards to avoid corrupted data.