k3s/staging
Kubernetes Submit Queue ee89c30eb3 Merge pull request #47792 from liggitt/decode-raw
Automatic merge from submit-queue (batch tested with PRs 34515, 47236, 46694, 47819, 47792)

Fix rawextension decoding in update

Fixes https://github.com/kubernetes/kubernetes/issues/47842

The `Create` handler was correctly decoding into the internal version, but the `Update` handler was not.

Top-level objects were not affected, because the type of the `New()` object returned by the rest handler governs the destination group/version/kind.

If a field within the object is of type `RawExtension`, and converts to a `runtime.Object` field in the internal object, the `runtime.Object` field provides no information about the desired group/version/kind, so the decoder's groupversioner governs.

This would manifest as the resthandler's Update function being given an internal top-level object with it's runtime.Object field containing an external object.
2017-06-21 13:30:21 -07:00
..
src/k8s.io Merge pull request #47792 from liggitt/decode-raw 2017-06-21 13:30:21 -07:00
OWNERS Add OWNERS for staging and api 2017-04-19 15:58:09 -04:00
README.md Update staging README to reflect multiple repos 2017-05-12 13:19:50 -07:00
copy.sh [update-staging] convert package name in IDL 2017-05-26 19:59:06 -04:00
godeps-json-updater.go Clean up staging/godeps-json-updater.go 2017-04-06 09:32:57 +02:00
prime-apimachinery.sh k8s.io/apimachinery scripts 2017-01-11 08:15:34 -05:00

README.md

This directory is the staging area for packages that have been split to their own repository. The content here will be periodically published to respective top-level k8s.io repositories.

Most code in the staging/ directory is authoritative, i.e. the only copy of the code. You can directly modify such code. However the packages in staging/src/k8s.io/client-go/pkg are copied from pkg/. If you modify the original code in pkg/, you need to run hack/godep-restore.sh from the k8s root directory, followed by hack/update-staging-client-go.sh. We are working towards making all code in staging/ authoritative.

The vendor/k8s.io directory contains symlinks pointing to this staging area, so to use a package in the staging area, you can import it as k8s.io/<package-name>, as if the package were vendored. Packages will be vendored from k8s.io/<package-name> for real after the test matrix is converted to vendor k8s components.