Skip to content

0.5.1 Test Plan

Conor Schaefer edited this page Nov 19, 2020 · 7 revisions

This test plan covers release 0.5.1 of the SecureDrop Workstation, which will migrated Fedora 31 VMs to Fedora 32.

If time allows, standard acceptance tests should also be completed for each release candidate. Then complete the rest of the test scenarios (or as many as possible).

Release-specific test plan

Test parameters

  • Hardware target: e.g. Thinkpad X1 20KH002JUS
  • Install type: fresh install/"happy path" upgrade/"sad path" upgrade
  • securedrop-workstation-dom0-config version: Check via dnf list in dom0
  • Release candidate version: 0.5.1-rcN

Scenario: Fresh Install

  • If an existing production install is being used for testing, remove it completely with the following commands in dom0:

    securedrop-admin --uninstall
    qvm-kill securedrop-workstation-buster
    sudo dnf remove qubes-template-securedrop-workstation-buster
    sudo dnf remove qubes-template-fedora-32 # may already be absent
    sudo dnf clean all
    qvm-ls | grep fedora-32 # should show no hits
    
  • Before proceeding, confirm that you've manually applied a fix to your fedora-31 template as described in https://github.com/freedomofpress/securedrop-workstation-docs/pull/65/files

  • Follow the installation instructions to copy the submission key and journalist interface config details into place, then follow the steps below to download and install the workstation RPM.

  • in a networked VM (work, say):

    • download the latest securedrop-workstation-dom0-config version (sdw-latest.rpm, say) from https://yum-test.securedrop.org/workstation/dom0/f25/
    • clone the https://github.com/freedomofpress/securedrop-workstation.git repo and ensure that it is on the main branch
  • in dom0:

    • transfer the RPM to dom0 using qvm-run --pass-io work "cat sdw-latest.rpm" > sdw-latest.rpm
    • transfer the repo to dom0 using qvm-run --pass-io work "tar -c -C /home/user securedrop-workstation" | tar xvf -
    • install the RPM using sudo dnf install sdw-latest.rpm
    • Ensure your config file has the "staging" env set
  • Confirm that qvm-ls | grep fedora-32 shows no hits

  • set up the workstation using the command sdw-admin --apply

  • Verify that the installation completes successfully.

  • In dom0, run qvm-ls | grep fedora-32, and verify that:

    • sys-firewall, sys-net, and sys-usb are all based on fedora-32
    • sd-app, sd-log, sd-proxy, and sd-gpg are based on sd-small-buster-template
    • sd-devices-dvm and sd-viewer are based on sd-large-buster-template
  • Confirm qvm-prefs default-mgmt-dvm template shows fedora-32

  • Run the graphical updater to completion, confirm no errors

Scenario: in-place upgrade

  • Install prod 0.5.0 on dedicated hardware
  • Clone the securedrop-workstation repo to dom0
    • Edit utils/qa-switch.sh to include "sd-large-buster-template" and "sd-small-buster-template" in the list of targets
    • Rhen run sudo bash utils/qa-switch.sh to set the yum-test repos
  • Confirm that qvm-ls | grep fedora-32 shows no hits
  • Run the GUI updater via time /opt/securedrop/launcher/sdw-launcher.py --skip-delta=0 and confirm no errors
  • In dom0, run qvm-ls | grep fedora-32, and verify that:
    • sys-firewall, sys-net, and sys-usb are all based on fedora-32
    • sd-app, sd-log, sd-proxy, and sd-gpg are based on sd-small-buster-template
    • sd-devices-dvm and sd-viewer are based on sd-large-buster-template
  • Confirm qvm-prefs default-mgmt-dvm template shows fedora-32
  • Run the graphical updater again to completion, confirm no errors