Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for zero-downtime updates #239

Closed
LongLiveCHIEF opened this issue Jun 2, 2018 · 2 comments
Closed

Add support for zero-downtime updates #239

LongLiveCHIEF opened this issue Jun 2, 2018 · 2 comments

Comments

@LongLiveCHIEF
Copy link
Contributor

LongLiveCHIEF commented Jun 2, 2018

Whenever a node is utilized as a deploy node, the gitlab-ctl reconfigure command should be run with an env of SKIP_POST_DEPLOYMENT_MIGRATIONS=true. This shouldn't be a permanent env variable, for the node, so it makes sense to add a conditional to the Exec['gitlab_reconfigure that sets the env => attribute whenever a node is identified by a deploy_node boolean variable for the module.

Additionally, the Service['gitlab-runsvdir'] service is not designed to be restarted, and thus should not subscribe to config/package changes unless the implementor explicitly has a reason to do so. gitlab-runsvdir is a supervisor for the bundle of gitlab services on the host, and gitlab-ctl reconfigure refreshes these services depending on the configs that changed.

If puppet sends a refresh signal to the service, it will cause gitlab services to shut down, and make it impossible to do zero downtime updates.

Zero Downtime Updates Doc: https://docs.gitlab.com/omnibus/update/README.html#zero-downtime-updates`

@LongLiveCHIEF LongLiveCHIEF added this to the Gitlab HA Support milestone Jun 2, 2018
LongLiveCHIEF added a commit to LongLiveCHIEF/puppet-gitlab that referenced this issue Jun 2, 2018
- moved host_config to front
- moved omnibus_config in front of install
 - closes voxpupuli#240
- made service a non-subscribe in init.pp ordering
 - required for voxpupuli#239
LongLiveCHIEF added a commit to LongLiveCHIEF/puppet-gitlab that referenced this issue Jun 2, 2018
- moved host_config to front
- moved omnibus_config in front of install
 - closes voxpupuli#240
- made service a non-subscribe in init.pp ordering
 - required for voxpupuli#239

 closes voxpupuli#237
@baurmatt
Copy link
Contributor

baurmatt commented Jul 6, 2018

If you run Gitlab in a single server setup, you do not have a "deploy node" but you might need SKIP_POST_DEPLOYMENT_MIGRATIONS as well :)

@LongLiveCHIEF
Copy link
Contributor Author

Yeah, that's why I worded it the way I did (not mentioning HA specifically). It's labeled with the HA Support Milestone merely because we can't really claim this module supports HA fully until this feature works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants