From a5216f3ce34ddaa3424f52d3c6586ae6b30235c6 Mon Sep 17 00:00:00 2001 From: Lena Voytek Date: Wed, 19 Nov 2025 16:16:51 -0500 Subject: [PATCH 1/3] Add SRU exception for Valkey --- .../reference/exception-Valkey-Updates.rst | 133 ++++++++++++++++++ docs/SRU/reference/package-specific.rst | 10 ++ 2 files changed, 143 insertions(+) create mode 100644 docs/SRU/reference/exception-Valkey-Updates.rst diff --git a/docs/SRU/reference/exception-Valkey-Updates.rst b/docs/SRU/reference/exception-Valkey-Updates.rst new file mode 100644 index 00000000..e6890cda --- /dev/null +++ b/docs/SRU/reference/exception-Valkey-Updates.rst @@ -0,0 +1,133 @@ +.. _reference-exception-ValkeyUpdates: + +.. _valkey_updates: + +Valkey Updates +=============== + +This document describes the policy for doing micro-release updates of +the Valkey package in Ubuntu stable releases. + +.. _about_valkey: + +About Valkey +------------ + +`Valkey `__ is an open source VPN high-performance +key/value datastore that supports a variety of workloads such as caching, +message queues, and can act as a primary database. + + +Valkey Upstream release policy +------------------------------- + +The Valkey community maintains multiple versions in parallel. According +to their `supported versions +documentation `__: + +- The latest stable release is always fully supported and maintained. +- All latest minor version of each major version will have extended + security support for 5 years. +- Every minor release will be fully supported with bug fixes for 3 years. + +When it comes to updates in Ubuntu, the latest micro release for each +corresponding minor release should be considered for SRU. When security updates +are included in a new micro release, the update should also be added to the +security pocket through a no-change rebuild after releasing to the updates +pocket. + +.. _ubuntu_and_valkey_releases_affected_by_this_mre: + +Ubuntu and Valkey releases affected by this MRE +------------------------------------------------ + +Currently, these are the Ubuntu releases and the corresponding Valkey +package versions affected by this policy: + +- Resolute (26.04): Valkey 9.0.x (projected) +- Questing (25.10): Valkey 8.1.x +- Plucky (25.04): Valkey 8.0.x +- Noble (24.04): Valkey 7.2.x + +QA +-- + +Upstream tests +^^^^^^^^^^^^^^ + +Valkey contains a set of build and regression tests which are executed +for each commit and release via `GitHub +Actions `__. Upstream tests +are provided in the `tests/ +directory `__. + +Autopkgtest +^^^^^^^^^^^ + +The package contains five DEP-8 tests in every supported Ubuntu release, along +with one extra in noble and plucky: + +- valkey-cli - Smoke test to confirm valkey-cli can show info and version. +- benchmark - Run the benchmark command and display its info. +- valkey-check-aof - Smoke test to confirm the check-aof command runs. +- valkey-check-rdb - Run a synchronous save then confirm the check-rdb command + runs successfully. +- cjson - Confirm the cjson module can be loaded and used. +- migrate-from-redis - (Noble and Plucky only) Confirm that using the + valkey-redis-compat package to migrate data from a Redis server succeeds by + default. + +These tests are extensive enough to catch major errors when it comes to +the integration of Valkey with Ubuntu, specifically when starting valkey-server +and running standard cli commands, along with issues in setup and compatibility +with Redis if relevant. + +Valkey Update Process +---------------------- + +As with regular MREs, the aim here is to offer bugfixes and security +fixes to all supported releases. + +To do this we will: + +#. File a bug to cover the upgrade. + + - Add tasks to all Ubuntu releases which will be updated. + - Add a link to the upstream changelog and list major changes. + +#. Make sure the development release contains the fixes that will be added. In general this should be the case as long as it is up to date with its associated micro release version. +#. Setup merges with each new version. +#. Run autopkgtest on all supported architectures. +#. Upload the microrelease to the SRU queue and wait until it is approved. +#. Watch the migration page until it lands in the -updates pocket. Fix any regression that might appear during the process. + + +Valkey SRU template +-------------------- + +.. code-block:: text + + This bug tracks an update for the Valkey package, moving to versions: + + * [Release codename] ([Release version]): Valkey [Valkey version - highest possible number on the last digit] + * [...] + + These updates include bug fixes following the SRU special case documentation at https://documentation.ubuntu.com/sru/en/latest/reference/exception-Valkey-Updates + + [Upstream changes] + + TODO: List updates, CVE fixes, and relevant bug fixes + TODO: Add a link to the upstream changelog + + [Test Plan] + + TODO: Check DEP-8 and reverse-depends DEP-8 tests pass + TODO: if there are any non passing tests - explain why that is ok in this case + TODO: add results of an autopkgtest run against all the new versions + + [Regression Potential] + + Upstream has an extensive build and integration test suite. So regressions would likely arise from a change in interaction with Ubuntu-specific integrations. + + TODO: consider any other regression potential specific to the version being + updated and list if any. diff --git a/docs/SRU/reference/package-specific.rst b/docs/SRU/reference/package-specific.rst index 4257d36a..ed3f5482 100644 --- a/docs/SRU/reference/package-specific.rst +++ b/docs/SRU/reference/package-specific.rst @@ -75,6 +75,7 @@ the Technical Board. exception-google-guest-agent-Updates exception-google-osconfig-agent-Updates exception-rax-nova-agent-Updates + exception-Valkey-Updates exception-walinuxagent-Updates exception-wslu-Updates @@ -536,6 +537,15 @@ The 'mariadb' and 'galera' source packages, including source package variants with version suffixes, may be uploaded according to the proceedure documented in :ref:`MariaDB-Galera-Updates `. +Valkey +~~~~~~ + +The valkey source package may be uploaded according to the procedure +documented in :ref:`Valkey-Updates `. +This stable release exception `has been +approved `__ by [TBD] for the +SRU team as of [TBD]. + GRUB ~~~~ From 5becb4afd26085acab99cc484c6f58df6b0b1361 Mon Sep 17 00:00:00 2001 From: Lena Voytek Date: Thu, 20 Nov 2025 08:37:48 -0500 Subject: [PATCH 2/3] Add section on avoiding breaking changes --- docs/SRU/reference/exception-Valkey-Updates.rst | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/docs/SRU/reference/exception-Valkey-Updates.rst b/docs/SRU/reference/exception-Valkey-Updates.rst index e6890cda..418b7e43 100644 --- a/docs/SRU/reference/exception-Valkey-Updates.rst +++ b/docs/SRU/reference/exception-Valkey-Updates.rst @@ -82,6 +82,20 @@ the integration of Valkey with Ubuntu, specifically when starting valkey-server and running standard cli commands, along with issues in setup and compatibility with Redis if relevant. +.. _valkey_avoiding_breaking_changes: + +Avoiding Breaking Changes +------------------------- + +In order to confirm that upstream continues to match our expectation of +backwards compatibility in micro releases, additional due diligence must be +done by whoever prepares the SRU. Prior to merging, version release notes and +announcements from upstream must be checked for backwards-incompatible changes. +Any change that may fit this description must be noted in the bug report. Also, +prior to uploading, discuss with the SRU team as to how to handle the changes. +This may result in a reversion of the backwards-incompatible changes through +patches. + Valkey Update Process ---------------------- @@ -94,6 +108,7 @@ To do this we will: - Add tasks to all Ubuntu releases which will be updated. - Add a link to the upstream changelog and list major changes. + - Look through changelogs and announcements to check for backwards-incompatible changes, and note them down. #. Make sure the development release contains the fixes that will be added. In general this should be the case as long as it is up to date with its associated micro release version. #. Setup merges with each new version. @@ -119,6 +134,8 @@ Valkey SRU template TODO: List updates, CVE fixes, and relevant bug fixes TODO: Add a link to the upstream changelog + TODO: Specifically note any backwards-incompatible changes or features added by upstream and their announcements/release notes and relevant commits. + [Test Plan] TODO: Check DEP-8 and reverse-depends DEP-8 tests pass From 8a30db3b3a120269a2860ca29b2a8e71c65f840d Mon Sep 17 00:00:00 2001 From: Lena Voytek Date: Thu, 20 Nov 2025 08:51:24 -0500 Subject: [PATCH 3/3] Add note on why minor releases are not considered --- docs/SRU/reference/exception-Valkey-Updates.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/SRU/reference/exception-Valkey-Updates.rst b/docs/SRU/reference/exception-Valkey-Updates.rst index 418b7e43..f4335d11 100644 --- a/docs/SRU/reference/exception-Valkey-Updates.rst +++ b/docs/SRU/reference/exception-Valkey-Updates.rst @@ -36,6 +36,12 @@ are included in a new micro release, the update should also be added to the security pocket through a no-change rebuild after releasing to the updates pocket. +Note that Valkey has strict rules for maintaining compatibility between micro +releases. However, minor and major releases often contain +backwards-incompatible changes. Therefore, only micro releases should be +considered for SRU, and a minor release update should go through the normal +SRU process. + .. _ubuntu_and_valkey_releases_affected_by_this_mre: Ubuntu and Valkey releases affected by this MRE