From cfc1621c06f038c76bb3277f8ef932bc8064f8a3 Mon Sep 17 00:00:00 2001 From: Stefan Prodan Date: Tue, 2 Oct 2018 00:24:18 +0300 Subject: [PATCH] Scale up the deployment when canary revision changes --- README.md | 10 ++-- artifacts/rollouts/podinfo.yaml | 3 - artifacts/steerer/deployment.yaml | 2 +- docs/steerer-0.0.1.tgz | Bin 3132 -> 3135 bytes pkg/controller/deployment.go | 95 ++++++++++++++++++++++++------ pkg/version/version.go | 2 +- 6 files changed, 84 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 1012d5aa..4ceb8709 100644 --- a/README.md +++ b/README.md @@ -321,9 +321,6 @@ Trigger a new rollout by updating the canary image: ```bash kubectl -n test set image deployment/podinfo-canary \ podinfod=quay.io/stefanprodan/podinfo:1.2.1 - -kubectl -n test scale deployment/podinfo-canary \ ---replicas=1 ``` Steer detects that the canary revision changed and starts a new rollout: @@ -332,14 +329,15 @@ Steer detects that the canary revision changed and starts a new rollout: kubectl -n test describe rollout/podinfo Status: - Canary Revision: 16871136 + Canary Revision: 19871136 Failed Checks: 0 State: finished Events: Type Reason Age From Message ---- ------ ---- ---- ------- - Normal Synced 3m steerer Waiting for podinfo.test rollout to finish: 0 of 1 updated replicas are available - Normal Synced 3m steerer Starting rollout for podinfo.test + Normal Synced 3m steerer New revision detected podinfo-canary.test old 17211012 new 17246876 + Normal Synced 3m steerer Scaling up podinfo.test + Warning Synced 3m steerer Waiting for podinfo.test rollout to finish: 0 of 1 updated replicas are available Normal Synced 3m steerer Advance rollout podinfo.test weight 10 Normal Synced 3m steerer Advance rollout podinfo.test weight 20 Normal Synced 3m steerer Advance rollout podinfo.test weight 30 diff --git a/artifacts/rollouts/podinfo.yaml b/artifacts/rollouts/podinfo.yaml index aa8a7608..e7270a93 100644 --- a/artifacts/rollouts/podinfo.yaml +++ b/artifacts/rollouts/podinfo.yaml @@ -7,9 +7,6 @@ apiVersion: apps.weave.works/v1beta1 kind: Rollout metadata: - annotations: - apps.weave.works/canary-revision: "" - apps.weave.works/status: "" name: podinfo namespace: test spec: diff --git a/artifacts/steerer/deployment.yaml b/artifacts/steerer/deployment.yaml index f03fcdff..7062bba6 100644 --- a/artifacts/steerer/deployment.yaml +++ b/artifacts/steerer/deployment.yaml @@ -22,7 +22,7 @@ spec: serviceAccountName: steerer containers: - name: steerer - image: stefanprodan/steerer:0.0.1-rc.6 + image: stefanprodan/steerer:0.0.1-rc.18 imagePullPolicy: Always ports: - name: http diff --git a/docs/steerer-0.0.1.tgz b/docs/steerer-0.0.1.tgz index 8195d067774a5ea8ed1d4d98b70d6a223535fa6f..d56042318ad922d49d7cad45314c0ca9d67f8204 100644 GIT binary patch delta 3105 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