1. 26 Aug, 2017 6 commits
    • Kubernetes Submit Queue's avatar
      Merge pull request #49850 from m1093782566/service-session-timeout · b65f3cc8
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 49850, 47782, 50595, 50730, 51341)
      
      Paramaterize `stickyMaxAgeMinutes` for service in API
      
      **What this PR does / why we need it**:
      
      Currently I find `stickyMaxAgeMinutes` for a session affinity type service is hard code to 180min. There is a TODO comment, see
      
      https://github.com/kubernetes/kubernetes/blob/master/pkg/proxy/iptables/proxier.go#L205
      
      I think the seesion sticky max time varies from service to service and users may not aware of it since it's hard coded in all proxier.go - iptables, userspace and winuserspace.
      
      Once we parameterize it in API, users can set/get the values for their different services.
      
      Perhaps, we can introduce a new field `api.ClientIPAffinityConfig` in `api.ServiceSpec`.
      
      There is an initial discussion about it in sig-network group. See,
      
      https://groups.google.com/forum/#!topic/kubernetes-sig-network/i-LkeHrjs80
      
      **Which issue this PR fixes**: 
      
      fixes #49831
      
      **Special notes for your reviewer**:
      
      **Release note**:
      
      ```release-note
      Paramaterize session affinity timeout seconds in service API for Client IP based session affinity.
      ```
      b65f3cc8
    • Kubernetes Submit Queue's avatar
      Merge pull request #50504 from yastij/fcVolume-handleFailedMount · 85f96331
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 51235, 50819, 51274, 50972, 50504)
      
      handle failed mounts for fc volumes
      
      **What this PR does / why we need it**: handles failed mounts for fc
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #50502
      
      **Special notes for your reviewer**: 
      
      **Release note**:
      
      ```release-note
      None
      ```
      85f96331
    • Kubernetes Submit Queue's avatar
      Merge pull request #50972 from FengyunPan/external-loadBalancerIP · c170f5bf
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 51235, 50819, 51274, 50972, 50504)
      
      Support for specifying external LoadBalancerIP on openstack
      
      1. Support ServiceAnnotationLoadBalancerFloatingNetworkId for LB v1
      
      2. Support for specifying external LoadBalancerIP on openstack
          Add ServiceAnnotationLoadBalancerInternal annotation to distinguish
          between internal LoadBalancerIP and external LoadBalancerIP.
      
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
      Fix #50851 
      
      **Release note**:
      ```release-note
      NONE
      ```
      c170f5bf
    • Kubernetes Submit Queue's avatar
      Merge pull request #51274 from yastij/clean-cinder-detachLogError · 9d7bdb6a
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 51235, 50819, 51274, 50972, 50504)
      
      Clean cinder detachlogerror
      
      **What this PR does / why we need it**:
      
      **Which issue this PR fixes** : fixes #50441
      
      **Special notes for your reviewer**:
      
      **Release note**:
      
      ```release-note
      ```
      9d7bdb6a
    • Kubernetes Submit Queue's avatar
      Merge pull request #50819 from NickrenREN/remove-overlay-scheduler · e923f2ba
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 51235, 50819, 51274, 50972, 50504)
      
      Changing scheduling part to manage one single local storage resource
      
      **What this PR does / why we need it**:
       Finally decided to manage a single local storage resource
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*:  part of #50818
      
      **Special notes for your reviewer**:
      Since finally decided to manage a single local storage resource, remove overlay related code in scheduling part and change the name scratch to ephemeral storage.
      
      **Release note**:
      ```release-note
      Changing scheduling part of the alpha feature 'LocalStorageCapacityIsolation' to manage one single local ephemeral storage resource
      ```
      
      /assign @jingxu97 
      cc @ddysher
      e923f2ba
    • Kubernetes Submit Queue's avatar
      Merge pull request #51235 from cheftako/aggregator · 65da3ce2
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Fixed gke auth update wait condition.
      
      Lookup whoami on gke using gcloud auth list.
      Make sure we do not run the test on any cluster older than 1.7.
      
      **What this PR does / why we need it**: Fixes issue with aggregator e2e test on GKE
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #50945 
      
      **Special notes for your reviewer**: There is a TODO, follow up will be provided when the immediate problem is resolved.
      
      **Release note**: ```release-note
      NONE
      ```
      65da3ce2
  2. 25 Aug, 2017 34 commits
    • Kubernetes Submit Queue's avatar
      Merge pull request #51327 from wasylkowski/ensure-ca-is-on · a235ba4e
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 51134, 51122, 50562, 50971, 51327)
      
      Made the tests ensure that Cluster Autoscaler is on before running.
      
      **What this PR does / why we need it**:
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
      
      **Special notes for your reviewer**:
      
      **Release note**:
      
      ```release-note
      NONE
      ```
      a235ba4e
    • Kubernetes Submit Queue's avatar
      Merge pull request #50971 from CaoShuFeng/audit_json · b5bb8099
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 51134, 51122, 50562, 50971, 51327)
      
      set --audit-log-format default to json
      
      Updates: https://github.com/kubernetes/kubernetes/issues/48561
      
      **Release note**:
      ```
      set --audit-log-format default to json for kube-apiserver
      ```
      b5bb8099
    • Kubernetes Submit Queue's avatar
      Merge pull request #50562 from atlassian/call-cleanup-properly · ccae631f
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 51134, 51122, 50562, 50971, 51327)
      
      Call the right cleanup function
      
      **What this PR does / why we need it**:
      `defer cleanup()` will always call the function that was returned by the first call to `r.resyncChan()` but it should call the one returned by the last call.
      
      **Special notes for your reviewer**:
      This will print `c1`, not `c2`. See https://play.golang.org/p/FDjDbUxOvI
      ```go
      func main() {
      	var c func()
      	c = c1
      	defer c()
      	c = c2
      }
      
      func c1 () {
      	fmt.Println("c1")
      }
      
      func c2 () {
      	fmt.Println("c2")
      }
      ```
      
      **Release note**:
      ```release-note
      NONE
      ```
      /kind bug
      /sig api-machinery
      ccae631f
    • Kubernetes Submit Queue's avatar
      Merge pull request #51122 from luxas/kubeadm_impl_dryrun · 39581ac9
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 51134, 51122, 50562, 50971, 51327)
      
      kubeadm: Fully implement --dry-run
      
      **What this PR does / why we need it**:
      
      Finishes the work begun in #50631 
       - Implements dry-run functionality for phases certs/kubeconfig/controlplane/etcd as well by making the outDir configurable
       - Prints the controlplane manifests to stdout, but not the certs/kubeconfig files due to the sensitive nature. However, kubeadm outputs the directory to go and look in for those.
       - Fixes a small yaml marshal error where `apiVersion` and `kind` wasn't printed earlier.
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
      
      fixes: https://github.com/kubernetes/kubeadm/issues/389
      
      **Special notes for your reviewer**:
      
      Full `kubeadm init --dry-run` output:
      
      ```
      [kubeadm] WARNING: kubeadm is in beta, please do not use it for production clusters.
      [init] Using Kubernetes version: v1.7.4
      [init] Using Authorization mode: [Node RBAC]
      [preflight] Running pre-flight checks
      [preflight] WARNING: docker service is not enabled, please run 'systemctl enable docker.service'
      [preflight] Starting the kubelet service
      [kubeadm] WARNING: starting in 1.8, tokens expire after 24 hours by default (if you require a non-expiring token use --token-ttl 0)
      [certificates] Generated ca certificate and key.
      [certificates] Generated apiserver certificate and key.
      [certificates] apiserver serving cert is signed for DNS names [thegopher kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [10.96.0.1 192.168.200.101]
      [certificates] Generated apiserver-kubelet-client certificate and key.
      [certificates] Generated sa key and public key.
      [certificates] Generated front-proxy-ca certificate and key.
      [certificates] Generated front-proxy-client certificate and key.
      [certificates] Valid certificates and keys now exist in "/tmp/kubeadm-init-dryrun477531930"
      [kubeconfig] Wrote KubeConfig file to disk: "admin.conf"
      [kubeconfig] Wrote KubeConfig file to disk: "kubelet.conf"
      [kubeconfig] Wrote KubeConfig file to disk: "controller-manager.conf"
      [kubeconfig] Wrote KubeConfig file to disk: "scheduler.conf"
      [dryrun] Wrote certificates, kubeconfig files and control plane manifests to "/tmp/kubeadm-init-dryrun477531930"
      [dryrun] Won't print certificates or kubeconfig files due to the sensitive nature of them
      [dryrun] Please go and examine the "/tmp/kubeadm-init-dryrun477531930" directory for details about what would be written
      [dryrun] Would write file "/etc/kubernetes/manifests/kube-apiserver.yaml" with content:
      	apiVersion: v1
      	kind: Pod
      	metadata:
      	  annotations:
      	    scheduler.alpha.kubernetes.io/critical-pod: ""
      	  creationTimestamp: null
      	  labels:
      	    component: kube-apiserver
      	    tier: control-plane
      	  name: kube-apiserver
      	  namespace: kube-system
      	spec:
      	  containers:
      	  - command:
      	    - kube-apiserver
      	    - --allow-privileged=true
      	    - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
      	    - --requestheader-extra-headers-prefix=X-Remote-Extra-
      	    - --service-cluster-ip-range=10.96.0.0/12
      	    - --tls-cert-file=/etc/kubernetes/pki/apiserver.crt
      	    - --tls-private-key-file=/etc/kubernetes/pki/apiserver.key
      	    - --proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.crt
      	    - --admission-control=Initializers,NamespaceLifecycle,LimitRanger,ServiceAccount,PersistentVolumeLabel,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,ResourceQuota
      	    - --experimental-bootstrap-token-auth=true
      	    - --client-ca-file=/etc/kubernetes/pki/ca.crt
      	    - --kubelet-client-key=/etc/kubernetes/pki/apiserver-kubelet-client.key
      	    - --secure-port=6443
      	    - --proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client.key
      	    - --insecure-port=0
      	    - --requestheader-username-headers=X-Remote-User
      	    - --requestheader-group-headers=X-Remote-Group
      	    - --requestheader-allowed-names=front-proxy-client
      	    - --advertise-address=192.168.200.101
      	    - --service-account-key-file=/etc/kubernetes/pki/sa.pub
      	    - --kubelet-client-certificate=/etc/kubernetes/pki/apiserver-kubelet-client.crt
      	    - --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt
      	    - --authorization-mode=Node,RBAC
      	    - --etcd-servers=http://127.0.0.1:2379
      	    image: gcr.io/google_containers/kube-apiserver-amd64:v1.7.4
      	    livenessProbe:
      	      failureThreshold: 8
      	      httpGet:
      	        host: 127.0.0.1
      	        path: /healthz
      	        port: 6443
      	        scheme: HTTPS
      	      initialDelaySeconds: 15
      	      timeoutSeconds: 15
      	    name: kube-apiserver
      	    resources:
      	      requests:
      	        cpu: 250m
      	    volumeMounts:
      	    - mountPath: /etc/kubernetes/pki
      	      name: k8s-certs
      	      readOnly: true
      	    - mountPath: /etc/ssl/certs
      	      name: ca-certs
      	      readOnly: true
      	    - mountPath: /etc/pki
      	      name: ca-certs-etc-pki
      	      readOnly: true
      	  hostNetwork: true
      	  volumes:
      	  - hostPath:
      	      path: /etc/kubernetes/pki
      	    name: k8s-certs
      	  - hostPath:
      	      path: /etc/ssl/certs
      	    name: ca-certs
      	  - hostPath:
      	      path: /etc/pki
      	    name: ca-certs-etc-pki
      	status: {}
      [dryrun] Would write file "/etc/kubernetes/manifests/kube-controller-manager.yaml" with content:
      	apiVersion: v1
      	kind: Pod
      	metadata:
      	  annotations:
      	    scheduler.alpha.kubernetes.io/critical-pod: ""
      	  creationTimestamp: null
      	  labels:
      	    component: kube-controller-manager
      	    tier: control-plane
      	  name: kube-controller-manager
      	  namespace: kube-system
      	spec:
      	  containers:
      	  - command:
      	    - kube-controller-manager
      	    - --address=127.0.0.1
      	    - --kubeconfig=/etc/kubernetes/controller-manager.conf
      	    - --cluster-signing-cert-file=/etc/kubernetes/pki/ca.crt
      	    - --cluster-signing-key-file=/etc/kubernetes/pki/ca.key
      	    - --leader-elect=true
      	    - --use-service-account-credentials=true
      	    - --controllers=*,bootstrapsigner,tokencleaner
      	    - --root-ca-file=/etc/kubernetes/pki/ca.crt
      	    - --service-account-private-key-file=/etc/kubernetes/pki/sa.key
      	    image: gcr.io/google_containers/kube-controller-manager-amd64:v1.7.4
      	    livenessProbe:
      	      failureThreshold: 8
      	      httpGet:
      	        host: 127.0.0.1
      	        path: /healthz
      	        port: 10252
      	        scheme: HTTP
      	      initialDelaySeconds: 15
      	      timeoutSeconds: 15
      	    name: kube-controller-manager
      	    resources:
      	      requests:
      	        cpu: 200m
      	    volumeMounts:
      	    - mountPath: /etc/kubernetes/pki
      	      name: k8s-certs
      	      readOnly: true
      	    - mountPath: /etc/ssl/certs
      	      name: ca-certs
      	      readOnly: true
      	    - mountPath: /etc/kubernetes/controller-manager.conf
      	      name: kubeconfig
      	      readOnly: true
      	    - mountPath: /etc/pki
      	      name: ca-certs-etc-pki
      	      readOnly: true
      	  hostNetwork: true
      	  volumes:
      	  - hostPath:
      	      path: /etc/kubernetes/pki
      	    name: k8s-certs
      	  - hostPath:
      	      path: /etc/ssl/certs
      	    name: ca-certs
      	  - hostPath:
      	      path: /etc/kubernetes/controller-manager.conf
      	    name: kubeconfig
      	  - hostPath:
      	      path: /etc/pki
      	    name: ca-certs-etc-pki
      	status: {}
      [dryrun] Would write file "/etc/kubernetes/manifests/kube-scheduler.yaml" with content:
      	apiVersion: v1
      	kind: Pod
      	metadata:
      	  annotations:
      	    scheduler.alpha.kubernetes.io/critical-pod: ""
      	  creationTimestamp: null
      	  labels:
      	    component: kube-scheduler
      	    tier: control-plane
      	  name: kube-scheduler
      	  namespace: kube-system
      	spec:
      	  containers:
      	  - command:
      	    - kube-scheduler
      	    - --leader-elect=true
      	    - --kubeconfig=/etc/kubernetes/scheduler.conf
      	    - --address=127.0.0.1
      	    image: gcr.io/google_containers/kube-scheduler-amd64:v1.7.4
      	    livenessProbe:
      	      failureThreshold: 8
      	      httpGet:
      	        host: 127.0.0.1
      	        path: /healthz
      	        port: 10251
      	        scheme: HTTP
      	      initialDelaySeconds: 15
      	      timeoutSeconds: 15
      	    name: kube-scheduler
      	    resources:
      	      requests:
      	        cpu: 100m
      	    volumeMounts:
      	    - mountPath: /etc/kubernetes/scheduler.conf
      	      name: kubeconfig
      	      readOnly: true
      	  hostNetwork: true
      	  volumes:
      	  - hostPath:
      	      path: /etc/kubernetes/scheduler.conf
      	    name: kubeconfig
      	status: {}
      [markmaster] Will mark node thegopher as master by adding a label and a taint
      [dryrun] Would perform action GET on resource "nodes" in API group "core/v1"
      [dryrun] Resource name: "thegopher"
      [dryrun] Would perform action PATCH on resource "nodes" in API group "core/v1"
      [dryrun] Resource name: "thegopher"
      [dryrun] Attached patch:
      	{"metadata":{"labels":{"node-role.kubernetes.io/master":""}},"spec":{"taints":[{"effect":"NoSchedule","key":"node-role.kubernetes.io/master","timeAdded":null}]}}
      [markmaster] Master thegopher tainted and labelled with key/value: node-role.kubernetes.io/master=""
      [token] Using token: 96efd6.98bbb2f4603c026b
      [dryrun] Would perform action GET on resource "secrets" in API group "core/v1"
      [dryrun] Resource name: "bootstrap-token-96efd6"
      [dryrun] Would perform action CREATE on resource "secrets" in API group "core/v1"
      [dryrun] Attached object:
      	apiVersion: v1
      	data:
      	  description: VGhlIGRlZmF1bHQgYm9vdHN0cmFwIHRva2VuIGdlbmVyYXRlZCBieSAna3ViZWFkbSBpbml0Jy4=
      	  expiration: MjAxNy0wOC0yM1QyMzoxOTozNCswMzowMA==
      	  token-id: OTZlZmQ2
      	  token-secret: OThiYmIyZjQ2MDNjMDI2Yg==
      	  usage-bootstrap-authentication: dHJ1ZQ==
      	  usage-bootstrap-signing: dHJ1ZQ==
      	kind: Secret
      	metadata:
      	  creationTimestamp: null
      	  name: bootstrap-token-96efd6
      	type: bootstrap.kubernetes.io/token
      [bootstraptoken] Configured RBAC rules to allow Node Bootstrap tokens to post CSRs in order for nodes to get long term certificate credentials
      [dryrun] Would perform action CREATE on resource "clusterrolebindings" in API group "rbac.authorization.k8s.io/v1beta1"
      [dryrun] Attached object:
      	apiVersion: rbac.authorization.k8s.io/v1beta1
      	kind: ClusterRoleBinding
      	metadata:
      	  creationTimestamp: null
      	  name: kubeadm:kubelet-bootstrap
      	roleRef:
      	  apiGroup: rbac.authorization.k8s.io
      	  kind: ClusterRole
      	  name: system:node-bootstrapper
      	subjects:
      	- kind: Group
      	  name: system:bootstrappers
      [bootstraptoken] Configured RBAC rules to allow the csrapprover controller automatically approve CSRs from a Node Bootstrap Token
      [dryrun] Would perform action CREATE on resource "clusterroles" in API group "rbac.authorization.k8s.io/v1beta1"
      [dryrun] Attached object:
      	apiVersion: rbac.authorization.k8s.io/v1beta1
      	kind: ClusterRole
      	metadata:
      	  creationTimestamp: null
      	  name: system:certificates.k8s.io:certificatesigningrequests:nodeclient
      	rules:
      	- apiGroups:
      	  - certificates.k8s.io
      	  resources:
      	  - certificatesigningrequests/nodeclient
      	  verbs:
      	  - create
      [dryrun] Would perform action CREATE on resource "clusterrolebindings" in API group "rbac.authorization.k8s.io/v1beta1"
      [dryrun] Attached object:
      	apiVersion: rbac.authorization.k8s.io/v1beta1
      	kind: ClusterRoleBinding
      	metadata:
      	  creationTimestamp: null
      	  name: kubeadm:node-autoapprove-bootstrap
      	roleRef:
      	  apiGroup: rbac.authorization.k8s.io
      	  kind: ClusterRole
      	  name: system:certificates.k8s.io:certificatesigningrequests:nodeclient
      	subjects:
      	- kind: Group
      	  name: system:bootstrappers
      [bootstraptoken] Creating the "cluster-info" ConfigMap in the "kube-public" namespace
      [dryrun] Would perform action CREATE on resource "configmaps" in API group "core/v1"
      [dryrun] Attached object:
      	apiVersion: v1
      	data:
      	  kubeconfig: |
      	    apiVersion: v1
      	    clusters:
      	    - cluster:
      	        certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRFM01EZ3lNakl3TVRrek1Gb1hEVEkzTURneU1ESXdNVGt6TUZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTFk0CnZWZ1FSN3pva3VzbWVvQ3JwZ1lFdEFHSldhSWVVUXE0ZE8wcVA4TDFKQk10ZTdHcXVHeXlWdVlyejBBeXdGdkMKaEh3Tm1pbmpIWFdNYkgrQVdIUXJOZmtZMmRBdnVuL0NYZWd6RlRZZG56M1JzYU5EaW0wazVXaVhEamQwM21YVApicGpvMGxpT2ZtY0xlOHpYUXZNaHpmN2FMV24wOVJoN05Ld0M0eW84cis5MDNHNjVxRW56cnUybmJKTEJ1TFk0CkFsL3UxTElVSGV4dmExZjgzampOQ1NmQXJScGh1d0oyS1NTWXhoaEJpNHBJMzd0ZEFpN3diTUF0cG4zdU9rVEQKU0dtdGpkbFZoUlAzV1dHQzNQTjF3M1JRakpmTW5weFFZbFFmalU2UE9Pbzg4ODBwN3dnUXFDUU11bjU5UWlBWgpwNkI1c3lrUitMemhoZVpkMWtjQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFHaTVrcUJzMTdOMU5pRWx2RGJaWGFSeXk5anUKR3ZuRjRjSnczQ0dPR2hpdHgySmdxRkt5WXRIdlJUSFNYRXpBNTlteEs2RlJWUWpBZmJMdjhSZUNKUjYrSzdRdQo0U21uTVVxVXRTZFUzaHozVXZlMjVOTHVwMnhsYVpZbzVwdVRrOWhZdUszd09MbWgxZTFoRzcyUFpoZE5yOGd5Ck5lTFN3bjI4OEVUSlNCcWpob0FkV2w0YzZtcnpwWll4ekNrcEpUSDFPWnBCQzFUYmY3QW5HenVwRzB1Q1RSYWsKWTBCSERyL01uVGJKKzM5NEJyMXBId0NtQ3ZrWUY0RjVEeW9UTFQ0UFhGTnJSV3UweU9rMXdDdEFKbEs3eFlUOAp5Z015cUlRSG4rNjYrUGlsSUprcU81ODRoVm5ENURva1dLcEdISFlYNmNpRGYwU1hYZUI1d09YQ0xjaz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
      	        server: https://192.168.200.101:6443
      	      name: ""
      	    contexts: []
      	    current-context: ""
      	    kind: Config
      	    preferences: {}
      	    users: []
      	kind: ConfigMap
      	metadata:
      	  creationTimestamp: null
      	  name: cluster-info
      	  namespace: kube-public
      [dryrun] Would perform action CREATE on resource "roles" in API group "rbac.authorization.k8s.io/v1beta1"
      [dryrun] Attached object:
      	apiVersion: rbac.authorization.k8s.io/v1beta1
      	kind: Role
      	metadata:
      	  creationTimestamp: null
      	  name: kubeadm:bootstrap-signer-clusterinfo
      	  namespace: kube-public
      	rules:
      	- apiGroups:
      	  - ""
      	  resourceNames:
      	  - cluster-info
      	  resources:
      	  - configmaps
      	  verbs:
      	  - get
      [dryrun] Would perform action CREATE on resource "rolebindings" in API group "rbac.authorization.k8s.io/v1beta1"
      [dryrun] Attached object:
      	apiVersion: rbac.authorization.k8s.io/v1beta1
      	kind: RoleBinding
      	metadata:
      	  creationTimestamp: null
      	  name: kubeadm:bootstrap-signer-clusterinfo
      	  namespace: kube-public
      	roleRef:
      	  apiGroup: rbac.authorization.k8s.io
      	  kind: Role
      	  name: kubeadm:bootstrap-signer-clusterinfo
      	subjects:
      	- kind: User
      	  name: system:anonymous
      [uploadconfig] Storing the configuration used in ConfigMap "kubeadm-config" in the "kube-system" Namespace
      [dryrun] Would perform action CREATE on resource "configmaps" in API group "core/v1"
      [dryrun] Attached object:
      	apiVersion: v1
      	data:
      	  MasterConfiguration: |
      	    api:
      	      advertiseAddress: 192.168.200.101
      	      bindPort: 6443
      	    apiServerCertSANs: []
      	    apiServerExtraArgs: null
      	    authorizationModes:
      	    - Node
      	    - RBAC
      	    certificatesDir: /etc/kubernetes/pki
      	    cloudProvider: ""
      	    controllerManagerExtraArgs: null
      	    etcd:
      	      caFile: ""
      	      certFile: ""
      	      dataDir: /var/lib/etcd
      	      endpoints: []
      	      extraArgs: null
      	      image: ""
      	      keyFile: ""
      	    featureFlags: null
      	    imageRepository: gcr.io/google_containers
      	    kubernetesVersion: v1.7.4
      	    networking:
      	      dnsDomain: cluster.local
      	      podSubnet: ""
      	      serviceSubnet: 10.96.0.0/12
      	    nodeName: thegopher
      	    schedulerExtraArgs: null
      	    token: 96efd6.98bbb2f4603c026b
      	    tokenTTL: 86400000000000
      	    unifiedControlPlaneImage: ""
      	kind: ConfigMap
      	metadata:
      	  creationTimestamp: null
      	  name: kubeadm-config
      	  namespace: kube-system
      [dryrun] Would perform action GET on resource "clusterrolebindings" in API group "rbac.authorization.k8s.io/v1beta1"
      [dryrun] Resource name: "system:node"
      [dryrun] Would perform action CREATE on resource "serviceaccounts" in API group "core/v1"
      [dryrun] Attached object:
      	apiVersion: v1
      	kind: ServiceAccount
      	metadata:
      	  creationTimestamp: null
      	  name: kube-dns
      	  namespace: kube-system
      [dryrun] Would perform action GET on resource "services" in API group "core/v1"
      [dryrun] Resource name: "kubernetes"
      [dryrun] Would perform action CREATE on resource "deployments" in API group "extensions/v1beta1"
      [dryrun] Attached object:
      	apiVersion: extensions/v1beta1
      	kind: Deployment
      	metadata:
      	  creationTimestamp: null
      	  labels:
      	    k8s-app: kube-dns
      	  name: kube-dns
      	  namespace: kube-system
      	spec:
      	  selector:
      	    matchLabels:
      	      k8s-app: kube-dns
      	  strategy:
      	    rollingUpdate:
      	      maxSurge: 10%
      	      maxUnavailable: 0
      	  template:
      	    metadata:
      	      creationTimestamp: null
      	      labels:
      	        k8s-app: kube-dns
      	    spec:
      	      affinity:
      	        nodeAffinity:
      	          requiredDuringSchedulingIgnoredDuringExecution:
      	            nodeSelectorTerms:
      	            - matchExpressions:
      	              - key: beta.kubernetes.io/arch
      	                operator: In
      	                values:
      	                - amd64
      	      containers:
      	      - args:
      	        - --domain=cluster.local.
      	        - --dns-port=10053
      	        - --config-dir=/kube-dns-config
      	        - --v=2
      	        env:
      	        - name: PROMETHEUS_PORT
      	          value: "10055"
      	        image: gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.4
      	        imagePullPolicy: IfNotPresent
      	        livenessProbe:
      	          failureThreshold: 5
      	          httpGet:
      	            path: /healthcheck/kubedns
      	            port: 10054
      	            scheme: HTTP
      	          initialDelaySeconds: 60
      	          successThreshold: 1
      	          timeoutSeconds: 5
      	        name: kubedns
      	        ports:
      	        - containerPort: 10053
      	          name: dns-local
      	          protocol: UDP
      	        - containerPort: 10053
      	          name: dns-tcp-local
      	          protocol: TCP
      	        - containerPort: 10055
      	          name: metrics
      	          protocol: TCP
      	        readinessProbe:
      	          httpGet:
      	            path: /readiness
      	            port: 8081
      	            scheme: HTTP
      	          initialDelaySeconds: 3
      	          timeoutSeconds: 5
      	        resources:
      	          limits:
      	            memory: 170Mi
      	          requests:
      	            cpu: 100m
      	            memory: 70Mi
      	        volumeMounts:
      	        - mountPath: /kube-dns-config
      	          name: kube-dns-config
      	      - args:
      	        - -v=2
      	        - -logtostderr
      	        - -configDir=/etc/k8s/dns/dnsmasq-nanny
      	        - -restartDnsmasq=true
      	        - --
      	        - -k
      	        - --cache-size=1000
      	        - --log-facility=-
      	        - --server=/cluster.local/127.0.0.1#10053
      	        - --server=/in-addr.arpa/127.0.0.1#10053
      	        - --server=/ip6.arpa/127.0.0.1#10053
      	        image: gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.4
      	        imagePullPolicy: IfNotPresent
      	        livenessProbe:
      	          failureThreshold: 5
      	          httpGet:
      	            path: /healthcheck/dnsmasq
      	            port: 10054
      	            scheme: HTTP
      	          initialDelaySeconds: 60
      	          successThreshold: 1
      	          timeoutSeconds: 5
      	        name: dnsmasq
      	        ports:
      	        - containerPort: 53
      	          name: dns
      	          protocol: UDP
      	        - containerPort: 53
      	          name: dns-tcp
      	          protocol: TCP
      	        resources:
      	          requests:
      	            cpu: 150m
      	            memory: 20Mi
      	        volumeMounts:
      	        - mountPath: /etc/k8s/dns/dnsmasq-nanny
      	          name: kube-dns-config
      	      - args:
      	        - --v=2
      	        - --logtostderr
      	        - --probe=kubedns,127.0.0.1:10053,kubernetes.default.svc.cluster.local,5,A
      	        - --probe=dnsmasq,127.0.0.1:53,kubernetes.default.svc.cluster.local,5,A
      	        image: gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.4
      	        imagePullPolicy: IfNotPresent
      	        livenessProbe:
      	          failureThreshold: 5
      	          httpGet:
      	            path: /metrics
      	            port: 10054
      	            scheme: HTTP
      	          initialDelaySeconds: 60
      	          successThreshold: 1
      	          timeoutSeconds: 5
      	        name: sidecar
      	        ports:
      	        - containerPort: 10054
      	          name: metrics
      	          protocol: TCP
      	        resources:
      	          requests:
      	            cpu: 10m
      	            memory: 20Mi
      	      dnsPolicy: Default
      	      serviceAccountName: kube-dns
      	      tolerations:
      	      - key: CriticalAddonsOnly
      	        operator: Exists
      	      - effect: NoSchedule
      	        key: node-role.kubernetes.io/master
      	      volumes:
      	      - configMap:
      	          name: kube-dns
      	          optional: true
      	        name: kube-dns-config
      	status: {}
      [dryrun] Would perform action CREATE on resource "services" in API group "core/v1"
      [dryrun] Attached object:
      	apiVersion: v1
      	kind: Service
      	metadata:
      	  creationTimestamp: null
      	  labels:
      	    k8s-app: kube-dns
      	    kubernetes.io/cluster-service: "true"
      	    kubernetes.io/name: KubeDNS
      	  name: kube-dns
      	  namespace: kube-system
      	  resourceVersion: "0"
      	spec:
      	  clusterIP: 10.96.0.10
      	  ports:
      	  - name: dns
      	    port: 53
      	    protocol: UDP
      	    targetPort: 53
      	  - name: dns-tcp
      	    port: 53
      	    protocol: TCP
      	    targetPort: 53
      	  selector:
      	    k8s-app: kube-dns
      	status:
      	  loadBalancer: {}
      [addons] Applied essential addon: kube-dns
      [dryrun] Would perform action CREATE on resource "serviceaccounts" in API group "core/v1"
      [dryrun] Attached object:
      	apiVersion: v1
      	kind: ServiceAccount
      	metadata:
      	  creationTimestamp: null
      	  name: kube-proxy
      	  namespace: kube-system
      [dryrun] Would perform action CREATE on resource "configmaps" in API group "core/v1"
      [dryrun] Attached object:
      	apiVersion: v1
      	data:
      	  kubeconfig.conf: |
      	    apiVersion: v1
      	    kind: Config
      	    clusters:
      	    - cluster:
      	        certificate-authority: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
      	        server: https://192.168.200.101:6443
      	      name: default
      	    contexts:
      	    - context:
      	        cluster: default
      	        namespace: default
      	        user: default
      	      name: default
      	    current-context: default
      	    users:
      	    - name: default
      	      user:
      	        tokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
      	kind: ConfigMap
      	metadata:
      	  creationTimestamp: null
      	  labels:
      	    app: kube-proxy
      	  name: kube-proxy
      	  namespace: kube-system
      [dryrun] Would perform action CREATE on resource "daemonsets" in API group "extensions/v1beta1"
      [dryrun] Attached object:
      	apiVersion: extensions/v1beta1
      	kind: DaemonSet
      	metadata:
      	  creationTimestamp: null
      	  labels:
      	    k8s-app: kube-proxy
      	  name: kube-proxy
      	  namespace: kube-system
      	spec:
      	  selector:
      	    matchLabels:
      	      k8s-app: kube-proxy
      	  template:
      	    metadata:
      	      creationTimestamp: null
      	      labels:
      	        k8s-app: kube-proxy
      	    spec:
      	      containers:
      	      - command:
      	        - /usr/local/bin/kube-proxy
      	        - --kubeconfig=/var/lib/kube-proxy/kubeconfig.conf
      	        image: gcr.io/google_containers/kube-proxy-amd64:v1.7.4
      	        imagePullPolicy: IfNotPresent
      	        name: kube-proxy
      	        resources: {}
      	        securityContext:
      	          privileged: true
      	        volumeMounts:
      	        - mountPath: /var/lib/kube-proxy
      	          name: kube-proxy
      	        - mountPath: /run/xtables.lock
      	          name: xtables-lock
      	      hostNetwork: true
      	      serviceAccountName: kube-proxy
      	      tolerations:
      	      - effect: NoSchedule
      	        key: node-role.kubernetes.io/master
      	      - effect: NoSchedule
      	        key: node.cloudprovider.kubernetes.io/uninitialized
      	        value: "true"
      	      volumes:
      	      - configMap:
      	          name: kube-proxy
      	        name: kube-proxy
      	      - hostPath:
      	          path: /run/xtables.lock
      	        name: xtables-lock
      	  updateStrategy:
      	    type: RollingUpdate
      	status:
      	  currentNumberScheduled: 0
      	  desiredNumberScheduled: 0
      	  numberMisscheduled: 0
      	  numberReady: 0
      [dryrun] Would perform action CREATE on resource "clusterrolebindings" in API group "rbac.authorization.k8s.io/v1beta1"
      [dryrun] Attached object:
      	apiVersion: rbac.authorization.k8s.io/v1beta1
      	kind: ClusterRoleBinding
      	metadata:
      	  creationTimestamp: null
      	  name: kubeadm:node-proxier
      	roleRef:
      	  apiGroup: rbac.authorization.k8s.io
      	  kind: ClusterRole
      	  name: system:node-proxier
      	subjects:
      	- kind: ServiceAccount
      	  name: kube-proxy
      	  namespace: kube-system
      [addons] Applied essential addon: kube-proxy
      
      Your Kubernetes master has initialized successfully!
      
      To start using your cluster, you need to run (as a regular user):
      
        mkdir -p $HOME/.kube
        sudo cp -i /tmp/kubeadm-init-dryrun477531930/admin.conf $HOME/.kube/config
        sudo chown $(id -u):$(id -g) $HOME/.kube/config
      
      You should now deploy a pod network to the cluster.
      Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
        http://kubernetes.io/docs/admin/addons/
      
      You can now join any number of machines by running the following on each node
      as root:
      
        kubeadm join --token 96efd6.98bbb2f4603c026b 192.168.200.101:6443 --discovery-token-ca-cert-hash sha256:ccb794198ae65cb3c9e997be510c18023e0e9e064225a588997b9e6c64ebf9f1
      
      ```
      
      **Release note**:
      
      ```release-note
      kubeadm: Implement a `--dry-run` mode and flag for `kubeadm`
      ```
      @kubernetes/sig-cluster-lifecycle-pr-reviews @ncdc @sttts
      39581ac9
    • Kubernetes Submit Queue's avatar
      Merge pull request #51134 from stevekuznetsov/skuznets/verbose-bazel-error · cfbd97c4
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Don't silence `go get` during verify scripts
      
      When the verify scripts fail to install a component using `go get`
      today, they silence output go `stderr` and cause the user to not get any
      actionable feedback on failure.
      Signed-off-by: 's avatarSteve Kuznetsov <skuznets@redhat.com>
      
      ```release-note
      NONE
      ```
      
      /assign @ixdy
      cfbd97c4
    • Kubernetes Submit Queue's avatar
      Merge pull request #51143 from oomichi/issue/43051 · acdf625e
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 51038, 50063, 51257, 47171, 51143)
      
      Add signal handler for catching Ctrl-C on hack/e2e
      
      **What this PR does / why we need it**:
      
      When operating e2e test, hack/e2e.go process creates kubetest process.
      To kill the kubetest process when stop e2e test with Ctrl-C, we need
      to send the signal to the process because it also creates another
      process and it needs to kill it.
      This PR adds the signal handler on hack/e2e.go to kill the kubetest
      process.
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
      
      fixes #43051
      
      **Special notes for your reviewer**:
      
      https://github.com/kubernetes/test-infra/pull/4154 is the part of kubetest.
      
      **Release note**:
      
      `NONE`
      acdf625e
    • Kubernetes Submit Queue's avatar
      Merge pull request #47171 from xilabao/validate-nonResourceURL-in-create-clusterrole · 08c2071b
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 51038, 50063, 51257, 47171, 51143)
      
      validate nonResourceURL in create clusterrole
      
      **Release note**:
      
      ```release-note
      NONE
      ```
      08c2071b
    • Kubernetes Submit Queue's avatar
      Merge pull request #51257 from NickrenREN/validation-bugfix · cd908f3e
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 51038, 50063, 51257, 47171, 51143)
      
      Fix validation return value
      
      Errors returned by some validation functions may be wrong
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #51256
      
      
      **Release note**:
      ```release-note
      NONE
      ```
      cd908f3e
    • Kubernetes Submit Queue's avatar
      Merge pull request #50063 from dixudx/manifests_use_hostpath_type · 16a438b5
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 51038, 50063, 51257, 47171, 51143)
      
      update related manifest files to use hostpath type
      
      **What this PR does / why we need it**:
      Per [discussion in #46597](https://github.com/kubernetes/kubernetes/pull/46597#pullrequestreview-53568947)
      
      Dependes on #46597
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
      
      Fixes: https://github.com/kubernetes/kubeadm/issues/298
      
      **Special notes for your reviewer**:
      /cc @euank @thockin @tallclair @Random-Liu 
      
      **Release note**:
      
      ```release-note
      None
      ```
      16a438b5
    • Kubernetes Submit Queue's avatar
      Merge pull request #51038 from nicksardo/gce-netproj · c02afa6e
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      GCE: Consume new config value for network project id
      
      This PR will allow users to specify the network's project ID in gce.conf. If it's not specified, it will be filled with `ProjectID`.  This means that `network-project-id` is a required field for building a cluster on a shared VPC network. However, this means the field does not need to be specified for GKE clusters on non-shared networks. 
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
      Fixes #48515
      
      **Special notes for your reviewer**:
      /assign @bowei @freehan 
      
      **Release note**:
      ```release-note
      NONE
      ```
      c02afa6e
    • Walter Fender's avatar
      Fixed gke auth update wait condition. · 3b9485bb
      Walter Fender authored
      Lookup whoami on gke using gcloud auth list.
      Make sure we do not run the test on any cluster older than 1.7.
      Fix for Mehdy
      Fixes for LavaLamp
      3b9485bb
    • Kubernetes Submit Queue's avatar
      Merge pull request #51207 from yguo0905/uc · 5f805a5e
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 50033, 49988, 51132, 49674, 51207)
      
      Update cos image to cos-stable-60-9592-84-0
      
      cos-m60 has been stable for a long time. This image contains a docker upgrade, which has been validated in https://github.com/kubernetes/kubernetes/issues/42926.
      
      **Release note**:
      
      ```
      None
      ```
      
      /assign @yujuhong 
      /cc @dchen1107
      5f805a5e
    • Kubernetes Submit Queue's avatar
      Merge pull request #49674 from crimsonfaith91/rollout · c19785cf
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 50033, 49988, 51132, 49674, 51207)
      
      StatefulSet kubectl rollout command
      
      **What this PR does / why we need it**: This PR implements StatefulSet kubectl rollout command, covering `history`, `status`, and `undo`.
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #49890 
      
      **Special notes for your reviewer**:
      
      **Release note**:
      
      ```release-note
      kubectl rollout `history`, `status`, and `undo` subcommands now support StatefulSets.
      ```
      c19785cf
    • Kubernetes Submit Queue's avatar
      Merge pull request #51132 from ConnorDoyle/cpuset-helpers · fe0c519f
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 50033, 49988, 51132, 49674, 51207)
      
      Add cpuset helper library.
      
      Blocker for CPU manager #49186 (1 of 6)
      
      @sjenning @derekwaynecarr 
      
      ```release-note
      NONE
      ```
      fe0c519f
    • Kubernetes Submit Queue's avatar
      Merge pull request #49988 from sbezverk/fsgroup_check · dfd1ca77
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 50033, 49988, 51132, 49674, 51207)
      
      Adding fsGroup check before mounting a volume
      
      fsGroup check will be enforcing that if a volume has already been
      mounted by one pod and another pod wants to mount it but has a different
      fsGroup value, this mount operation will not be allowed.
      
      Closes #45053
      dfd1ca77
    • Kubernetes Submit Queue's avatar
      Merge pull request #50033 from cmluciano/cml/addnpcidrselector · c04e5163
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 50033, 49988, 51132, 49674, 51207)
      
      Add IPBlock to Network Policy
      
      **What this PR does / why we need it**:
       Add ipBlockRule to NetworkPolicyPeer.
      
      **Which issue this PR fixes**
      fixes #49978
      
      **Special notes for your reviewer**:
      - I added this directly as a field on the existing API per guidance from API-Machinery/lazy SIG-Network consensus.
      
      Todo:
      - [ ] Documentation comments to mention this is beta, unless we want to go straight to GA
      - [ ] e2e tests
      
      **Release note**:
      ```
      Support ipBlock in NetworkPolicy
      ```
      c04e5163
    • Lucas Käldström's avatar
      2c718143
    • Kubernetes Submit Queue's avatar
      Merge pull request #50841 from zjj2wry/kubectl-set-image-ignoring · cb6f32e8
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 50872, 51103, 51220, 51285, 50841)
      
      Fix issue(#49695)kubectl set image deployment is ignoring --selector
      
      **What this PR does / why we need it**:
      closes #49695
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
      
      **Special notes for your reviewer**:
      
      **Release note**:
      
      ```release-note
      NONE
      ```
      cb6f32e8
    • Kubernetes Submit Queue's avatar
      Merge pull request #51285 from jordanlewis/patch-1 · 0a51ba11
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 50872, 51103, 51220, 51285, 50841)
      
      Update CockroachDB tag to v1.0.5
      
      cc @a-robinson
      0a51ba11
    • Kubernetes Submit Queue's avatar
      Merge pull request #51220 from grodrigues3/add-sig-leads-owners-aliases · 1206ce61
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 50872, 51103, 51220, 51285, 50841)
      
      add sig leads to owners-aliases
      
      **What this PR does / why we need it**:
      Adds sig leads listed in community sigs.yaml file into OWNERS aliases.  Useful for granting privileges to sig leads, such as accepting issues into the milestone during burndown by adding `approved-for-milestone` label.
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
      
      **Special notes for your reviewer**:
      
      **Release note**:
      
      ```release-note
      ```
      
      @marun @spiffxp @dchen1107
      1206ce61
    • Kubernetes Submit Queue's avatar
      Merge pull request #51103 from jsafrane/exec-scaleio · 256113f7
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 50872, 51103, 51220, 51285, 50841)
      
      ScaleIO:  Use VolumeHost.GetExec() to execute stuff in volume plugins
      
      This PR updates ScaleIO volume plugin to use `VolumeHost.GetExec()` to execute utilities like mkfs and lsblk instead of simple `os/exec` + to use a fresh `mounter` for every `SetUp` / `TearDown` calls, as they may be different each time.
      
      This prepares the volume plugin to run these utilities in containers instead of running them on the host + makes the volume plugin more independent and less hardcoded.
      
      See proposal in https://github.com/kubernetes/community/pull/589.
      
      Note that this PR does **not** change place where the utilities are executed - `VolumeHost.GetExec()` still leads directly to `os/exec`. It will be changed when the aforementioned proposal is merged and implemented.
      
      **Special notes for your reviewer**:
      
      * I needed to pass `mount.Exec` interface from the place where it is available down to `SioClient` where it's needed to execute stuff.
      
      
      @kubernetes/sig-storage-pr-reviews 
      /assign @vladimirvivien @rootfs 
      
      **Release note**:
      ```release-note
      NONE
      ```
      256113f7
    • Kubernetes Submit Queue's avatar
      Merge pull request #50872 from luxas/kubeadm_upgrade_cmds · 43c1b5ff
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 50872, 51103, 51220, 51285, 50841)
      
      kubeadm: Add 'kubeadm upgrade plan' and 'kubeadm upgrade apply' CLI commands
      
      **What this PR does / why we need it**:
      
      This PR is splitted out from: https://github.com/kubernetes/kubernetes/pull/48899 and only handles the CLI/command code. It adds no-op functions only to `phases/upgrade`.
      
      A large chunk of this code is unit tests.
      The code here should be pretty straightforward as there is no actual upgrade or business logic here.
      It would be cool to get this merged soon-ish.
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
      
      fixes: https://github.com/kubernetes/kubeadm/issues/14
      
      **Special notes for your reviewer**:
      
      **Release note**:
      
      ```release-note
      NONE
      ```
      @kubernetes/sig-cluster-lifecycle-pr-reviews PTAL
      43c1b5ff
    • Nick Sardo's avatar
      0028385e
    • Kubernetes Submit Queue's avatar
      Merge pull request #51261 from xilabao/remove-deprecated-rule · b248f777
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 46986, 51214, 51169, 50155, 51261)
      
      remove deprecated rbac rule
      
      **What this PR does / why we need it**:
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
      
      **Special notes for your reviewer**:
      
      **Release note**:
      
      ```release-note
      NONE
      ```
      b248f777
    • Kubernetes Submit Queue's avatar
      Merge pull request #50155 from lucab85/i18n-Italian · 6a3647a7
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 46986, 51214, 51169, 50155, 51261)
      
      Add Italian translation for kubectl
      
      **What this PR does / why we need it:**
      This PR provides first attempt to translate kubectl in Italian (related to #40645, #45573,
      #45562, #40591, #46559).
      
      **Which issue this PR fixes** _(`optional, in fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)_: fixes #
      No issues
      
      **Special notes for your reviewer:**
      This PR requires Italian people to assist in the review. I'm native in Italian with BS in Computer Science.
      
      ```release-note
      Adding Italian translation for kubectl
      ```
      6a3647a7
    • Kubernetes Submit Queue's avatar
      Merge pull request #51169 from MikaelCluseau/wip-flexvolume-caps · 2b28555c
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 46986, 51214, 51169, 50155, 51261)
      
      refactor(flexvolume): simplify capabilities handling
      
      ```release-note
      Simplify capabilities handling in FlexVolume.
      ```
      2b28555c
    • Kubernetes Submit Queue's avatar
      Merge pull request #51214 from sttts/sttts-cut-off-api-apiserver · 26192e1b
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 46986, 51214, 51169, 50155, 51261)
      
      admission api: cut off api from k8s.io/apiserver
      26192e1b
    • Kubernetes Submit Queue's avatar
      Merge pull request #46986 from mbohlool/doc · f4f2137b
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 46986, 51214, 51169, 50155, 51261)
      
      Add OpenAPI README file
      
      Add a README.md file to OpenAPI folder explaining extensions we have on OpenAPI spec.
      
      ref: #0
      f4f2137b
    • Lucas Käldström's avatar
      autogenerated bazel · 396a33dd
      Lucas Käldström authored
      396a33dd
    • Kubernetes Submit Queue's avatar
      Merge pull request #51197 from deads2k/api-02-field-default · d7965e93
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 51114, 51233, 51024, 51053, 51197)
      
      default field selectors
      
      We have a lot of code around field selectors that doesn't add much value. Every gettable resources probably wants name and namespace by default and since they all use metav1 (today), we can assign that as a default. If we think we'll always have metav1 style name and namespace, then this makes a reasonable default and you can always set something different.
      
      This removes cruft and avoids the risk of accidentally forgetting a field selector.  
      
      @kubernetes/sig-api-machinery-misc @smarterclayton
      d7965e93
    • Kubernetes Submit Queue's avatar
      Merge pull request #51053 from thockin/conversion-gen-debug · f65ec4f2
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 51114, 51233, 51024, 51053, 51197)
      
      Add debug logs to conversion-gen
      
      These were useful when tracking a different problem.
      f65ec4f2
    • Kubernetes Submit Queue's avatar
      Merge pull request #51024 from fisherxu/UTautoscaler · 4a4c194b
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 51114, 51233, 51024, 51053, 51197)
      
      add UT for pkg/apis/autoscaling/v2alpha1/defaults.go
      
      **What this PR does / why we need it**:
      add UT for pkg/apis/autoscaling/v2alpha1/defaults.go
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
      
      **Special notes for your reviewer**:
      
      **Release note**:
      
      ```release-note
      None
      ```
      4a4c194b
    • Kubernetes Submit Queue's avatar
      Merge pull request #51233 from bowei/add-alias · c025965d
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 51114, 51233, 51024, 51053, 51197)
      
      Add AddAliasToInstance() to gce cloud provider
      
      - Adds AddAliasToInstance() to the GCE cloud provider.
      - Adds field "secondary-range-name" to the gce.conf configuration file.
      
      ```release-note
      NONE
      ```
      c025965d
    • Kubernetes Submit Queue's avatar
      Merge pull request #51114 from jsafrane/exec-rbd · d3dc9cd9
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 51114, 51233, 51024, 51053, 51197)
      
      rbd: Use VolumeHost.GetExec() to execute stuff in volume plugins
      
      **What this PR does / why we need it**:
      
      This PR updates rbd volume plugin to use `VolumeHost.GetExec()` to execute utilities like mkfs and lsblk instead of simple `os/exec`. This prepares the volume plugin to run these utilities in containers instead of running them on the host + makes the volume plugin more independent and less hardcoded.
      
      See proposal in https://github.com/kubernetes/community/pull/589.
      
      Note that this PR does **not** change place where the utilities are executed - `VolumeHost.GetExec()` still leads directly to `os/exec`. It will be changed when the aforementioned proposal is merged and implemented.
      
      @kubernetes/sig-storage-pr-reviews 
      
      **Release note**:
      ```release-note
      NONE
      ```
      d3dc9cd9