• Kubernetes Submit Queue's avatar
    Merge pull request #60741 from zlabjp/optional-subjects · 55f17933
    Kubernetes Submit Queue authored
    Automatic merge from submit-queue (batch tested with PRs 60890, 63244, 60741, 63254). 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>.
    
    Indicate clusterrolebinding, rolebinding subjects are optional fields
    
    **What this PR does / why we need it**: With this PR, clusterrolebinding and rolebinding subjects are marked optional instead of required. Currently we cannot create clusterrolebinding and rolebinding with subjects are empty using `kubectl create/apply/replace -f`.
    
    ```
    $ kubectl create rolebinding test --clusterrole view
    rolebinding "test" created
    $ kubectl get rolebinding test -o yaml
    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      creationTimestamp: 2018-03-02T06:58:16Z
      name: test
      namespace: default
      resourceVersion: "5606612"
      selfLink: /apis/rbac.authorization.k8s.io/v1/namespaces/default/rolebindings/test
      uid: 155c5c29-1de7-11e8-9f6f-fa163ec89f2a
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: view
    subjects: null
    $ kubectl get rolebinding test -o yaml | kubectl replace -f -
    error: error validating "STDIN": error validating data: ValidationError(RoleBinding): missing required field "subjects" in io.k8s.api.rbac.v1.RoleBinding; if you choose to ignore these errors, turn validation off with --validate=false
    ```
    
    **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 #
    
    **Special notes for your reviewer**: This is a same issue with https://github.com/kubernetes/kubernetes/issues/59403. /cc @liggitt 
    
    **Release note**:
    
    ```release-note
    NONE
    ```
    55f17933
Name
Last commit
Last update
..
admin Loading commit data...
api-reference Loading commit data...
man/man1 Loading commit data...
user-guide/kubectl Loading commit data...
yaml/kubectl Loading commit data...
.generated_docs Loading commit data...
BUILD Loading commit data...
OWNERS Loading commit data...