• Kubernetes Submit Queue's avatar
    Merge pull request #31353 from juanvallejo/jvallejo_fix-duplicate-errors-kubectl-set-env · bda57b8f
    Kubernetes Submit Queue authored
    Automatic merge from submit-queue
    
    fix duplicate validation/field/errors
    
    **Release note**:
    
    ``` release-note
    release-note-none
    ```
    
    Related PR: https://github.com/kubernetes/kubernetes/pull/30313
    
    PR #30313 fixed duplicate errors for invalid aggregate errors in
    https://github.com/kubernetes/kubernetes/blob/master/pkg/kubectl/cmd/util/helpers.go
    
    However, duplicate aggregate errors that went through
    https://github.com/kubernetes/kubernetes/blob/master/pkg/util/validation/field/errors.go
    were not affected by that patch.
    
    This patch adds duplicate aggregate error checking to
    `pkg/util/validation/field/errors.go`
    ##### Before
    
    `$ kubectl set env rc/idling-echo-1 test-abc=1234`
    
    ```
    error: ReplicationController "idling-echo-1" is invalid:
    [spec.template.spec.containers[0].env[0].name: Invalid value:
    "test-abc": must be a C identifier (matching regex
    [A-Za-z_][A-Za-z0-9_]*): e.g. "my_name" or "MyName",
    spec.template.spec.containers[1].env[0].name: Invalid value: "test-abc":
    must be a C identifier (matching regex [A-Za-z_][A-Za-z0-9_]*): e.g.
    "my_name" or "MyName", spec.template.spec.containers[0].env[0].name:
    Invalid value: "test-abc": must be a C identifier (matching regex
    [A-Za-z_][A-Za-z0-9_]*): e.g. "my_name" or "MyName",
    spec.template.spec.containers[1].env[0].name: Invalid value: "test-abc":
    must be a C identifier (matching regex [A-Za-z_][A-Za-z0-9_]*): e.g.
    "my_name" or "MyName"]
    ```
    
    `$ kubectl set env rc/node-1 test-abc=1234`
    
    ```
    error: ReplicationController "idling-echo-1" is invalid:
    [spec.template.spec.containers[0].env[0].name: Invalid value:
    "test-abc": must be a C identifier (matching regex
    [A-Za-z_][A-Za-z0-9_]*): e.g. "my_name" or "MyName",
    spec.template.spec.containers[1].env[0].name: Invalid value: "test-abc":
    must be a C identifier (matching regex [A-Za-z_][A-Za-z0-9_]*): e.g.
    "my_name" or "MyName"]
    ```
    ##### After
    
    `$ kubectl set env rc/idling-echo-1 test-abc=1234`
    
    ```
    error: ReplicationController "idling-echo-1" is invalid:
    [spec.template.spec.containers[0].env[0].name: Invalid value:
    "test-abc": must be a C identifier (matching regex
    [A-Za-z_][A-Za-z0-9_]*): e.g. "my_name" or "MyName",
    spec.template.spec.containers[1].env[0].name: Invalid value: "test-abc":
    must be a C identifier (matching regex [A-Za-z_][A-Za-z0-9_]*): e.g.
    "my_name" or "MyName"]
    ```
    
    `$ kubectl set env rc/node-1 test-abc=1234`
    
    ```
    error: ReplicationController "node-1" is invalid:
    spec.template.spec.containers[0].env[0].name: Invalid value: "test-abc":
    must be a C identifier (matching regex [A-Za-z_][A-Za-z0-9_]*): e.g.
    "my_name" or "MyName"
    ```
    bda57b8f
Name
Last commit
Last update
..
field Loading commit data...
BUILD Loading commit data...
validation.go Loading commit data...
validation_test.go Loading commit data...