From 7c67bb29431e389bbe7a856f7087d9b15e2486c9 Mon Sep 17 00:00:00 2001 From: ITViking Date: Fri, 1 Nov 2024 13:13:14 +0100 Subject: [PATCH] rework the monthly deploy so it takes the need for syncing the webmaster envs into account --- ...nthly-release-to-editors-and-webmasters.md | 80 ++++++++++++------- 1 file changed, 50 insertions(+), 30 deletions(-) diff --git a/docs/runbooks/monthly-release-to-editors-and-webmasters.md b/docs/runbooks/monthly-release-to-editors-and-webmasters.md index 6fd7daf1..44aa67c2 100644 --- a/docs/runbooks/monthly-release-to-editors-and-webmasters.md +++ b/docs/runbooks/monthly-release-to-editors-and-webmasters.md @@ -20,36 +20,56 @@ release - 1. This usually mean last weeks release. 1. In your local environment ensure that your checkout of the `main` branch for `dpl-platform` is up to date. 2. Create a new branch from `main`. -3. Now update `infrastructure/environments/dplplat01/sites.yaml`: - 1. The 'x-defaults' anchors' 'dpl-cms-release' tag should be bumped to the - new version. - 2. Then update the 'moduletest-dpl-cms-release' of 'x-webmaster' - and 'x-webmaster-with-defaults' anchor. - 3. Now update 'dpl-cms-release' of the 'x-webmaster' anchor to the penultimate - version of the cms. -4. Commit the change and push your branch to GitHub and create a pull request. -5. Request a review for the change and wait for approval. -6. Start `dplsh` from the `/infrastructure` directory of your local - environment by running `../tools/dplsh/dplsh.sh` -7. Run `task cluster:mode:release` to get more nodes while deploying. -8. Run `task sites:sync` from `dplsh` to deploy the changes. -9. If there are any Terraform changes then do not apply them, abort the - deployment and consult the platform team. -10. Open the Deployments list page within the Lagoon UI to see all running and - queued deployments. -11. Wait for all the deployments to complete. -12. Run `task sites:incomplete-deployments` to identify any failed deployments. -13. If some deployments did not complete determine if the error relates to the - platform or the application. -14. For all platform-related errors try to redeploy the environment from - the Lagoon UI. -15. Merge the pull request once the deployment completes. -16. Run `task cluster:adjust:resource-request` from `dplsh`. -17. Run `task cluster:promote-workloads-to-prod` from `dplsh`. -18. Reset the webmaster moduletest environments. -19. Run 'task cluster:mode:reset' from `dplsh`. - -## Procedure: a some sites fails to deploy +3. Release to webmaster production: + 1. Update 'dpl-cms-release' of the 'x-webmaster' anchor to the penultimate + version of the CMS. + 4. Commit the change and push your branch to GitHub and create a pull request. + 5. Request a review for the change and wait for approval. + 6. Start `dplsh` from the `/infrastructure` directory of your local + environment by running `../tools/dplsh/dplsh.sh` + 7. Run `task cluster:mode:release` to get more nodes while deploying. + 8. Run `task sites:sync` from `dplsh` to deploy the changes. + 9. If there are any Terraform changes then do not apply them, abort the + deployment and consult the platform team. + 10. Open the Deployments list page within the Lagoon UI to see all running and + queued deployments. + 11. Wait for all the deployments to complete. + 12. Run `task sites:incomplete-deployments` to identify any failed deployments. + 13. If some deployments did not complete determine if the error relates to the + platform or the application. + 14. For all platform-related errors try to redeploy the environment from + the Lagoon UI. + 15. Merge the pull request once the deployment completes. + 16. Synchronize moduletest with main,so moduletest becomes an exact + copy of main by running `task sites:webmaster:reset-moduletest`. +4. Create a new branch from `main`. +5. Release to editors and webmaster moduletest: + 1. Now update `infrastructure/environments/dplplat01/sites.yaml`: + 2. The 'x-defaults' anchors' 'dpl-cms-release' tag should be bumped to the + new version. + 3. Then update the 'moduletest-dpl-cms-release' of 'x-webmaster' + and 'x-webmaster-with-defaults' anchor with the newest release. + 4. Commit the change and push your branch to GitHub and create a pull request. + 5. Request a review for the change and wait for approval. + 6. Start `dplsh` from the `/infrastructure` directory of your local + environment by running `../tools/dplsh/dplsh.sh` + 7. Run `task sites:sync` from `dplsh` to deploy the changes. + 8. If there are any Terraform changes then do not apply them, abort the + deployment and consult the platform team. + 9. Open the Deployments list page within the Lagoon UI to see all running and + queued deployments. + 10. Wait for all the deployments to complete. + 11. Run `task sites:incomplete-deployments` to identify any failed deployments. + 12. If some deployments did not complete determine if the error relates to the + platform or the application. + 13. For all platform-related errors try to redeploy the environment from + the Lagoon UI. + 14. Merge the pull request once the deployment completes. +6. Run `task cluster:adjust:resource-request` from `dplsh`. +7. Run `task cluster:promote-workloads-to-prod` from `dplsh`. +8. Run 'task cluster:mode:reset' from `dplsh`. + +## Procedure: some sites fails to deploy We have experience this quite a lot. We have gathered a list of known issues and how to solve them a troubleshoot [runbook](troubleshoot-release-deployment.md)