Skip to content
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

Release securedrop-workstation-dom0-config 0.11.0 #999

Closed
11 of 26 tasks
zenmonkeykstop opened this issue Apr 24, 2024 · 8 comments
Closed
11 of 26 tasks

Release securedrop-workstation-dom0-config 0.11.0 #999

zenmonkeykstop opened this issue Apr 24, 2024 · 8 comments
Assignees
Labels

Comments

@zenmonkeykstop
Copy link
Contributor

zenmonkeykstop commented Apr 24, 2024

This release targets Qubes 4.1 and increments the fedora version from -38 to -39, mirroring previous bumps almost identically. It is numbered as 0.11.0 for consistency, but is treated as a hotfix release in that it is based on release/0.10.0, not main, as main is now 4.2-only.

For initial QA, the 0.11.0 rpm can be built locally from the release/0.11.0 branch and applied via dnf as described in the test plan. For preflight testing, it should be installed via yum-qa.securedrop.org.

Release process:

Release:

  • [In release branch] Bump version via update_version script, and update changelog in rpm .spec file
  • [In release branch] Create prod tag (signed by release signing key)
  • Build prod artifact, sign with release key, commit build logs
  • QA/smoketest of prod artifact (stuff rpm in dom0 of SDW prod machine)
  • Publish prod artifact to yum repo

Post-release

QA Test Plan

Fresh install (prodlike install)

Qubes 4.1.2 expected, please note hardware

Prep:

Testing:

  • RPM installs successfully in dom0
  • with config in place, sdw-admin --apply completes successfully
  • fedora-39 wis installed as part of --apply run
  • sys-* AppVMs use fedora-39 versions of their expected templates
  • basic client functionality requiring network access (login, first sync) completed successfully.
  • basic client functionality requiring USB support (export, print) completed successfully

Upgrade from 0.10.0 (no fedora-39 templates preinstalled)

Qubes 4.1.2 expected, please note hardware

Testing:

  • RPM installs succesfully via sudo dnf install <name> in dom0, replacing the existing 0.10.0 rpm
  • with config in place, sdw-admin --apply completes successfully
  • fedora-39 wis installed as part of --apply run
  • sys-* AppVMs use fedora-39 versions of their expected templates
  • basic client functionality requiring network access (login, first sync) completed successfully.
  • basic client functionality requiring USB support (export, print) completed successfully

[@cfm] Upgrade from 0.10.0 (with fedora-39 templates preinstalled)

Qubes 4.1.2 expected, please note hardware

Testing:

  • RPM installs succesfully via sudo dnf install <name> in dom0, replacing the existing 0.10.0 rpm
  • with config in place, sdw-admin --apply completes successfully
  • fedora-39 wis installed as part of --apply run
  • sys-* AppVMs use fedora-39 versions of their expected templates
  • basic client functionality requiring network access (login, first sync) completed successfully.
  • basic client functionality requiring USB support (export, print) completed successfully
@zenmonkeykstop zenmonkeykstop pinned this issue Apr 24, 2024
@cfm cfm self-assigned this Apr 25, 2024
@cfm
Copy link
Member

cfm commented Apr 25, 2024

Edit: This was really for #1000.

Upgrade from 0.10.0 (no fedora-39 templates preinstalled)

Qubes 4.1.2 expected, please note hardware: ThinkPad X1 Carbon, 10th-generation

  • RPM installs succesfully via sudo dnf install <name> in dom0, replacing the existing 0.10.0 rpm
  • with config in place, sdw-admin --apply completes successfully

No; sys-usb fails boot on fedora-39 in HVM mode, which is still our default on Qubes 4.1. This looks like QubesOS/qubes-issues#6029:

