Merge pull request #102150 from julianvmodesto/ssa-big-last-applied-followup
Make apimachineryvalidation.totalAnnotationSizeLimitB public Kubernetes-commit: 5078091aa5b82bd1de32d209a489645d50713705
This commit is contained in:
commit
e78fb1931d
|
|
@ -928,7 +928,7 @@
|
|||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery",
|
||||
"Rev": "cfc896c115eb"
|
||||
"Rev": "2dd32d74a857"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go",
|
||||
|
|
|
|||
4
go.mod
4
go.mod
|
|
@ -39,7 +39,7 @@ require (
|
|||
gopkg.in/natefinch/lumberjack.v2 v2.0.0
|
||||
gopkg.in/square/go-jose.v2 v2.2.2
|
||||
k8s.io/api v0.0.0-20210523150857-a16591c7eddc
|
||||
k8s.io/apimachinery v0.0.0-20210521150646-cfc896c115eb
|
||||
k8s.io/apimachinery v0.0.0-20210526000320-2dd32d74a857
|
||||
k8s.io/client-go v0.0.0-20210524185628-39cb8cd8c11d
|
||||
k8s.io/component-base v0.0.0-20210521071829-2a2fe9bbf92f
|
||||
k8s.io/klog/v2 v2.8.0
|
||||
|
|
@ -52,7 +52,7 @@ require (
|
|||
|
||||
replace (
|
||||
k8s.io/api => k8s.io/api v0.0.0-20210523150857-a16591c7eddc
|
||||
k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20210521150646-cfc896c115eb
|
||||
k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20210526000320-2dd32d74a857
|
||||
k8s.io/client-go => k8s.io/client-go v0.0.0-20210524185628-39cb8cd8c11d
|
||||
k8s.io/component-base => k8s.io/component-base v0.0.0-20210521071829-2a2fe9bbf92f
|
||||
)
|
||||
|
|
|
|||
4
go.sum
4
go.sum
|
|
@ -686,8 +686,8 @@ honnef.co/go/tools v0.0.1-2020.1.3 h1:sXmLre5bzIR6ypkjXCDI3jHPssRhc8KD/Ome589sc3
|
|||
honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
|
||||
k8s.io/api v0.0.0-20210523150857-a16591c7eddc h1:MY1s8HL0z3c7g23mc5sawXXsIBL/kp89slIVNKz9mZ8=
|
||||
k8s.io/api v0.0.0-20210523150857-a16591c7eddc/go.mod h1:OYWcx23Cf4qX54GQBQLeSSUlvOAvbgMucgB0TrADRHU=
|
||||
k8s.io/apimachinery v0.0.0-20210521150646-cfc896c115eb h1:kxJH/Hf/+EnvbMiymbBbJ5nVuiQjcHZjfgI57rCtSDc=
|
||||
k8s.io/apimachinery v0.0.0-20210521150646-cfc896c115eb/go.mod h1:8Ay3sPKuJtD/dIjPSlQVgJeuW/8JmLTCqDeAv6NSCxU=
|
||||
k8s.io/apimachinery v0.0.0-20210526000320-2dd32d74a857 h1:WfW9c4wjCfgnqzt83cp2oBTkoKPJwypA05uG6wNC5Ms=
|
||||
k8s.io/apimachinery v0.0.0-20210526000320-2dd32d74a857/go.mod h1:8Ay3sPKuJtD/dIjPSlQVgJeuW/8JmLTCqDeAv6NSCxU=
|
||||
k8s.io/client-go v0.0.0-20210524185628-39cb8cd8c11d h1:3OFKvpkqCdzq+OHoMpZnEY8mW3Hnf4rW7W5ADPrbLLQ=
|
||||
k8s.io/client-go v0.0.0-20210524185628-39cb8cd8c11d/go.mod h1:EWkJNCU4qOSWrtM+poIXCY937ArhI5w0ACG3zkw0qXE=
|
||||
k8s.io/component-base v0.0.0-20210521071829-2a2fe9bbf92f h1:5WGHsufGjyHFfwMXj0R/nilyN7HzOrb1XqGO6NErjDY=
|
||||
|
|
|
|||
|
|
@ -21,12 +21,11 @@ import (
|
|||
|
||||
corev1 "k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/api/meta"
|
||||
apimachineryvalidation "k8s.io/apimachinery/pkg/api/validation"
|
||||
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
)
|
||||
|
||||
const totalAnnotationSizeLimitB int64 = 256 * (1 << 10) // 256 kB
|
||||
|
||||
type lastAppliedUpdater struct {
|
||||
fieldManager Manager
|
||||
}
|
||||
|
|
@ -94,7 +93,7 @@ func setLastApplied(obj runtime.Object, value string) error {
|
|||
annotations = map[string]string{}
|
||||
}
|
||||
annotations[corev1.LastAppliedConfigAnnotation] = value
|
||||
if isAnnotationsValid(annotations) != nil {
|
||||
if err := apimachineryvalidation.ValidateAnnotationsSize(annotations); err != nil {
|
||||
delete(annotations, corev1.LastAppliedConfigAnnotation)
|
||||
}
|
||||
accessor.SetAnnotations(annotations)
|
||||
|
|
@ -120,14 +119,3 @@ func buildLastApplied(obj runtime.Object) (string, error) {
|
|||
}
|
||||
return string(lastApplied), nil
|
||||
}
|
||||
|
||||
func isAnnotationsValid(annotations map[string]string) error {
|
||||
var totalSize int64
|
||||
for k, v := range annotations {
|
||||
totalSize += (int64)(len(k)) + (int64)(len(v))
|
||||
}
|
||||
if totalSize > (int64)(totalAnnotationSizeLimitB) {
|
||||
return fmt.Errorf("annotations size %d is larger than limit %d", totalSize, totalAnnotationSizeLimitB)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue