Reload PostgreSQL configuration when Patroni is enabled
What does this MR do?
This MR ensures that subsequent changes to PostgreSQL configuration, including pg_hba.conf
, pg_ident.conf
, and runtime.conf
, will be reloaded when gitlab-ctl reconfigure
is invoked.
How to test it?
- Deploy a Patroni cluster (you can use https://gitlab.com/pursultani/gitlab-patroni-test).
- Change
postgresql[...]
, includingpostgresql['trust_auth_cidr_addresses']
orpostgresql['md5_auth_cidr_addresses']
, which will be reflected inpg_hba.conf
,pg_ident.conf
,postgresql.conf
, orruntime.conf
. - Reconfigure the nodes.
gitlab-ctl reconfigure
must print out the outputpatronictl reload
which means the node is reloaded. - Check Patroni service logs. It must show that PostgreSQL received
SIGHUP
(it may take a few seconds < 10s). - Check the Patroni cluster. The leader and replicas must not change as a result of the reconfiguration.
Related issues
Closes #5616 (closed)
Checklist
See Definition of done.
For anything in this list which will not be completed, please provide a reason in the MR discussion
Required
-
Merge Request Title, and Description are up to date, accurate, and descriptive -
MR targeting the appropriate branch -
MR has a green pipeline on GitLab.com -
Pipeline is green on dev.gitlab.org if the change is touching anything besides documentation or internal cookbooks -
trigger-package
has a green pipeline running against latest commit
Expected (please provide an explanation if not completing)
-
Test plan indicating conditions for success has been posted and passes -
Documentation created/updated -
Tests added -
Integration tests added to GitLab QA -
Equivalent MR/issue for the GitLab Chart opened
Edited by Hossein Pursultani