Skip to content

Commit 833d706

Browse files
committed
release: add notes of FIPS build and release
Document FIPS builds and release. Related: SNAPDENG-35568 Signed-off-by: Maciej Borzecki <maciej.borzecki@canonical.com>
1 parent 4620040 commit 833d706

1 file changed

Lines changed: 32 additions & 0 deletions

File tree

RELEASE.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,33 @@ Push the version tag to the canonical/snapd repo by following the steps:
336336
6. Once you are done setting it up, save, click on the package (https://launchpad.net/~snappy-dev/+snap/snapd-2.XX), and request builds.
337337
7. Once the builds have completed, ensure the versions are correct by checking `snapcraft status snapd | grep beta/<version>`
338338
339+
##### 4.1 Create snapd FIPS builds for `fips-updates/beta/<version>` on Launchpad
340+
341+
Prerequisites:
342+
- You are a member of [Ubuntu Core/Snapd FIPS team](https://launchpad.net/~uc-snapd-fips) - if not, ask for an invite.
343+
- You have access to a FIPS enabled Ubuntu 24.04 or 22.04 system. An LXD VM which you can set up by running `pro attach <my-token> && pro enable fips-updates` is sufficient.
344+
345+
Repeat steps 1-4 from section 4, then:
346+
5. In yet another window open the [snapd-fips package edit page](https://launchpad.net/~ubuntu-advantage/fips-cc-stig/+snap/snapd-fips/+edit) for reference.
347+
6. Set `snapd-fips-<2.XX>` as the recipe name. The recipe **MUST** be owned by `ubuntu-advantage` and associated with `fips-cc-stig` project. The build **MUST** be done using `~ubuntu-advantage/ubuntu/pro-fips-updates` PPA for FIPS modules to be automatically located at build time. Use the same branch as for the non-FIPS build. Configure automatic store upload to `fips-updates/beta/<version>` branch. Only select `amd64` and `arm64` architectures. Save the package and request builds, double check that the right PPA is used for the builds.
348+
7. Once the builds have completed, ensure the versions are correct by checking `snapcraft status snapd | grep fips-updates/beta/<version>`. The snap version should be `2.XX+fips`.
349+
350+
**IMPORTANT: the `+fips` suffix is added automatically at build time once the relevant FIPS modules were found. If the suffix is missing, ensure that a correct PPA was enabled during the build.**
351+
352+
Post-build verification steps;
353+
8. In a FIPS enabled VM (confirm by `/proc/sys/crypto/fips_enabled` contains `1`), install snapd snap from the build branch.
354+
9. Confirm snapd snap version. Confirm the FIPS provider module is used at runtime by running: `pmap -p $(pidof snapd) |grep fips.so`.
355+
Example:
356+
```
357+
root@vu3-2404-pro-fips:~# pmap -p $(pidof snapd) |grep fips.so
358+
0000791b7697f000 100K r---- /snap/snapd/26976/usr/lib/x86_64-linux-gnu/ossl-modules-3/fips.so
359+
0000791b76998000 1068K r-x-- /snap/snapd/26976/usr/lib/x86_64-linux-gnu/ossl-modules-3/fips.so
360+
0000791b76aa3000 236K r---- /snap/snapd/26976/usr/lib/x86_64-linux-gnu/ossl-modules-3/fips.so
361+
0000791b76ade000 4K ----- /snap/snapd/26976/usr/lib/x86_64-linux-gnu/ossl-modules-3/fips.so
362+
0000791b76adf000 88K r---- /snap/snapd/26976/usr/lib/x86_64-linux-gnu/ossl-modules-3/fips.so
363+
0000791b76af5000 4K rw--- /snap/snapd/26976/usr/lib/x86_64-linux-gnu/ossl-modules-3/fips.so
364+
```
365+
339366
#### 5. Release to latest/beta
340367
341368
Prerequisites:
@@ -350,6 +377,11 @@ Steps:
350377
4. Update internal roadmap tracking, for example by marking Jira epics and releases as completed.
351378
5. Update GitHub milestones to close the released milestone
352379
380+
##### 5.1 Release of FIPS artifact to fips-updates/beta
381+
382+
1. Find the revisions for the snap in `fips-updates/beta/<version>` branch.
383+
2. For each architecture build (`amd64` and `arm64`), release it to `fips-updates` track by running `snapcraft release snapd <revision-number> fips-updates/beta`.
384+
353385
#### 6. Post-beta steps
354386
355387
1. Let snapd QA know that snapd was promoted to beta so they can verify that testing has started.

0 commit comments

Comments
 (0)