After some tweaking I found out that using gthreads workers is
for some reason causing memory spikes and switching to standard
sync worker prevents those.
To make changing the gunicorn configuration more easily let's move
configuration values from systemd service to separate configuration
file.
The file will live in /etc/mailman3/gunicorn.conf.py.
The config is now provided by the mailman3 package and it's the same
provided by the ansible role.
And we have two of them in the role, probably a oversight.
Signed-off-by: Michal Konecny <mkonecny@redhat.com>
This script is added to implement
https://pagure.io/fedora-infrastructure/issue/11427
The script was already executed on staging environment and finished without
issue. It could be executed multiple times and only affects list that don't have
the settings set yet. I will document this as another step to take when creating
a new list.
Signed-off-by: Michal Konecny <mkonecny@redhat.com>
The index generated by the hyperkitty-hourly script generated unusually big
index (around 1TB).
This script should help with generating the search index from scratch, after
that we can leave it to hyperkitty-hourly job again.
Signed-off-by: Michal Konecny <mkonecny@redhat.com>
Mailman has huge memory spikes after migration, those are caused by visiting
`/archives/search` URL. This is probably because of the search index still being
regenerated.
This patch will disable the search from both web UI and as a HTTP URL endpoint.
Fixes https://pagure.io/fedora-infrastructure/issue/12043
Signed-off-by: Michal Konecny <mkonecny@redhat.com>
To be able to enable timer it needs to have WantedBy in [Install] section. Let's
add a hyperkitty.target to that section.
Signed-off-by: Michal Konecny <mkonecny@redhat.com>
The script was created for python2, so let's move it to python3 and fix anything
that is different from previous mailman version.
Signed-off-by: Michal Konecny <mkonecny@redhat.com>
This will add migration script for Fedora auth provider. This is only needed
when updating to Fedora auth provider using OpenID Connect.
Signed-off-by: Michal Konecny <mkonecny@redhat.com>
This is fixing the error `django.core.exceptions.ImproperlyConfigured: Passing a 3-tuple to include() is not supported. Pass a 2-tuple containing the list of patterns and app_name, and provide the namespace argument to include() instead.`
Signed-off-by: Michal Konecny <mkonecny@redhat.com>
It seems that the mailman update is more complicated than I originally thought. So I
decided to start with clean role and will slowly start adding new changes.
Signed-off-by: Michal Konecny <mkonecny@redhat.com>