Page MenuHomePhabricator

Cassandra upgrades to Debian Bookworm
Open, MediumPublic

Description

Timeline:
2024-08-14Bullseye becomes deprecated
2025-09-01Bullseye is officially end-of-life
Clusters:
  • cassandra-dev
  • RESTBase
  • AQS
  • sessionstore
NOTE: Most of these hosts are pending a vlan migration (see: T354871 & T421719); Reimage should include the --move-vlan option
Blockers:

RESTBase: It (the service) is co-located on the storage cluster and runs on nodejs 12. Bookworm ships with nodejs 18. At a minimum, restbase needs to be tested/made to support nodejs 18, or (ideally) decommissioned from the storage cluster.

Tasks:
  • Create Cassandra APT repository components for Bookworm (component/cassandra{41,dev})
  • Alternative deployment strategy for logstash-logback-encoder jars (see: T357739) — now optional

See also:

https://wikitech.wikimedia.org/wiki/Operating_system_upgrade_policy
https://phabricator.wikimedia.org/tag/restbase_sunsetting/
T354871: Re-IP hosts running Cassandra to per-rack subnets in codfw row A and B.
T421719: Data persistance: Re-IP eqiad private baremetal hosts to new per-rack vlans/subnets

Details

Related Objects

Event Timeline

Eevans triaged this task as Medium priority.Feb 16 2024, 4:58 PM
Eevans updated the task description. (Show Details)

Officially, Cassandra supports running with Java 11 (https://cassandra.apache.org/doc/4.1/cassandra/getting_started/java11.html), which doesn't ship in Bookworm. I reckon that Java 17 ought to work —we could test it and see how things go— but if we're the only ones then there will always be risk. @MoritzMuehlenhoff, what are our options for Java 11? Would we be able to import it from unstable? What would security support mean?

Officially, Cassandra supports running with Java 11 (https://cassandra.apache.org/doc/4.1/cassandra/getting_started/java11.html), which doesn't ship in Bookworm. I reckon that Java 17 ought to work —we could test it and see how things go— but if we're the only ones then there will always be risk. @MoritzMuehlenhoff, what are our options for Java 11? Would we be able to import it from unstable? What would security support mean?

We can't just import from unstable, it would need to be rebuilt (and that would need to happen for every security update as well), so that's a large chunk of work to commit to. We can however simply give things a try on bullseye before the update: Bullseye ships Java 11 and 17 and cassandra uses the Java profile, so we can switch single nodes of the existing Cassandra clusters to Java 17 on Bullseye to test this.

Change #1325922 had a related patch set uploaded (by Eevans; author: Eevans):

[operations/puppet@production] aptrepo: Create cassandra50 bookworm component

https://gerrit.wikimedia.org/r/1325922

Change #1325922 merged by Eevans:

[operations/puppet@production] aptrepo: Create cassandra50 bookworm component

https://gerrit.wikimedia.org/r/1325922