Page MenuHomePhabricator

Install mailman3 and mailman2 at the same time on the cloud
Closed, ResolvedPublic

Description

To test exim4 and apache2 configs before deploying T278610: Install mailman3 on lists1001.wikimedia.org

Event Timeline

Change 675306 had a related patch set uploaded (by Ladsgroup; author: Ladsgroup):
[operations/puppet@production] lists: Make exim4 config of the old mailman agnostic to the domain

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

jijiki triaged this task as Medium priority.Mar 29 2021, 9:13 PM

Change 675306 merged by Legoktm:

[operations/puppet@production] lists: Make exim4 config of the old mailman agnostic to the domain

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

Change 678140 had a related patch set uploaded (by Ladsgroup; author: Ladsgroup):

[operations/puppet@production] lists: Make mailman2 easier to run on the cloud

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

I constantly get

AH00534: apache2: Configuration error: No MPM loaded.

trying to install mailamn2 on the cloud. I haven't figured out what's causing this after two hours of try and error but at this level it's personal.

root@mailman03:/etc/apache2# /usr/sbin/apache2 -X -k start
AH00534: apache2: Configuration error: No MPM loaded.
root@mailman03:/etc/apache2# a2enmod mpm_event
Considering conflict mpm_worker for mpm_event:
Considering conflict mpm_prefork for mpm_event:
Module mpm_event already enabled

...

Change 678140 merged by Legoktm:

[operations/puppet@production] lists: Make mailman2 easier to run on the cloud

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

Change 678300 had a related patch set uploaded (by Ladsgroup; author: Ladsgroup):

[operations/puppet@production] lists: Add option to enable mailman3 on lists

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

Change 678300 merged by Legoktm:

[operations/puppet@production] lists: Add option to enable mailman3 on lists

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

Change 680328 had a related patch set uploaded (by Ladsgroup; author: Ladsgroup):

[operations/puppet@production] exim: Add support for handling mailman3 inside mailman2 conf

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

Change 680335 had a related patch set uploaded (by Ladsgroup; author: Ladsgroup):

[operations/puppet@production] exim: Fix TLS cert for cloud (in mailman)

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

exim fully works.

The only thing broken currently is the archiver. The apache config is being weird probably:

WARNING 2021-04-16 15:25:54,418 10123 django.request Not Found: /hyperkitty/api/mailman/archive
[pid: 10123|app: 0|req: 48/48] 172.16.4.88 () {62 vars in 1211 bytes} [Fri Apr 16 15:25:54 2021] POST /hyperkitty/api/mailman/archive?key=<redacted> => generated 3886 bytes in 11 msecs (HTTP/1.1 404) 7 headers in 230 bytes (1 switches on core 0)
[Fri Apr 16 15:25:54.109507 2021] [proxy_http:debug] [pid 12009:tid 140593783097088] mod_proxy_http.c(1920): [client 172.16.4.88:59876] AH01113: HTTP: declining URL uwsgi://localhost/hyperkitty/api/mailman/urls

:|

I'm done for now, will check later.

So after several changes in puppetmaster of mailman in the cloud, it works now: https://polymorphic.lists.wmcloud.org/hyperkitty/hyperkitty/list/test4@polymorphic.lists.wmcloud.org/2021/4/

The weird part is that hyperkitty has to be repeated. I think the proxy pass rules I wrote in Apache is at fault. But removing the second /hyperkitty in the rule doesn't fix the problem. Apache's configuration system is my least favorite thing about software engineering so it would be great if someone take a look.

Other issues I noticed during tests.

  • Logs of mailman3 should have better permissions
  • When I send a message that gets stuck in moderation (due to non being a member), and when I approve it, I get a weird email saying "welcome to mailing list" meaning I was subscribed. The good thing is that it doesn't subscribe me so it's not a security concern.

Change 680328 merged by Legoktm:

[operations/puppet@production] exim: Add support for handling mailman3 inside mailman2 conf

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

Change 680335 merged by Legoktm:

[operations/puppet@production] exim: Fix TLS cert for mailman in cloud

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

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

[operations/puppet@production] lists: Fix mailman3 apache config

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

So after several changes in puppetmaster of mailman in the cloud, it works now: https://polymorphic.lists.wmcloud.org/hyperkitty/hyperkitty/list/test4@polymorphic.lists.wmcloud.org/2021/4/

The weird part is that hyperkitty has to be repeated. I think the proxy pass rules I wrote in Apache is at fault. But removing the second /hyperkitty in the rule doesn't fix the problem. Apache's configuration system is my least favorite thing about software engineering so it would be great if someone take a look.

Fixed and sent a test email to make sure the internal flow all works: https://polymorphic.lists.wmcloud.org/hyperkitty/list/test2@lists.wmcloud.org/thread/EZF5BD7WKECIBE556OBI55HD5KBR3IMT/

Actually that was the wrong list, I sent one to test4@polymorphic and it didn't get archived properly...ugh.

Change 681785 merged by Legoktm:

[operations/puppet@production] lists: Fix mailman3 apache config

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

Legoktm assigned this task to Ladsgroup.