- 
          
- 
                Notifications
    You must be signed in to change notification settings 
- Fork 53
Description
The problem you're addressing (if any)
There is a cleanup function that runs when the disposable template is loaded with the event domain-load, it removes qubes that are invalid. It uses qubes names from the preload-dispvm list for some of those cases when deciding to remove a qube
The problem can occur in the following scenario if every condition is met:
- preload with name disp0
- system shuts down (which cleans disposables and stops qubesd)
- system start (start qubesd)
- event admin.vm.CreateDisposable+preload-autostartdoesn't run
- fresh unnamed normal disposable is created with the same name disp0
Dispids have a 10000 range and also has some runtime property _recent_dispids to avoid collision, that is not enough and does not consider the preload list.
With the rc1 available, some users already want to disable the qubes-preload-dispvm.service:
- https://forum.qubes-os.org/t/first-try-to-upgrade-ended-with-fail/35554/2
- Preload disposables only when their net qube is running #10159
The amount of changes to convert from UUID to names might be very big, that I prefer finding a solution that doesn't involve doing this transition.
The solution you'd like
The preload-dispvm feature has a list of qubes names, change it to use UUID instead to avoid name collision.
The value to a user and who that user might be
Users that create a lot of disposables and sometimes have system crashes or disable the autostart service will not have problems with name collision.
Completion criteria checklist
- Migration works with a qubesd restart.
-  Adapt all tests to use UUID(this may require more logging to help debugging as UUID is not printed onvm.logand desktop notifications uses qube names)
Metadata
Metadata
Assignees
Labels
Type
Projects
Status