1. 29 Apr, 2017 14 commits
    • Ricky Pai's avatar
    • Kubernetes Submit Queue's avatar
      Merge pull request #44196 from xiangpengzhao/cmd-cleanup · 55f802b7
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Delete "hard-coded" default value in flags usage.
      
      **What this PR does / why we need it**:
      Some flags of kubernetes components have "hard-coded" default values in their usage info. In fact, [pflag pkg](https://github.com/kubernetes/kubernetes/blob/master/vendor/github.com/spf13/pflag/flag.go#L602-L608) has already added a string `(default value)` automatically in the usage info if the flag is initialized. Then we don't need to hard-code the default value in usage info. After this PR, if we want to update the default value of a flag, we only need to update the flag where it is initialized. `pflag` will update the usage info for us. This will avoid inconsistency.
      
      For example:
      Before
      ```
      kubelet -h
      ...
      --node-status-update-frequency duration                   Specifies how often kubelet posts node status to master. Note: be cautious when changing the constant, it must work with nodeMonitorGracePeriod in nodecontroller. Default: 10s (default 10s)
      ...
      ```
      
      After
      ```
      kubelet -h
      ...
      --node-status-update-frequency duration                   Specifies how often kubelet posts node status to master. Note: be cautious when changing the constant, it must work with nodeMonitorGracePeriod in nodecontroller. (default 10s)
      ...
      ```
      
      **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**:
      This PR doesn't delete some "hard-coded" default values because they are not explicitly initialized. We still need to hard-code them to give users friendly info.
      
      ```
      --allow-privileged                                        If true, allow containers to request privileged mode. [default=false]
      ```
      
      **Release note**:
      
      ```release-note
      None
      ```
      55f802b7
    • Kubernetes Submit Queue's avatar
      Merge pull request #45123 from spiffxp/osx-make-test-integration-2 · 9c1f7bff
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 41583, 45117, 45123)
      
      Allow `make test-integration` to pass on OSX
      
      **What this PR does / why we need it**: `make test-integration` isn't passing on my OSX setup (10.11.6, go1.8.1, 17.05.0-ce-rc1).  Tests that startup an api server fail because the default `cert-dir` of `/var/run/kubernetes` isn't world-writable.  Use a tempdir instead.
      
      **Release note**:
      ```release-note
      NONE
      ```
      
      ref: #41595
      
      /cc @kubernetes/sig-testing-pr-reviews
      9c1f7bff
    • Kubernetes Submit Queue's avatar
      Merge pull request #45117 from chuckbutler/add-cifs · 02f9d607
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 41583, 45117, 45123)
      
      Adds the cifs-common package
      
      **What this PR does / why we need it**:  Enables mounting of CIFS volumes. Required for Azure.
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes https://github.com/juju-solutions/bundle-canonical-kubernetes/issues/227
      
      **Release note**:
      
      ```release-note
      Added CIFS PV support for Juju Charms
      ```
      02f9d607
    • Kubernetes Submit Queue's avatar
      Merge pull request #41583 from verb/sharedpid · e2042bb8
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 41583, 45117, 45123)
      
      Implement shared PID namespace in the dockershim
      
      **What this PR does / why we need it**: Defaults the Docker CRI to using a shared PID namespace for pods. Implements proposal in https://github.com/kubernetes/community/pull/207 tracked by #1615.
      
      //cc @dchen1107 @vishh @timstclair 
      
      **Special notes for your reviewer**: none
      
      **Release note**:
      ```release-note
      Some container runtimes share a process (PID) namespace for all containers in a pod. This will become the default for Docker in a future release of Kubernetes. You can preview this functionality if running with the CRI and Docker 1.13.1 by enabling the --experimental-docker-enable-shared-pid kubelet flag.
      ```
      e2042bb8
    • Kubernetes Submit Queue's avatar
      Merge pull request #45132 from saad-ali/removeRkouj · f63270fe
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Remove rkouj from owners files.
      
      Remove inactive member, @rkouj, from storage owners files.
      
      CC @rkouj
      f63270fe
    • Kubernetes Submit Queue's avatar
      Merge pull request #45094 from aleksandra-malinowska/stackdriver-monitoring-test-debug · c6f0939a
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Stackdriver test fix
      
      Extend timeout & add logging missing metrics
      c6f0939a
    • Kubernetes Submit Queue's avatar
      Merge pull request #45112 from liggitt/quote-log-message · dc5744b6
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Quote groups in deny log message
      
      Helps distinguish cases where an external authenticator is incorrectly combining multiple groups into one.
      
      Before:
      > RBAC DENY: user "bob" groups [system:masters view system:authenticated] cannot "list" resource "pods" cluster-wide
      
      After:
      > RBAC DENY: user "bob" groups ["system:masters view" "system:authenticated"] cannot "list" resource "pods" cluster-wide
      dc5744b6
    • Kubernetes Submit Queue's avatar
      Merge pull request #43301 from deads2k/agg-27-add-conditions · ce01882e
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 44044, 44766, 44930, 45109, 43301)
      
      add APIService conditions
      
      Adds conditions to the APIServiceStatus struct and fixes up generators that appear to have slipped.
      
      The first condition is "ServiceAvailable" which will provide the status currently derived in the discovery handler that decides about whether to expose the version in discovery.
      
      @kubernetes/sig-api-machinery-pr-reviews @liggitt @ncdc
      ce01882e
    • Kubernetes Submit Queue's avatar
      Merge pull request #45109 from rootfs/azure-e2e-pr · 87792a00
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 44044, 44766, 44930, 45109, 43301)
      
      e2e test: test azure disk volume
      
      **What this PR does / why we need it**:
      E2E test Azure disk volume
      **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**:
      @kubernetes/sig-testing-pr-reviews 
      
      **Release note**:
      ```release-note
      NONE
      ```
      87792a00
    • Kubernetes Submit Queue's avatar
      Merge pull request #44930 from fabianofranz/issue_44832 · 3a2a01bd
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 44044, 44766, 44930, 45109, 43301)
      
      Fixes get -oname for unstructured objects
      
      Fixes https://github.com/kubernetes/kubernetes/issues/44832
      
      Make sure we display kind in `kubectl get -o name` for unknown resource types.
      
      **Release note**:
      
      ```release-note
      NONE
      ```
      3a2a01bd
    • Kubernetes Submit Queue's avatar
      Merge pull request #44766 from wojtek-t/better_locking_mechanism · 10f90b66
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 44044, 44766, 44930, 45109, 43301)
      
      Reduce lock contention in KubeProxy
      10f90b66
    • Kubernetes Submit Queue's avatar
      Merge pull request #44044 from mikkeloscar/prestop-noauth · 63d4be02
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      e2e: Remove special serviceaccount permission requirement
      
      **What this PR does / why we need it**:
      
      This removes the requirement for having a `default` serviceaccount with permission `create` `pod` in order to run the prestop e2e conformance test.
      
      The `create` `pod` permissions are not needed for this particular test, and having it effectively means that as cluster must have a `default` serviceaccount with `create` `pod` permissions in order to be conformant, which I don't think is desired.
      
      **Special notes for your reviewer**:
      
      **Release note**:
      
      ```release-note
      None
      ```
      63d4be02
    • saadali's avatar
      Remove rkouj from owners files. · eacc4837
      saadali authored
      eacc4837
  2. 28 Apr, 2017 26 commits
    • Mike Danese's avatar
      Merge pull request #45127 from mikedanese/fix-build · 13b7c95f
      Mike Danese authored
      update busybox to fix build
      13b7c95f
    • Aaron Crickenberger's avatar
      Avoid non-writable `/var/run` in integration tests · e847009d
      Aaron Crickenberger authored
      `/var/run` is not world-writable on my OSX 10.11.x setup, so tests that
      standup a secure apiserver fail with the default cert dir.  Use a
      tempdir instead.
      e847009d
    • Mike Danese's avatar
      fix build · 2c7e2e9c
      Mike Danese authored
      2c7e2e9c
    • Kubernetes Submit Queue's avatar
      Merge pull request #45032 from everett-toews/rm-rackspace · 0a0b6889
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Remove the Rackspace provider
      
      **What this PR does / why we need it**:
      
      To aid the effort of moving providers out of the cluster dir, I'm
      removing Rackspace and leaving behind a README.md simply as a
      placeholder until the entire dir is deleted.
      
      **Which issue this PR fixes**
      
      Fixes #6962
      
      **Release note**:
      
      ```release-note
      Deployment of Kubernetes clusters on Rackspace using the in-tree bash deployment (i.e. cluster/kube-up.sh or get-kube.sh) is obsolete and support has been removed.```
      0a0b6889
    • Kubernetes Submit Queue's avatar
      Merge pull request #44952 from CaoShuFeng/proxy_reject_path · 0afab578
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Log warning when invalid dir passed to kubectl proxy --www
      
      **Release note**:
      
      ```
      Log warning when invalid directory is passed to `kubectl proxy --www`
      ```
      0afab578
    • Kubernetes Submit Queue's avatar
      Merge pull request #44938 from jayunit100/cleanup-orphan-logging · e06fc087
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 45033, 44961, 45021, 45097, 44938)
      
      Cleanup orphan logging that goes on in the sync loop.
      
      **What this PR does / why we need it**:
      
      Fixes #44937  
      
      **Before this PR** The older logs were like this:
      
      ```
      E0426 00:06:33.763347   21247 kubelet_volumes.go:114] Orphaned pod "35c4a858-2a12-11e7-910c-42010af00003" found, but volume paths are still present on disk.
      E0426 00:06:33.763400   21247 kubelet_volumes.go:114] Orphaned pod "e7676365-1580-11e7-8c27-42010af00003" found, but volume paths are still present on disk.
      ```
      
      The problem being that, all the volumes were spammed w/ no summary info.   
      
      **After this PR** the logs look like this:
      
      ```
      E0426 01:32:27.295568   22261 kubelet_volumes.go:129] Orphaned pod "408b060e-2a1d-11e7-90e8-42010af00003" found, but volume paths are still present on disk. : There were a total of 2 errors similar to this.  Turn up verbosity to see them.
      E0426 01:32:29.295515   22261 kubelet_volumes.go:129] Orphaned pod "408b060e-2a1d-11e7-90e8-42010af00003" found, but volume paths are still present on disk. : There were a total of 2 errors similar to this.  Turn up verbosity to see them.
      E0426 01:32:31.293180   22261 kubelet_volumes.go:129] Orphaned pod "408b060e-2a1d-11e7-90e8-42010af00003" found, but volume paths are still present on disk. : There were a total of 2 errors similar to this.  Turn up verbosity to see them.
      ```
      
      And with logging turned up, the extra info logs are shown with details:
      
      ```
      E0426 01:34:21.933983   26010 kubelet_volumes.go:129] Orphaned pod "1c565800-2a20-11e7-bbc2-42010af00003" found, but volume paths are still present on disk. : There were a total of 3 errors similar to this.  Turn up verbosity to see them.
      I0426 01:34:21.934010   26010 kubelet_volumes.go:131] Orphan pod: Orphaned pod "1c565800-2a20-11e7-bbc2-42010af00003" found, but volume paths are still present on disk.
      I0426 01:34:21.934015   26010 kubelet_volumes.go:131] Orphan pod: Orphaned pod "408b060e-2a1d-11e7-90e8-42010af00003" found, but volume paths are still present on disk.
      I0426 01:34:21.934019   26010 kubelet_volumes.go:131] Orphan pod: Orphaned pod "e7676365-1580-11e7-8c27-42010af00003" found, but volume paths are still present on disk.
      ```
      
      **Release note**
      
      ```release-note
      Roll up volume error messages in the kubelet sync loop.
      ```
      e06fc087
    • Kubernetes Submit Queue's avatar
      Merge pull request #45097 from shyamjvs/report-metrics-grabber-error · b5d4bbb6
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 45033, 44961, 45021, 45097, 44938)
      
      Disable the kubelet part of metrics collection in kubemark
      
      Fixes https://github.com/kubernetes/kubernetes/issues/45038
      
      This should fix it, as we are just interested in getting the apiserver metrics from kubemark master.
      
      cc @wojtek-t @gmarek
      b5d4bbb6
    • Kubernetes Submit Queue's avatar
      Merge pull request #45021 from shyamjvs/add-request-count · 01321936
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 45033, 44961, 45021, 45097, 44938)
      
      Add request count to APICall metric
      
      Ref https://github.com/kubernetes/kubernetes/issues/44701
      
      This should add beside the API call latencies, the count of the requests.
      
      cc @wojtek-t @gmarek
      01321936
    • Kubernetes Submit Queue's avatar
      Merge pull request #44961 from mikedanese/fix-clone · 90d5fbca
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 45033, 44961, 45021, 45097, 44938)
      
      replace CloneTLSConfig() with (*tls.Config).Clone()
      90d5fbca
    • Kubernetes Submit Queue's avatar
      Merge pull request #45033 from timothysc/examples_1 · 7a9808ae
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Prune examples and e2es per discussion on sig-testing
      
      **What this PR does / why we need it**:
      Prune k8petstore from examples and e2es per discussion on sig-testing
      
      **Special notes for your reviewer**:
      This can live elsewhere outside the main repository.  
      
      **Release note**:
      
      ```
      NONE
      ```
      
      /cc @jayunit100 @fejta @kubernetes/sig-testing-pr-reviews
      7a9808ae
    • Kubernetes Submit Queue's avatar
      Merge pull request #37499 from fabianofranz/kubectl_plugins · d4ece0ab
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      kubectl binary plugins
      
      **What this PR does / why we need it**:
      
      Introduces the ability to extend `kubectl` by adding third-party plugins that will be exposed through `kubectl`.
      
      Plugins are executable commands written in any language. To be included as a plugin, a binary or script file has to
      
      1. be located under one of the supported plugin path locations:
      1.1 `~/.kubectl/plugins` dir
      1.2. one or more directory set in the `KUBECTL_PLUGINS_PATH` env var
      1.3. the `kubectl/plugins` dir under one or more directory set in the `XDG_DATA_DIRS` env var, which defaults to `/usr/local/share:/usr/share`
      2. in any of the plugin path above, have a subfolder with the plugin file(s)
      3. in the subfolder, contain at least a `plugin.yaml` file that describes the plugin
      
      Example:
      
      ```
      $ cat ~/.kube/plugins/myplugin/plugin.yaml
      name: "myplugin"
      shortDesc: "My plugin's short description"
      command: "echo Hello plugins!"
      
      $ kubectl myplugin
      Hello plugins!
      ```
      
      ~~In case the plugin declares `tunnel: true`, the plugin engine will pass the `KUBECTL_PLUGIN_API_HOST` env var when calling the plugin binary. Plugins can then access the Kube REST API in "http://$KUBECTL_PLUGIN_API_HOST/api" using the same context currently in use by `kubectl`.~~
      
      Test plugins are provided in `pkg/kubectl/plugins/examples`. Just copy (or symlink) the files to `~/.kube/plugins` to test.
      
      **Which issue this PR fixes**:
      
      Related to the discussions in the proposal document: https://github.com/kubernetes/kubernetes/pull/30086 and https://github.com/kubernetes/community/pull/122.
      
      **Release note**:
      ```release-note
      Introduces the ability to extend kubectl by adding third-party plugins. Developer preview, please refer to the documentation for instructions about how to use it.
      ```
      d4ece0ab
    • Huamin Chen's avatar
      e2e test: test azure disk volume · 165d46a0
      Huamin Chen authored
      Signed-off-by: 's avatarHuamin Chen <hchen@redhat.com>
      165d46a0
    • Charles Butler's avatar
      Adds the cifs-common package · 9ee4e99d
      Charles Butler authored
      Enable mounting of filesystems over the CIFS protocol. Closes
      https://github.com/juju-solutions/bundle-canonical-kubernetes/issues/227
      9ee4e99d
    • Kubernetes Submit Queue's avatar
      Merge pull request #44350 from deads2k/server-17-watch · 9fbefe3b
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 44868, 44350)
      
      build external watch event so simple encoders can encode
      
      `kube-apiserver` clients require a specific serialization of `watch.Event` to function properly.  There is no reason to allow flexibility of serialization at this point since no client would able to understand a different encoding.
      
      I found this which trying to use a simple, unstructured json encoder and the clients kept choking on watches because it serialized without the proper json tags.
      
      @kubernetes/sig-api-machinery-pr-reviews
      9fbefe3b
    • Kubernetes Submit Queue's avatar
      Merge pull request #44868 from vmware/dsclustersupport · fd19b6ce
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Adding datastore cluster support for dynamic and static pv
      
      **What this PR does / why we need it**:
      
      Customer reported with version 1.4.7 he could use a datastore that is in a cluster as a vsphere volume. When he upgraded to 1.6.0, this same exact path does not work and throws a datastore not found error. 
      
      This PR is adding support to allow using datastore within cluster for volume provisioning.
      
      **Which issue this PR fixes** : 
      fixes https://github.com/kubernetes/kubernetes/issues/44007
      
      **Special notes for your reviewer**:
      
      **Created datastore cluster as below.**
      
      ![ds-cluster](https://cloud.githubusercontent.com/assets/22985595/25350381/d2652c24-28d9-11e7-8659-097bd9b844bb.jpg)
      
      
      **Verified  dynamic PV provisioning and pod creation using datastore (sharedVmfs-0) in a cluster (DatastoreCluster).**
      ```
      $ cat thin_sc.yaml 
      kind: StorageClass
      apiVersion: storage.k8s.io/v1
      metadata:
        name: thin
      provisioner: kubernetes.io/vsphere-volume
      parameters:
          diskformat: thin
          datastore: DatastoreCluster/sharedVmfs-0
      ```
      
      
      ```
      $ kubectl create -f thin_sc.yaml 
      storageclass "thin" created
      $ kubectl describe storageclass thin
      Name:		thin
      IsDefaultClass:	No
      Annotations:	<none>
      Provisioner:	kubernetes.io/vsphere-volume
      Parameters:	datastore=DatastoreCluster/sharedVmfs-0,diskformat=thin
      No events.
      $ 
      ```
      
      
      ```
      $ kubectl create -f thin_pvc.yaml 
      persistentvolumeclaim "thinclaim" created
      ```
      
      ```
      $ kubectl get pvc
      NAME        STATUS    VOLUME                                     CAPACITY   ACCESSMODES   AGE
      thinclaim   Bound     pvc-581805e3-290d-11e7-9ad8-005056bd81ef   2Gi        RWO           1m
      ```
      
      ```
      $ kubectl get pv
      NAME                                       CAPACITY   ACCESSMODES   RECLAIMPOLICY   STATUS    CLAIM               REASON    AGE
      pvc-581805e3-290d-11e7-9ad8-005056bd81ef   2Gi        RWO           Delete          Bound     default/thinclaim             1m
      
      ```
      
      
      ```
      $ kubectl describe pvc thinclaim
      Name:		thinclaim
      Namespace:	default
      StorageClass:	thin
      Status:		Bound
      Volume:		pvc-581805e3-290d-11e7-9ad8-005056bd81ef
      Labels:		<none>
      Capacity:	2Gi
      Access Modes:	RWO
      Events:
        FirstSeen	LastSeen	Count	From				SubObjectPath	Type		Reason			Message
        ---------	--------	-----	----				-------------	--------	------			-------
        39s		39s		1	{persistentvolume-controller }			Normal		ProvisioningSucceeded	Successfully provisioned volume pvc-581805e3-290d-11e7-9ad8-005056bd81ef using kubernetes.io/vsphere-volume
      ```
      
      
      ```
      $ kubectl describe pv pvc-581805e3-290d-11e7-9ad8-005056bd81ef
      Name:		pvc-581805e3-290d-11e7-9ad8-005056bd81ef
      Labels:		<none>
      StorageClass:	
      Status:		Bound
      Claim:		default/thinclaim
      Reclaim Policy:	Delete
      Access Modes:	RWO
      Capacity:	2Gi
      Message:	
      Source:
          Type:	vSphereVolume (a Persistent Disk resource in vSphere)
          VolumePath:	[DatastoreCluster/sharedVmfs-0] kubevols/kubernetes-dynamic-pvc-581805e3-290d-11e7-9ad8-005056bd81ef.vmdk
          FSType:	ext4
      No events.
      
      ```
      ```
      
      $ kubectl create -f thin_pod.yaml 
      pod "thinclaimpod" created
      ```
      ```
      
      $ kubectl get pod
      NAME           READY     STATUS    RESTARTS   AGE
      thinclaimpod   1/1       Running   0          1m
      ```
      
      
      ```
      $ kubectl describe pod thinclaimpod
      Name:		thinclaimpod
      Namespace:	default
      Node:		node3/172.1.56.0
      Start Time:	Mon, 24 Apr 2017 09:46:56 -0700
      Labels:		<none>
      Status:		Running
      IP:		172.1.56.3
      Controllers:	<none>
      Containers:
        test-container:
          Container ID:	docker://487f77d92b92ee3d833b43967c8d42433e61cd45a58d8d6f462717301597c84f
          Image:		gcr.io/google_containers/busybox:1.24
          Image ID:		docker://sha256:0cb40641836c461bc97c793971d84d758371ed682042457523e4ae701efe7ec9
          Port:		
          Command:
            /bin/sh
            -c
            echo 'hello' > /mnt/volume1/index.html  && chmod o+rX /mnt /mnt/volume1/index.html && while true ; do sleep 2 ; done
          State:		Running
            Started:		Mon, 24 Apr 2017 09:47:16 -0700
          Ready:		True
          Restart Count:	0
          Volume Mounts:
            /mnt/volume1 from test-volume (rw)
            /var/run/secrets/kubernetes.io/serviceaccount from default-token-cqcq1 (ro)
          Environment Variables:	<none>
      Conditions:
        Type		Status
        Initialized 	True 
        Ready 	True 
        PodScheduled 	True 
      Volumes:
        test-volume:
          Type:	PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
          ClaimName:	thinclaim
          ReadOnly:	false
        default-token-cqcq1:
          Type:	Secret (a volume populated by a Secret)
          SecretName:	default-token-cqcq1
      QoS Class:	BestEffort
      Tolerations:	<none>
      Events:
        FirstSeen	LastSeen	Count	From			SubObjectPath			Type		Reason		Message
        ---------	--------	-----	----			-------------			--------	------		-------
        40s		40s		1	{default-scheduler }					Normal		Scheduled	Successfully assigned thinclaimpod to node3
        22s		22s		1	{kubelet node3}		spec.containers{test-container}	Normal		Pulling		pulling image "gcr.io/google_containers/busybox:1.24"
        21s		21s		1	{kubelet node3}		spec.containers{test-container}	Normal		Pulled		Successfully pulled image "gcr.io/google_containers/busybox:1.24"
        21s		21s		1	{kubelet node3}		spec.containers{test-container}	Normal		Created		Created container with id 487f77d92b92ee3d833b43967c8d42433e61cd45a58d8d6f462717301597c84f
        21s		21s		1	{kubelet node3}		spec.containers{test-container}	Normal		Started		Started container with id 487f77d92b92ee3d833b43967c8d42433e61cd45a58d8d6f462717301597c84f
      ```
      
      
      ```
      $ kubectl delete pod thinclaimpod
      pod "thinclaimpod" deleted
      ```
      
      Verified Disk is detached from the node
      
      ```
      $ kubectl delete pvc thinclaim
      persistentvolumeclaim "thinclaim" deleted
      $ kubectl get pv
      No resources found.
      ```
      Verified Disk is deleted from the datastore.
      Also verified above life cycle using non clustered datastore.
      
      **Verified Using static PV in the datastore cluster for pod provisioning.**
      ```
      # pwd
      /vmfs/volumes/sharedVmfs-0/kubevols
      # vmkfstools -c 2g test.vmdk
      Create: 100% done
      # ls
      test-flat.vmdk  test.vmdk
      ```
      
      
      
      ```
      $ cat pod.yaml 
      apiVersion: v1
      kind: Pod
      metadata:
          name: inject-pod
      spec:
          containers:
          - name: test-container
            image: gcr.io/google_containers/busybox:1.24
            command: ["/bin/sh", "-c", "echo 'hello' > /mnt/volume1/index.html  && chmod o+rX /mnt /mnt/volume1/index.html && while true ; do sleep 2 ; done"]
            volumeMounts:
            - name: test-volume
              mountPath: /mnt/volume1
          securityContext:
            seLinuxOptions:
              level: "s0:c0,c1"
          restartPolicy: Never
          volumes:
          - name: test-volume
            vsphereVolume:
                volumePath: "[DatastoreCluster/sharedVmfs-0] kubevols/test.vmdk"
                fsType: ext4
      ```
      
      ```
      $ kubectl create -f pod.yaml 
      pod "inject-pod" created
      
      $ kubectl get pod
      NAME         READY     STATUS    RESTARTS   AGE
      inject-pod   1/1       Running   0          19s
      
      $ kubectl describe pod inject-pod
      Name:		inject-pod
      Namespace:	default
      Node:		node3/172.1.56.0
      Start Time:	Mon, 24 Apr 2017 10:27:22 -0700
      Labels:		<none>
      Status:		Running
      IP:		172.1.56.3
      Controllers:	<none>
      Containers:
        test-container:
          Container ID:	docker://ed14e058fbcc9c2d8d30ff67bd614e45cf086afbbff070744c5a461e87c45103
          Image:		gcr.io/google_containers/busybox:1.24
          Image ID:		docker://sha256:0cb40641836c461bc97c793971d84d758371ed682042457523e4ae701efe7ec9
          Port:		
          Command:
            /bin/sh
            -c
            echo 'hello' > /mnt/volume1/index.html  && chmod o+rX /mnt /mnt/volume1/index.html && while true ; do sleep 2 ; done
          State:		Running
            Started:		Mon, 24 Apr 2017 10:27:40 -0700
          Ready:		True
          Restart Count:	0
          Volume Mounts:
            /mnt/volume1 from test-volume (rw)
            /var/run/secrets/kubernetes.io/serviceaccount from default-token-cqcq1 (ro)
          Environment Variables:	<none>
      Conditions:
        Type		Status
        Initialized 	True 
        Ready 	True 
        PodScheduled 	True 
      Volumes:
        test-volume:
          Type:	vSphereVolume (a Persistent Disk resource in vSphere)
          VolumePath:	[DatastoreCluster/sharedVmfs-0] kubevols/test.vmdk
          FSType:	ext4
        default-token-cqcq1:
          Type:	Secret (a volume populated by a Secret)
          SecretName:	default-token-cqcq1
      QoS Class:	BestEffort
      Tolerations:	<none>
      Events:
        FirstSeen	LastSeen	Count	From			SubObjectPath			Type		Reason		Message
        ---------	--------	-----	----			-------------			--------	------		-------
        44s		44s		1	{default-scheduler }					Normal		Scheduled	Successfully assigned inject-pod to node3
        26s		26s		1	{kubelet node3}		spec.containers{test-container}	Normal		Pulled		Container image "gcr.io/google_containers/busybox:1.24" already present on machine
        26s		26s		1	{kubelet node3}		spec.containers{test-container}	Normal		Created		Created container with id ed14e058fbcc9c2d8d30ff67bd614e45cf086afbbff070744c5a461e87c45103
        26s		26s		1	{kubelet node3}		spec.containers{test-container}	Normal		Started		Started container with id ed14e058fbcc9c2d8d30ff67bd614e45cf086afbbff070744c5a461e87c45103
      ```
      
      
      **Release note**:
      
      ```release-note
      none
      ```
      
      cc: @BaluDontu @moserke @tusharnt @pdhamdhere
      fd19b6ce
    • Kubernetes Submit Queue's avatar
      Merge pull request #44489 from CaoShuFeng/SelfLinkPathPrefix · 2315008e
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Fix PathPrefix for subresources
      
      before this change:
      $ curl -s http://172.16.116.128:8080/api/v1/nodes/kubenet-02/status | grep selfLink
          "selfLink": "/api/v1/nodes/{name}/status/kubenet-02/status",
      after this change:
      $ curl -s http://172.16.116.128:8080/api/v1/nodes/kubenet-02/status | grep selfLink
          "selfLink": "/api/v1/nodes/kubenet-02/status",
      
      related to:
      #44462
      
      **Release note**:
      
      ```NONE
      ```
      2315008e
    • Fabiano Franz's avatar
      Fixes get -oname for unstructured objects · 1aa84d10
      Fabiano Franz authored
      1aa84d10
    • Kubernetes Submit Queue's avatar
      Merge pull request #45105 from sttts/sttts-taint-controller-test-timing · dbce213e
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      taint-controller-tests: double 'a bit of time' to avoid flakes
      dbce213e
    • Kubernetes Submit Queue's avatar
      Merge pull request #41985 from ericchiang/bootstrap-token-auth-logging · 88ad8b9c
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 41530, 44814, 43620, 41985)
      
      kube-apiserver: improve bootstrap token authentication error messages
      
      This was requested by @jbeda as a follow up to https://github.com/kubernetes/kubernetes/pull/41281.
      
      cc @jbeda @luxas @kubernetes/sig-auth-pr-reviews
      88ad8b9c
    • Kubernetes Submit Queue's avatar
      Merge pull request #43620 from ktsakalozos/bug/juju-master · 929bb8b5
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 41530, 44814, 43620, 41985)
      
      Fixes juju kubernetes master: 1. Get certs from a dead leader. 2. Append tokens.
      
      **What this PR does / why we need it**:
      Fixes two issues with the Juju kubernetes master.
      
      1. Grab certificates from a leader that is already removed.
      2. Append (not truncate) auth tokens 
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
      fixes #43563 fixes #43519
      
      **Special notes for your reviewer**:
      
      **Release note**:
      
      ```
      Recover certificates from leadership context in case all masters die in a Juju deployment
      ```
      929bb8b5
    • Kubernetes Submit Queue's avatar
      Merge pull request #44814 from weizhanxu/controllerRef_no_Need_Check_nil_again · 58aebcd6
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 41530, 44814, 43620, 41985)
      
      no need check is nil, because has checked before
      
      **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
      ```
      58aebcd6
    • Timothy St. Clair's avatar
    • Jordan Liggitt's avatar
      Quote groups in deny log message · e87bce1f
      Jordan Liggitt authored
      e87bce1f
    • Kubernetes Submit Queue's avatar
      Merge pull request #41530 from bruceauyeung/k8s-branch-do-not-use-underscores-in-go-variable-names · d6fd997d
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      rename variables to make sure that they conform to golang variable name conventions
      
      rename variables to make sure that they conform to golang variable name conventions
      
      **What this PR does / why we need it**:
      
      there are lots of package level unexported variables in package `cmd` not conforming golang variable name conventions, such as `version_example`, in this PR i rename all of them to make sure that they conform to golang variable name conventions
      d6fd997d
    • Aleksandra Malinowska's avatar
      79cef8a4
    • Dr. Stefan Schimanski's avatar