From a32a57f0401973b9d2a78903409208600e1aa586 Mon Sep 17 00:00:00 2001 From: Lee Briggs Date: Wed, 8 Sep 2021 11:34:37 -0700 Subject: [PATCH 1/6] Don't replace PVCs when resources change --- provider/pkg/provider/diff.go | 1 - provider/pkg/provider/diff_test.go | 9 +++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/provider/pkg/provider/diff.go b/provider/pkg/provider/diff.go index d793e46d95..aa006766ad 100644 --- a/provider/pkg/provider/diff.go +++ b/provider/pkg/provider/diff.go @@ -109,7 +109,6 @@ var core = _versions{ ".spec.accessModes", ".spec.resources", ".spec.resources.limits", - ".spec.resources.requests", ".spec.selector", ".spec.storageClassName", ".spec.volumeName", diff --git a/provider/pkg/provider/diff_test.go b/provider/pkg/provider/diff_test.go index d5bd94bcd4..3f3209026d 100644 --- a/provider/pkg/provider/diff_test.go +++ b/provider/pkg/provider/diff_test.go @@ -158,6 +158,15 @@ func TestPatchToDiff(t *testing.T) { oldInputs: object{"spec": object{"containers": list{object{"name": "nginx", "image": "nginx"}}}}, expected: expected{}, }, + { + name: `PVC resources don't trigger a replace.`, + group: "core", version: "v1", kind: "PersistentVolumeClaim", + old: object{"spec": object{"resources": object{"requests": object{"storage": "10Gi"}}}}, + new: object{"spec": object{"resources": object{"requests": object{"storage": "20Gi"}}}}, + expected: expected{ + "spec.resources.requests.storage": UR, + }, + }, } for _, tt := range tests { From 41c8861c35e1e968fbbbfe06482d7f8c475de061 Mon Sep 17 00:00:00 2001 From: Lee Briggs Date: Wed, 8 Sep 2021 11:40:46 -0700 Subject: [PATCH 2/6] gofmt --- provider/pkg/provider/diff_test.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/provider/pkg/provider/diff_test.go b/provider/pkg/provider/diff_test.go index 3f3209026d..5ab288e0a5 100644 --- a/provider/pkg/provider/diff_test.go +++ b/provider/pkg/provider/diff_test.go @@ -159,10 +159,10 @@ func TestPatchToDiff(t *testing.T) { expected: expected{}, }, { - name: `PVC resources don't trigger a replace.`, + name: `PVC resources don't trigger a replace.`, group: "core", version: "v1", kind: "PersistentVolumeClaim", - old: object{"spec": object{"resources": object{"requests": object{"storage": "10Gi"}}}}, - new: object{"spec": object{"resources": object{"requests": object{"storage": "20Gi"}}}}, + old: object{"spec": object{"resources": object{"requests": object{"storage": "10Gi"}}}}, + new: object{"spec": object{"resources": object{"requests": object{"storage": "20Gi"}}}}, expected: expected{ "spec.resources.requests.storage": UR, }, From 21a3cb53f010c7eaac970c293b17b02b0b28c4df Mon Sep 17 00:00:00 2001 From: Lee Briggs Date: Wed, 8 Sep 2021 12:05:10 -0700 Subject: [PATCH 3/6] add changelog entry --- CHANGELOG.md | 3 ++- provider/pkg/provider/diff_test.go | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e89249d94..879849b6c5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ ## HEAD (Unreleased) -(None) + +- Don't replace PVC on .spec.resources.requests change. (https://github.com/pulumi/pulumi-kubernetes/pull/1705) ## 3.7.0 (September 3, 2021) - Add initial support for a Helm release resource - `kubernetes:helm.sh/v3:Release. Currently available in Beta (https://github.com/pulumi/pulumi-kubernetes/pull/1677) diff --git a/provider/pkg/provider/diff_test.go b/provider/pkg/provider/diff_test.go index 5ab288e0a5..ae7d4e71b0 100644 --- a/provider/pkg/provider/diff_test.go +++ b/provider/pkg/provider/diff_test.go @@ -164,7 +164,7 @@ func TestPatchToDiff(t *testing.T) { old: object{"spec": object{"resources": object{"requests": object{"storage": "10Gi"}}}}, new: object{"spec": object{"resources": object{"requests": object{"storage": "20Gi"}}}}, expected: expected{ - "spec.resources.requests.storage": UR, + "spec.resources.requests.storage": U, }, }, } From d169413c035110185ddd7805de53100b609a0f7d Mon Sep 17 00:00:00 2001 From: Lee Briggs Date: Fri, 10 Sep 2021 09:11:58 -0700 Subject: [PATCH 4/6] fix replacement on PVCs --- provider/pkg/provider/diff.go | 3 --- 1 file changed, 3 deletions(-) diff --git a/provider/pkg/provider/diff.go b/provider/pkg/provider/diff.go index aa006766ad..40226c4e03 100644 --- a/provider/pkg/provider/diff.go +++ b/provider/pkg/provider/diff.go @@ -105,10 +105,7 @@ var core = _versions{ }), "PersistentVolumeClaim": append( properties{ - ".spec", ".spec.accessModes", - ".spec.resources", - ".spec.resources.limits", ".spec.selector", ".spec.storageClassName", ".spec.volumeName", From 1cc316112fe207f2638e6f07dfc662cf57d30275 Mon Sep 17 00:00:00 2001 From: Lee Briggs Date: Fri, 10 Sep 2021 10:35:55 -0700 Subject: [PATCH 5/6] add changelog note --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 879849b6c5..405f058b1d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ ## HEAD (Unreleased) - Don't replace PVC on .spec.resources.requests change. (https://github.com/pulumi/pulumi-kubernetes/pull/1705) + - *NOTE*: User's will now need to use need to use the `replaceOnChanges` resource option for PVCs if modifying the size ## 3.7.0 (September 3, 2021) - Add initial support for a Helm release resource - `kubernetes:helm.sh/v3:Release. Currently available in Beta (https://github.com/pulumi/pulumi-kubernetes/pull/1677) From a2c8a4170f656d390ced183e9a3916c7aab36973 Mon Sep 17 00:00:00 2001 From: Vivek Lakshmanan Date: Fri, 10 Sep 2021 13:33:03 -0700 Subject: [PATCH 6/6] Update CHANGELOG.md --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 405f058b1d..07928f40fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ ## HEAD (Unreleased) -- Don't replace PVC on .spec.resources.requests change. (https://github.com/pulumi/pulumi-kubernetes/pull/1705) - - *NOTE*: User's will now need to use need to use the `replaceOnChanges` resource option for PVCs if modifying the size +- Don't replace PVC on .spec.resources.requests or .limits change. (https://github.com/pulumi/pulumi-kubernetes/pull/1705) + - *NOTE*: User's will now need to use the `replaceOnChanges` resource option for PVCs if modifying requests or limits to trigger replacement ## 3.7.0 (September 3, 2021) - Add initial support for a Helm release resource - `kubernetes:helm.sh/v3:Release. Currently available in Beta (https://github.com/pulumi/pulumi-kubernetes/pull/1677)