Remove sd-whonix and whonix-gateway FPF packages and repos#1415
Remove sd-whonix and whonix-gateway FPF packages and repos#1415
Conversation
484f564 to
03cd0d6
Compare
03cd0d6 to
941303f
Compare
|
I just rebased against main, didn't look at it or anything. |
941303f to
2bae8b1
Compare
|
Rebased again to pick the OpenQA fixes (now on FPF's fork of the openqa-tests-qubesos). |
2bae8b1 to
868c5bb
Compare
Sd-whonix will no longer present in the workstation code [1]. [1]: freedomofpress/securedrop-workstation#1415
| FLAVOR=securedrop \ | ||
| NEEDLES_DIR="%%CASEDIR%%/needles" \ | ||
| CASEDIR="https://github.com/freedomofpress/openqa-tests-qubesos.git#main"\ | ||
| CASEDIR="https://github.com/freedomofpress/openqa-tests-qubesos.git#sd-whonix-removal"\ |
There was a problem hiding this comment.
This must be removed before merging.
|
All tests passed, but sadly the uploading of the |
|
|
ca30af6 to
ef5451e
Compare
Try to remove the fpf packages and repo. Run this as the last step in configuration, adapted from the steps used to configure them in.
42e699a to
2020070
Compare
|
(Marked as ready for review before confirmation from OpenQA, but the diff is minimal, so I assume it'll succeed) |
I have included logic to remove it in |
Separately, I'd say. This PR is already trying to do too many changes at once. |
d09e6e8 to
82a736d
Compare
|
In case everything is addressed, prior to merging I'd like to:
|
No, I got confused and thought it was being installed and it isn't. |
legoktm
left a comment
There was a problem hiding this comment.
One more thing I think on the whonixless install and then we should be set
| "Configure all SecureDrop Workstation VMs with service-specific configs", | ||
| [q.name for q in Qubes().domains if "sd-workstation" in q.tags], | ||
| ) | ||
| configure("Disabling Whonix customizations", ["whonix-gateway-17"]) |
There was a problem hiding this comment.
I still see a failure on a whonixless install, and I think this is the culprit, because configure() does run_cmd(["qvm-shutdown", "--wait", "--"] + targets), which fails with a non-zero exit because no such VM/template exists.
Maybe we can have configure learn some kind of skip_if_missing where it doesn't do anything if the target(s) don't exist?
(fwiw I commented out this line and then the install worked fine all the way through so this should be the last/only thing to fix)
There was a problem hiding this comment.
I think this is kind off an edge-case that is going away pretty soon IMO. So my preference would be to just add an if before we go into that configure step. Once it goes away we just remove it. Otherwise we're adding logic to configure() to handle this specific situation, which we're unlikely to encounter in the future.
There was a problem hiding this comment.
Because in general we do want the targets to exist, otherwise it may be doing something we don't want it to. But perhaps that's more on the testing territory.
There was a problem hiding this comment.
Done in 4952035. Thanks for testing the code ahead of time :)
8ab89f3 to
109a910
Compare
|
I'll just re-arrange the PRs a tiny bit and force-push. |
Removes sd-whonix from salt code, but adding steps to remove remove sd-whonix in perpetuity in the "sd-remove-unused-qubes". The rationale is that this should be kept as long as possible, since it's possible that some workstation may be "on the shelf" for some time, thus skipping upadtes. By keeping its removal in the code, we can catch these 'straggler' machines and ensure proper removal.
Please enter the commit message for your changes. Lines starting
(test on: openqa)
Reset whonix templates' 'kernelopts' via setting as *default*
- removes 'apparmor=1 security=apparmor'
- adds 'swiotlb=2048' (set by '*default*')
- sys-whonix and other derived qubes inheirt kernelopts from their
parent template, so they don't need to be explicitly reset.
Rationale: when the SecureDrop Workstation used to make use of Whonix it
had added additional apparmor entries to the qubes' kernelopts. Given
that Whonix is no longer used, these modification should be removed.
These changes were limited to Whonix 17. With future Whonix versions, we
assume the workstation has not changed them.
(test in: openqa)
'cmd.run' should be avoided but the native salt modules "pkg.del_repo" and "pkg.purge" are likely getting confused by the fact that the debian templates have both "dnf" and "apt" package managers. This happens in Qubes because when Debian qubes are used as default (e.g. for sys-firewall), they still need to enable dom0 to get updates (which are through dnf). Further diagnosis could be helpful, but these are temporary commands to be used until Whonix 17 reaches EOL. (test on: openqa)
Should no longer be present in template
Apt is the user-facing tool, whereas apt-get is the version of the tools that should be used for scripting.
Skip the configuration of Whonix qubes in system where they are not present. Saltstack supports "--targets" where the qubes don't exist (it's just a noop). The problem was with qvm-shutdown under "configure()". (test in: openqa)
4952035 to
11698da
Compare
|
Rebase done and OpenQA commit removed. Feel free to give it the final stamp of approval @legoktm. |
legoktm
left a comment
There was a problem hiding this comment.
LGTM, my whonixless fresh install worked :) ty!
Follow-up to #1414 (to be rebased after it is merged).
sd-whonixand tries to remove all code tries between the workstation and its whonix dependency.TODO:
READMEsd-sys-whonix-vms.sls(including removing apparmor kernel arguments)Test plan
make devdoes not runqvm.anon-whonixor other system default formulasChecklist
This change accounts for:
MANIFEST.inandrpm-build/SPECS/securedrop-workstation-dom0-config.spec)