-
Notifications
You must be signed in to change notification settings - Fork 46
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
Update Fedora TemplateVM on package install #558
Update Fedora TemplateVM on package install #558
Conversation
…nager In the Preflight updater, bacause the TemplateVM updates occur before dom0 state is applied, the Fedora-31 TemplateVM is not updated as it is installed. It will require another update cycle (8+h in order to get updated again). Here, we should simply ensure the default Fedora TemplateVM is updated, if and only if the TemplateVM was just installed.
Testing upgrade against a pre-existing 0.24 install. |
|
Thanks @zenmonkeykstop the error you observed does indeed seem unrelated, did you observe any |
I don't recall any notifications failures to start securedrop-workstation-buster, but I could have missed them. Some failures loading kernel modules according to console logs:
Non-whonix |
Ran through an upgrade of staging, from 0.2.4. Unfortunately I also encountered a failure on a non-Fedora VM, the libxenlight error (#498) with "request refused" in syslog (#519 (comment)). While I'm not convinced the failure was caused by the logic introduced here, I do think more testing is required prior to merge. Even in spite of the failure, the On the subject of "if-and-only-if" F31 is installed does the package-upgrade logic run, that certainly appears to be the case, although the if-and-only-if behavior of cmd.wait-with-watch is in direct contradiction to the Salt docs. See table in requisites overview, as well as this note from the watch docs
I haven't actually tested multiple runs of the full updater with the new logic to confirm that it only runs once, but brief checks with test=True indicated the package-upgrade logic wouldn't be rerun, which is the behavior we want, although still a bit confusing, given the divergence from documented behavior. Either way, we likely want to shift to cmd.run -> onchanges, to make the code as future-proof as possible. |
@conorsch I had originally pursed the [1] https://docs.saltstack.com/en/master/ref/states/requisites.html#state-target-matching
|
Ran through the test plan again, with positive results. Took a while, because I had to revert my staging instance back to baseline. When reporting the results of ad-hoc tests against SecureDrop Workstation, please include the following information: Environment:
Test steps:First, reverted customizations from previous round of testing:
Then, I followed the test plan provided in the OP. Test results:
|
Ran through a fresh prod install using the RPM from this branch: Environment:
Test steps:
Test results:
|
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.
Given two positive reviews, approving for merge. We'll proceed with manual QA once rc2 is built and uploaded.
…e-on-package-install Update Fedora TemplateVM on package install
Status
Ready for review
Description of Changes
Towards #544
Updates workstation-default Fedora TemplateVM if and only if the TemplateVM package has just been installed in dom0
Testing
Clean Install
This requires the sys vms to be using Fedora-30 TemplateVMs, and for the Fedora-31 TemplateVM package to not be installed in dom0
make all
on this branch completes successfullymake test
all tests passsudo dnf update
in fedora-31 indicates no updates are requireddom0
step does not trigger the updatesys-*
VMS usefedora-31
as their templateUpgrade testing (I have tested this is a prod environment)
time /opt/securedrop/launcher/sdw-launcher.py --skip-delta 0
)sudo dnf update
in fedora-31 indicates no updates are requireddom0
step does not trigger the updatesys-*
VMS usefedora-31
as their templateChecklist
If you have made code changes
make flake8
) passes in the development environment (this box maybe left unchecked, as
flake8
also runs in CI)If you have made changes to the provisioning logic
make test
) pass indom0
of a Qubes install