k3s/hack
Kubernetes Submit Queue 80ea31fcbf Merge pull request #50296 from mengqiy/addApplyTestForReplacekeys
Automatic merge from submit-queue (batch tested with PRs 50919, 51410, 50099, 51300, 50296)

Add `retainKeys` to patchStrategy for v1 Volumes and extentions/v1beta1 DeploymentStrategy

Add `retainKeys` to patchStrategy for v1 Volumes and extentions/v1beta1 DeploymentStrategy.

With the new value in `patchStrategy`, the patch will include an optional directive that will tell the apiserver to clear defaulted fields and update. This will resolve issue like https://github.com/kubernetes/kubernetes/issues/34292#issue-181572469 and similar issue caused by defaulting in volume.

The change is [backward compatible](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/add-new-patchStrategy-to-clear-fields-not-present-in-patch.md#version-skew).

The proposal for this new patch strategy is in https://github.com/kubernetes/community/blob/master/contributors/design-proposals/add-new-patchStrategy-to-clear-fields-not-present-in-patch.md

The implementation to support the new patch strategy's logic is in #44597 and has been merged in 1.7.

```release-note
Add `retainKeys` to patchStrategy for v1 Volumes and extentions/v1beta1 DeploymentStrategy.
```

/assign @apelisse 
/assign @janetkuo for deployment change
/assign @saad-ali for volume change
2017-08-29 03:20:10 -07:00
..
boilerplate
cmd/teststale
e2e-internal
gen-swagger-doc
jenkins
lib
make-rules
testdata
verify-flags
.golint_failures
BUILD
OWNERS
autogenerated_placeholder.txt
benchmark-go.sh
build-cross.sh
build-go.sh
build-ui.sh
cherry_pick_pull.sh
dev-build-and-push.sh
dev-build-and-up.sh
dev-push-hyperkube.sh
e2e-node-test.sh
e2e.go
e2e_test.go
federated-ginkgo-e2e.sh
generate-bindata.sh
generate-docs.sh
get-build.sh
ginkgo-e2e.sh
godep-restore.sh
godep-save.sh
grab-profiles.sh
install-etcd.sh
list-feature-tests.sh
local-up-cluster.sh
lookup_pull.py
print-workspace-status.sh
run-in-gopath.sh
staging-import-restrictions.json
test-cmd.sh
test-go.sh
test-integration.sh
test-update-storage-objects.sh
update-all.sh
update-api-reference-docs.sh
update-bazel.sh
update-codecgen.sh
update-codegen.sh
update-federation-api-reference-docs.sh
update-federation-generated-swagger-docs.sh
update-federation-openapi-spec.sh
update-federation-swagger-spec.sh
update-generated-device-plugin-dockerized.sh
update-generated-device-plugin.sh
update-generated-docs.sh
update-generated-protobuf-dockerized.sh
update-generated-protobuf.sh
update-generated-runtime-dockerized.sh
update-generated-runtime.sh
update-generated-swagger-docs.sh
update-godep-licenses.sh
update-gofmt.sh
update-openapi-spec.sh
update-staging-godeps-dockerized.sh
update-staging-godeps.sh
update-swagger-spec.sh
update-translations.sh
update_owners.py
verify-all.sh
verify-api-groups.sh
verify-api-reference-docs.sh
verify-bazel.sh
verify-boilerplate.sh
verify-cli-conventions.sh
verify-codecgen.sh
verify-codegen.sh
verify-description.sh
verify-federation-api-reference-docs.sh
verify-federation-generated-swagger-docs.sh
verify-federation-openapi-spec.sh
verify-federation-swagger-spec.sh
verify-flags-underscore.py
verify-generated-device-plugin.sh
verify-generated-docs.sh
verify-generated-protobuf.sh
verify-generated-runtime.sh
verify-generated-swagger-docs.sh
verify-godep-licenses.sh
verify-godeps.sh
verify-gofmt.sh
verify-golint.sh
verify-govet.sh
verify-import-boss.sh
verify-linkcheck.sh
verify-no-vendor-cycles.sh
verify-openapi-spec.sh
verify-pkg-names.sh
verify-readonly-packages.sh
verify-staging-godeps.sh
verify-staging-imports.sh
verify-swagger-spec.sh
verify-symbols.sh
verify-test-images.sh
verify-test-owners.sh