Skip to content

Commit 510a7e7

Browse files
authored
Merge pull request kubernetes#128038 from seans3/resource-quota-config-validation
Enable strict validation for ResourceQuotaConfiguration
2 parents 8b7b768 + a95c0c5 commit 510a7e7

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

staging/src/k8s.io/apiserver/pkg/admission/plugin/resourcequota/config.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import (
2929

3030
var (
3131
scheme = runtime.NewScheme()
32-
codecs = serializer.NewCodecFactory(scheme)
32+
codecs = serializer.NewCodecFactory(scheme, serializer.EnableStrict)
3333
)
3434

3535
func init() {

staging/src/k8s.io/apiserver/pkg/admission/plugin/resourcequota/config_test.go

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,34 @@ func TestLoadConfiguration(t *testing.T) {
4343
input: `{"kind":"Unknown","apiVersion":"v1"}`,
4444
expectErr: `no kind "Unknown" is registered`,
4545
},
46+
{
47+
name: "duplicate field error; strict validation",
48+
input: `
49+
kind: ResourceQuotaConfiguration
50+
apiVersion: apiserver.config.k8s.io/v1
51+
limitedResources:
52+
- apiGroup: ""
53+
resource: persistentvolumeclaims
54+
resource: persistentvolumeclaims
55+
matchContains:
56+
- .storageclass.storage.k8s.io/requests.storage
57+
`,
58+
expectErr: `strict decoding error`,
59+
},
60+
{
61+
name: "unknown field error; strict validation",
62+
input: `
63+
kind: ResourceQuotaConfiguration
64+
apiVersion: apiserver.config.k8s.io/v1
65+
limitedResources:
66+
- apiGroup: ""
67+
foo: bar
68+
resource: persistentvolumeclaims
69+
matchContains:
70+
- .storageclass.storage.k8s.io/requests.storage
71+
`,
72+
expectErr: `strict decoding error`,
73+
},
4674
{
4775
name: "valid v1alpha1 config",
4876
input: `

0 commit comments

Comments
 (0)