- 
          
- 
                Notifications
    You must be signed in to change notification settings 
- Fork 115
Clean preloaded disposable remnants on next boot #742
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
| Codecov Report❌ Patch coverage is  
 Additional details and impacted files@@            Coverage Diff             @@
##             main     #742      +/-   ##
==========================================
- Coverage   70.40%   70.38%   -0.02%     
==========================================
  Files          61       61              
  Lines       13682    13691       +9     
==========================================
+ Hits         9633     9637       +4     
- Misses       4049     4054       +5     
 Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
 | 
| OpenQA test summaryComplete test suite and dependencies: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2025102219-4.3&flavor=pull-requests Test run included the following: 
 New failures, excluding unstableCompared to: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2025081011-4.3&flavor=update 
 Failed tests12 failures
 Fixed failuresCompared to: https://openqa.qubes-os.org/tests/149225#dependencies 84 fixed
 Unstable testsPerformance TestsPerformance degradation:17 performance degradations
 Remaining performance tests:163 tests
 | 
        
          
                qubes/vm/dispvm.py
              
                Outdated
          
        
      | :param bool force: Force cleanup even if enabled, else it might \ | ||
| be handled by ``domain-shutdown``. | 
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.
Leftover from earlier version? This function doesn't have force parameter
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.
Yes, the remnant PR had remnants... It was dealt with the running check.
If the disposable was preloaded, in progress feature would return False, now it check is qube was a preloaded disposable that completed but is not running to signal improper shutdown. When calling cleanup, if the qube is not running, the "_bare_cleanup()" was skipped on "cleanup()", now this is handled. There is something that triggers "domain-remove-from-disk" on qubesd start for unnamed disposables, didn't detect the origin, but it is now handled by removing the preloaded disposable from the list. Fixes: QubesOS/qubes-issues#10326 For: QubesOS/qubes-issues#1512
5b6d695    to
    3e842d7      
    Compare
  
    | running = False | ||
| # Full cleanup will be done automatically if event 'domain-shutdown' is | ||
| # triggered and "auto_cleanup=True". | ||
| if not running or not self.auto_cleanup: | 
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.
Some strange issue appears when using not running here.
The not running statement was intended to deal with halted qube (remnant from previous boot). I guess it is better to accept a force parameter to not default to running state.
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 still doesn't explain the issue... was cleanup called twice?
If the disposable was preloaded, in progress feature would return False, now it check is qube was a preloaded disposable that completed but is not running to signal improper shutdown.
When calling cleanup, if the qube is not running, the "_bare_cleanup()" was skipped on "cleanup()", now this is handled.
There is something that triggers "domain-remove-from-disk" on qubesd start for unnamed disposables, didn't detect the origin, but it is now handled by removing the preloaded disposable from the list.
Fixes: QubesOS/qubes-issues#10326
For: QubesOS/qubes-issues#1512
How can I simulate stopping qubesd on integration tests? I tried to do unittest and firing
domain-load, but I could get the magic right.