Have GitLab rails package autodeploy version on the Postgres nodes
Summary
All the database nodes version pin the GitLab version, and also have deprecated configuration. This means that the GitLab version is on those nodes are never updated, and aren't in sync with the autodeploy packaging.
This turned into a problem when we were using the rails console on the delayed replica which inherits the version pinning as well. The data that was exported wasn't in the correct format, at least not all of it. This was because a newer version of GitLab changed the datatype so when we run project import
on GitLab.com from a project export
of GitLab 13.11 (2 years old) it resulted into.
Related Incident(s)
Originating issue(s): https://gitlab.com/gitlab-com/gl-infra/production/-/issues/7122
Proposal
-
Update the Chef roles for these Postgres Omnibus nodes so that Postgres is no longer enabled in gitlab.rb
-
Configure and run Postgres on them using our own cookbooks -
Add gprd-omnibus-version
andgstg-omnibus-version
to their runlists, so that we will automatically install whatever is currently deployed on staging/production environments when Chef is run.
Associated Services
Corrective Action Issue Checklist
-
Link the incident(s) this corrective action arose out of -
Give context for what problem this corrective action is trying to prevent from re-occurring -
Assign a severity label (this is the highest sev of related incidents, defaults to 'severity::4') -
Assign a priority (this will default to 'priority::4')
Edited by John Jarvis