Merge pull request #65572 from yue9944882/fixes-admission-operation-mismatch-for-create-on-update
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. fixes operation for "create on update" **What this PR does / why we need it**: Set operation to `admission.Create` for create-on-update requests. **Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*: Fixes #65553 **Special notes for your reviewer**: **Release note**: ```release-note Checks CREATE admission for create-on-update requests instead of UPDATE admission ``` Kubernetes-commit: 8770d12494f58f19cd5298853b9749937140e970
This commit is contained in:
commit
8a13127950
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"ImportPath": "k8s.io/apiserver",
|
||||
"GoVersion": "go1.10",
|
||||
"GoVersion": "go1.9",
|
||||
"GodepVersion": "v80",
|
||||
"Packages": [
|
||||
"./..."
|
||||
|
|
@ -832,339 +832,339 @@
|
|||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/admission/v1beta1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "183f3326a9353bd6d41430fc80f96259331d029c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/admissionregistration/v1alpha1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "183f3326a9353bd6d41430fc80f96259331d029c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/admissionregistration/v1beta1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "183f3326a9353bd6d41430fc80f96259331d029c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/apps/v1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "183f3326a9353bd6d41430fc80f96259331d029c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/apps/v1beta1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "183f3326a9353bd6d41430fc80f96259331d029c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/apps/v1beta2",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "183f3326a9353bd6d41430fc80f96259331d029c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/authentication/v1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "183f3326a9353bd6d41430fc80f96259331d029c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/authentication/v1beta1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "183f3326a9353bd6d41430fc80f96259331d029c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/authorization/v1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "183f3326a9353bd6d41430fc80f96259331d029c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/authorization/v1beta1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "183f3326a9353bd6d41430fc80f96259331d029c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/autoscaling/v1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "183f3326a9353bd6d41430fc80f96259331d029c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/autoscaling/v2beta1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "183f3326a9353bd6d41430fc80f96259331d029c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/batch/v1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "183f3326a9353bd6d41430fc80f96259331d029c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/batch/v1beta1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "183f3326a9353bd6d41430fc80f96259331d029c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/batch/v2alpha1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "183f3326a9353bd6d41430fc80f96259331d029c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/certificates/v1beta1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "183f3326a9353bd6d41430fc80f96259331d029c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/coordination/v1beta1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "183f3326a9353bd6d41430fc80f96259331d029c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/core/v1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "183f3326a9353bd6d41430fc80f96259331d029c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/events/v1beta1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "183f3326a9353bd6d41430fc80f96259331d029c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/extensions/v1beta1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "183f3326a9353bd6d41430fc80f96259331d029c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/networking/v1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "183f3326a9353bd6d41430fc80f96259331d029c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/policy/v1beta1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "183f3326a9353bd6d41430fc80f96259331d029c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/rbac/v1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "183f3326a9353bd6d41430fc80f96259331d029c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/rbac/v1alpha1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "183f3326a9353bd6d41430fc80f96259331d029c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/rbac/v1beta1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "183f3326a9353bd6d41430fc80f96259331d029c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/scheduling/v1alpha1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "183f3326a9353bd6d41430fc80f96259331d029c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/scheduling/v1beta1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "183f3326a9353bd6d41430fc80f96259331d029c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/settings/v1alpha1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "183f3326a9353bd6d41430fc80f96259331d029c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/storage/v1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "183f3326a9353bd6d41430fc80f96259331d029c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/storage/v1alpha1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "183f3326a9353bd6d41430fc80f96259331d029c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/storage/v1beta1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "183f3326a9353bd6d41430fc80f96259331d029c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/api/equality",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/api/errors",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/api/meta",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/api/resource",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/api/testing",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/api/testing/fuzzer",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/api/testing/roundtrip",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/api/validation",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/api/validation/path",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/fuzzer",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/internalversion",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/validation",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1beta1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/conversion",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/conversion/queryparams",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/fields",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/labels",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/schema",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/json",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/protobuf",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/recognizer",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/streaming",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/versioning",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/selection",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/types",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/cache",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/clock",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/diff",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/errors",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/framer",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/intstr",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/json",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/mergepatch",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/naming",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/net",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/rand",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/runtime",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/sets",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/strategicpatch",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/uuid",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/validation",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/validation/field",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/wait",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/waitgroup",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/yaml",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/version",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/watch",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/json",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
"Rev": "594fc14b6f143d963ea2c8132e09e73fe244b6c9"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/discovery",
|
||||
|
|
@ -1174,6 +1174,10 @@
|
|||
"ImportPath": "k8s.io/client-go/discovery/fake",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/admissionregistration",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
|
|
@ -1346,6 +1350,10 @@
|
|||
"ImportPath": "k8s.io/client-go/kubernetes",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/fake",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/scheme",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
|
|
@ -1734,6 +1742,10 @@
|
|||
"ImportPath": "k8s.io/client-go/tools/cache",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/tools/clientcmd",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/tools/clientcmd/api",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
|
|
@ -1809,78 +1821,6 @@
|
|||
{
|
||||
"ImportPath": "k8s.io/kube-openapi/pkg/util/proto",
|
||||
"Rev": "0cf8f7e6ed1d2e3d47d02e3b6e559369af24d803"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/discovery",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/fake",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/scheme",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/core/v1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/listers/admissionregistration/v1beta1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/listers/core/v1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/rest",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/testing",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/tools/cache",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/tools/clientcmd",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/tools/clientcmd/api",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/tools/clientcmd/api/v1",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/util/cert",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/util/flowcontrol",
|
||||
"Rev": "d6a5799477e64ff9e476894020e68cfe794bbeb5"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -127,6 +127,7 @@ func PatchResource(r rest.Patcher, scope RequestScope, admit admission.Interface
|
|||
userInfo,
|
||||
)
|
||||
admissionCheck := func(updatedObject runtime.Object, currentObject runtime.Object) error {
|
||||
// if we allow create-on-patch, we have this TODO: call the mutating admission chain with the CREATE verb instead of UPDATE
|
||||
if mutatingAdmission, ok := admit.(admission.MutationInterface); ok && admit.Handles(admission.Update) {
|
||||
return mutatingAdmission.Admit(admission.NewAttributesRecord(
|
||||
updatedObject,
|
||||
|
|
|
|||
|
|
@ -105,12 +105,24 @@ func UpdateResource(r rest.Updater, scope RequestScope, admit admission.Interfac
|
|||
}
|
||||
|
||||
userInfo, _ := request.UserFrom(ctx)
|
||||
staticAdmissionAttributes := admission.NewAttributesRecord(nil, nil, scope.Kind, namespace, name, scope.Resource, scope.Subresource, admission.Update, userInfo)
|
||||
var transformers []rest.TransformFunc
|
||||
if mutatingAdmission, ok := admit.(admission.MutationInterface); ok && mutatingAdmission.Handles(admission.Update) {
|
||||
if mutatingAdmission, ok := admit.(admission.MutationInterface); ok {
|
||||
transformers = append(transformers, func(ctx context.Context, newObj, oldObj runtime.Object) (runtime.Object, error) {
|
||||
return newObj, mutatingAdmission.Admit(admission.NewAttributesRecord(newObj, oldObj, scope.Kind, namespace, name, scope.Resource, scope.Subresource, admission.Update, userInfo))
|
||||
isNotZeroObject, err := hasUID(oldObj)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("unexpected error when extracting UID from oldObj: %v", err.Error())
|
||||
} else if !isNotZeroObject {
|
||||
if mutatingAdmission.Handles(admission.Create) {
|
||||
return newObj, mutatingAdmission.Admit(admission.NewAttributesRecord(newObj, nil, scope.Kind, namespace, name, scope.Resource, scope.Subresource, admission.Create, userInfo))
|
||||
}
|
||||
} else {
|
||||
if mutatingAdmission.Handles(admission.Update) {
|
||||
return newObj, mutatingAdmission.Admit(admission.NewAttributesRecord(newObj, oldObj, scope.Kind, namespace, name, scope.Resource, scope.Subresource, admission.Update, userInfo))
|
||||
}
|
||||
}
|
||||
return newObj, nil
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
createAuthorizerAttributes := authorizer.AttributesRecord{
|
||||
|
|
@ -133,8 +145,13 @@ func UpdateResource(r rest.Updater, scope RequestScope, admit admission.Interfac
|
|||
ctx,
|
||||
name,
|
||||
rest.DefaultUpdatedObjectInfo(obj, transformers...),
|
||||
withAuthorization(rest.AdmissionToValidateObjectFunc(admit, staticAdmissionAttributes), scope.Authorizer, createAuthorizerAttributes),
|
||||
rest.AdmissionToValidateObjectUpdateFunc(admit, staticAdmissionAttributes),
|
||||
withAuthorization(rest.AdmissionToValidateObjectFunc(
|
||||
admit,
|
||||
admission.NewAttributesRecord(nil, nil, scope.Kind, namespace, name, scope.Resource, scope.Subresource, admission.Create, userInfo)),
|
||||
scope.Authorizer, createAuthorizerAttributes),
|
||||
rest.AdmissionToValidateObjectUpdateFunc(
|
||||
admit,
|
||||
admission.NewAttributesRecord(nil, nil, scope.Kind, namespace, name, scope.Resource, scope.Subresource, admission.Update, userInfo)),
|
||||
false,
|
||||
options,
|
||||
)
|
||||
|
|
|
|||
Loading…
Reference in New Issue