create dedicated deploy host for canary
This issue is to discuss the merits of creating a dedicated deploy host for canary. Currently canary and production share a deploy host, because the two stages share a database. This means the sequence for deploy is
canary
install on the gprd deploy host for production (run migrations) -> install gitlab-ee on the cny fleet
production
install gitlab-ee on the gprd fleet
There are issues with this approach:
- We don't explicitly run migrations when we deploy to production https://gitlab.com/gitlab-org/release/framework/issues/163 it assumes that migrations were done during the canary deploy.
- We stop chef on the production deploy VM when we deploy to canary, this means that the version will actually be reverted as soon as we start chef back up
I think there are two ways we can make this better:
- run migrations on the first host in the web fleet and get rid of the deploy host for migrations
- create a canary specific deploy host