Add Focal staging environment for Qubes #5556
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Status
Ready for review
Description of Changes
Adds a Focal staging environment on Qubes.
Incorporates GPG keyring fix from @kushaldas to get source submission working.
Towards #5468.
Fixes #5523.
Fixes #5499.
Testing
On Qubes, destroy any existing staging environments. If you have Xenial base qubes, rename them to append
-xenial
, e.g.:sd-staging-base
→sd-staging-base-xenial
sd-staging-app-base
→sd-staging-app-base-xenial
sd-staging-mon-base
→sd-staging-mon-base-xenial
If you haven't yet set up a staging environment on Qubes, follow the current documentation, but append
-xenial
to all the VMs whose names end in-base
, as we now need to distinguish between the releases.Run
make staging
and ensure that the Xenial staging environment still works.To test Focal, follow the current documentation to create base VMs ending in
-focal
. The Ubuntu installation process and subsequent customization is pretty similar, except when adjusting the app and mon servers' network configuration: on Focal you'll need to edit/etc/netplan/00-installer-config.yaml
instead of/etc/network/interfaces
. You can use the same IP addresses as in your Xenial base VMs, as it's not yet possible to run both simultaneously (that would require changing the production location of Tor service files written underinstall_files/ansible-base
), and reusing them simplifiessys-firewall
configuration.Run
make staging-focal
and ensure that it creates a functional Focal staging environment.Deployment
This includes two changes to production configuration:
The GPG keyring on the app server is imported with an explicit location (
pubring.gpg
) to preserve existing behavior on Focal, where gpg would otherwise preferpubring.kbx
.The Apache AppArmor configuration makes
/usr/bin/dash
,/usr/bin/touch
, and/usr/bin/uname
executable by Apache; they used to be invoked from/bin
.Checklist
If you made changes to the system configuration:
(Running the configuration tests on Qubes will still have failures, but there should be no new failures with this branch.)
If you made non-trivial code changes: