Skip to content

Reload PostgreSQL configuration when Patroni is enabled

Hossein Pursultani requested to merge 5616-patroni-pg-config-fix into master

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?

  1. Deploy a Patroni cluster (you can use https://gitlab.com/pursultani/gitlab-patroni-test).
  2. Change postgresql[...], including postgresql['trust_auth_cidr_addresses'] or postgresql['md5_auth_cidr_addresses'], which will be reflected in pg_hba.conf, pg_ident.conf, postgresql.conf, or runtime.conf.
  3. Reconfigure the nodes. gitlab-ctl reconfigure must print out the output patronictl reload which means the node is reloaded.
  4. Check Patroni service logs. It must show that PostgreSQL received SIGHUP (it may take a few seconds < 10s).
  5. 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

Merge request reports