Page MenuHomePhabricator

Reconsider which mailman3 version we're running
Closed, ResolvedPublic

Description

We are running the mailman3 packages from Debian Buster (~Feb 2019). So far every upstream bug that's been reported/encountered has already been fixed upstream, so we're just rediscovering them and cherry-picking. We should consider backporting the packages in Debian Bullseye and using those.

Event Timeline

jijiki triaged this task as Medium priority.Mar 31 2021, 1:57 PM

I went through the upstream changelog, there are some improvements to the list import process, as well as implementing bounce processing. Given that we have to pay this upgrade cost at some point anyways, I think we should just pay it now and backport the versions of mailman3 suite in bullseye to buster.

Pros:

  • Much closer to upstream for reporting bugs plus cherry-picking fixes
  • bullseye upgrade becomes trivial
  • get to test upgrade process now (especially schema updates)
  • more bug fixes / features

Cons:

  • newer software is potentially buggier (old software has known bugs vs unknown bugs)
  • requires maintaining our own backports, not covered by Debian security team until we upgrade to bullseye (should be a short timespan)

Later this week I think I'll investigate what it would take to do backports for everything (aka just do the backports and see how involved it is).

What's the timeline for the actual Mailman 3 migration? Early steps for making bullseye usable are ongoing and we'll be able to run a few machines on bullseye even before it's finally released (we've done that for buster before, I'm keeping an eye on security packages and those pilots installs manually and if necessary we pull sec updates from sid (before they migrated or roll out local fixes). If this can wait two more weeks (by then base should be ready), let's directly install the Mailman 3 systems with bullseye?

What's the timeline for the actual Mailman 3 migration?

Probably have a real mailman3 install in a monthish, and then migrate lists gradually.

Early steps for making bullseye usable are ongoing and we'll be able to run a few machines on bullseye even before it's finally released (we've done that for buster before, I'm keeping an eye on security packages and those pilots installs manually and if necessary we pull sec updates from sid (before they migrated or roll out local fixes). If this can wait two more weeks (by then base should be ready), let's directly install the Mailman 3 systems with bullseye?

Our transition plan is to install mailman3 on the current mailman2 host (lists1001) so we can serve both from lists.wikimedia.org (see T278610: Install mailman3 on lists1001.wikimedia.org and T256539: Figure out a way to sync old and new mailman). So we either backport mailman3 to buster or forward-port mailman2 to bullseye (or come up with a new migration plan entirely)...I think doing the buster backports will be the easier option.

Our transition plan is to install mailman3 on the current mailman2 host (lists1001) so we can serve both from lists.wikimedia.org (see T278610: Install mailman3 on lists1001.wikimedia.org and T256539: Figure out a way to sync old and new mailman).

Ah, ok! In that case better a backport to buster seems indeed like the better option.

Change 678128 had a related patch set uploaded (by Legoktm; author: Legoktm):

[operations/puppet@production] aptrepo: Add "mailman3" component

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

Change 678128 merged by Legoktm:

[operations/puppet@production] aptrepo: Add "mailman3" component

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

Mentioned in SAL (#wikimedia-operations) [2021-04-09T00:49:37Z] <legoktm> imported mailman3 backports on apt.wm.o (T278905)

Change 678134 had a related patch set uploaded (by Legoktm; author: Legoktm):

[operations/puppet@production] mailman3: Use backported packages from component/mailman3

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

I didn't actually check what the schema changes, if any, look like. We should probably be aware of that before testing the upgrade in Cloud (and probably take a quick mysqldump first) and then coordinate with DBAs for lists-next.

Change 678134 merged by Legoktm:

[operations/puppet@production] mailman3: Use backported packages from component/mailman3

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

We're going with bullseye packages, but it has introduced some regressions.