[2024-04-25 16:09:35] (XEN) MMIO emulation failed (1): d35v0 32bit @ 0008:3f000000 -> 
[2024-04-25 16:09:35] (XEN) d35v0 Triple fault - invoking HVM shutdown action 1
[2024-04-25 16:09:35] (XEN) *** Dumping Dom35 vcpu#0 state: ***
[2024-04-25 16:09:35] (XEN) ----[ Xen-4.14.6  x86_64  debug=n   Tainted: M     ]----
[2024-04-25 16:09:35] (XEN) CPU:    14
[2024-04-25 16:09:35] (XEN) RIP:    0008:[<000000003f000000>]
[2024-04-25 16:09:35] (XEN) RFLAGS: 0000000000010002   CONTEXT: hvm guest (d35v0)
[2024-04-25 16:09:35] (XEN) rax: 0000000000000000   rbx: 0000000040000000   rcx: 0000000000006fe8
[2024-04-25 16:09:35] (XEN) rdx: 0000000000006fe4   rsi: 0000000000000000   rdi: 0000000000000000
[2024-04-25 16:09:35] (XEN) rbp: 0000000000000000   rsp: 0000000000006fdc   r8:  0000000000000000
[2024-04-25 16:09:35] (XEN) r9:  0000000000000000   r10: 0000000000000000   r11: 0000000000000000
[2024-04-25 16:09:35] (XEN) r12: 0000000000000000   r13: 0000000000000000   r14: 0000000000000000
[2024-04-25 16:09:35] (XEN) r15: 0000000000000000   cr0: 0000000000000011   cr4: 0000000000000000
[2024-04-25 16:09:35] (XEN) cr3: 0000000000000000   cr2: 0000000000000000
[2024-04-25 16:09:35] (XEN) fsb: 0000000000000000   gsb: 0000000000000000   gss: 0000000000000000
[2024-04-25 16:09:35] (XEN) ds: 0010   es: 0010   fs: 0010   gs: 0010   ss: 0010   cs: 0008

sys-usb works in PV mode, with which sdw-admin --apply succeeds.

  • fedora-39 is installed as part of --apply run
  • sys-* AppVMs use fedora-39 versions of their expected templates
  • basic client functionality requiring network access (login, first sync) completed successfully.
  • basic client functionality requiring USB support (export, print) completed successfully

@zenmonkeykstop
Copy link
Contributor Author

Checked to be sure - can't repro on a 6th-gen X1 Carbon. sys-usb is using sd-fedora-39-dvm and is booting and functional.

@cfm
Copy link
Member

cfm commented Apr 26, 2024

I've finished my testing in #999 (comment) and narrowed it down to sys-usb in HVM mode (which doesn't work) versus PV mode (which does). Everything else works as expected.

If we don't see this again in further testing, then either:

  1. I should prepare and run another upgrade scenario from v0.10 (quite time-expensive if I'm going to reset my main machine); or
  2. we should accept this change of mode as the workaround we'll recommend if anyone encounters it in production.

@cfm cfm moved this to In Progress in SecureDrop dev cycle Apr 26, 2024
@zenmonkeykstop
Copy link
Contributor Author

zenmonkeykstop commented Apr 26, 2024

Does the fedora-39 template in general fail for you in HVM mode? Like, rather than using our sd-fedora-39-dvm template, if you use fedora-39-dvm. If so, it might be worth flagging upstream.

@cfm
Copy link
Member

cfm commented May 1, 2024

In my latest testing sys-usb boots fine in HVM mode from both fedora-39-dvm and sd-fedora-39-dvm. I can't account for the initial failure without retesting on a fresh installation of Qubes 4.1. Let me know if you think that's worthwhile.

@zenmonkeykstop
Copy link
Contributor Author

zenmonkeykstop commented May 3, 2024

Preflight test:

  • scenario: fresh install.
  • hardware: 6th-gen X1 Carbon
  • Qubes version: 4.1.2

Prep:

Testing:

  • RPM installs successfully in dom0
  • with config in place, sdw-admin --apply completes successfully
  • fedora-39 wis installed as part of --apply run
  • sys-* AppVMs use fedora-39 versions of their expected templates
  • basic client functionality requiring network access (login, first sync) completed successfully.
  • basic client functionality requiring USB support (export, print) completed successfully print not tested

@cfm
Copy link
Member

cfm commented May 3, 2024

Upgrade from v0.10.0 (with fedora-39 templates preinstalled)

Qubes 4.1.2 expected, please note hardware: ThinkPad T14

  • RPM installs succesfully via sudo dnf install <name> in dom0, replacing the existing 0.10.0 rpm
  • with config in place, sdw-admin --apply completes successfully
  • fedora-39 is installed as part of --apply run
  • sys-* AppVMs use fedora-39 versions of their expected templates
  • basic client functionality requiring network access (login, first sync) completed successfully.
  • basic client functionality requiring USB support (export, print) completed successfully

@legoktm
Copy link
Member

legoktm commented May 21, 2024

@legoktm legoktm closed this as completed May 21, 2024
@github-project-automation github-project-automation bot moved this from In Progress to Done in SecureDrop dev cycle May 21, 2024
@legoktm legoktm unpinned this issue May 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Archived in project
Development

No branches or pull requests

3 participants