1. 02 Nov, 2016 5 commits
    • Kubernetes Submit Queue's avatar
      Merge pull request #35348 from Random-Liu/kuberuntime-container-logs · 479ff417
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      CRI: Add kuberuntime container logs
      
      Based on https://github.com/kubernetes/kubernetes/pull/34858.
      
      The first 2 commits are from #34858. And the last 2 commits are new.
      
      This PR added kuberuntime container logs support and add unit test for it.
      
      I've tested all the functions manually, and I'll send another PR to write a node e2e test for container log.
      
      **_Notice: current implementation doesn't support log rotation**_, which means that:
      - It will not retrieve logs in rotated log file.
      - If log rotation happens when following the log:
        - If the rotation is using create mode, we'll still follow the old file.
        - If the rotation is using copytruncate, we'll be reading at the original position and get nothing.
      
      To solve these issues, kubelet needs to rotate the log itself, or at least kubelet should be able to control the the behavior of log rotator. These are doable but out of the scope of 1.5 and will be addressed in future release.
      
      @yujuhong @feiskyer @yifan-gu 
      /cc @kubernetes/sig-node
      479ff417
    • Kubernetes Submit Queue's avatar
      Merge pull request #35235 from foxish/node-controller-no-force-deletion · 49e7d640
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      Node controller to not force delete pods
      
      Fixes https://github.com/kubernetes/kubernetes/issues/35145
      
      - [x] e2e tests to test Petset, RC, Job.
      - [x] Remove and cover other locations where we force-delete pods within the NodeController.
      
      **Release note**:
      
      <!--  Steps to write your release note:
      1. Use the release-note-* labels to set the release note state (if you have access) 
      2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`. 
      -->
      
      ``` release-note
      Node controller no longer force-deletes pods from the api-server.
      
      * For StatefulSet (previously PetSet), this change means creation of replacement pods is blocked until old pods are definitely not running (indicated either by the kubelet returning from partitioned state, or deletion of the Node object, or deletion of the instance in the cloud provider, or force deletion of the pod from the api-server). This has the desirable outcome of "fencing" to prevent "split brain" scenarios.
      * For all other existing controllers except StatefulSet , this has no effect on the ability of the controller to replace pods because the controllers do not reuse pod names (they use generate-name).
      * User-written controllers that reuse names of pod objects should evaluate this change.
      ```
      49e7d640
    • Kubernetes Submit Queue's avatar
      Merge pull request #35013 from justinsb/us_east_2 · 7760c2f5
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      AWS: recognize us-east-2 region
      7760c2f5
    • Kubernetes Submit Queue's avatar
      Merge pull request #35998 from yujuhong/fix_enum · ecfde2b8
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      CRI: Rename container/sandbox states
      
      The enum constants are not namespaced. The shorter, unspecifc names are likely
      to cause naming conflicts in the future.
      
      Also replace "SandBox" with "Sandbox" in the API for consistency.
      
      /cc @kubernetes/sig-node
      ecfde2b8
    • Kubernetes Submit Queue's avatar
      Merge pull request #30091 from rootfs/azure-storage · 3d33b45e
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue
      
      support Azure disk dynamic provisioning
      
      azure disk dynamic provisioning
      
      A screen shot 
      
      ``` console
      $ kubectl create -f examples/experimental/persistent-volume-provisioning/azure-dd.yaml
      storageclass "slow" created
      $ kubectl create -f examples/experimental/persistent-volume-provisioning/claim1.json
      persistentvolumeclaim "claim1" created
      $ kubectl describe pvc
      Name:       claim1
      Namespace:  default
      Status:     Bound
      Volume:     pvc-de7150d1-6a37-11e6-aec9-000d3a12e034
      Labels:     <none>
      Capacity:   3Gi
      Access Modes:   RWO
      $ kubectl create -f pod.yaml
      replicationcontroller "nfs-server" created
      $ kubectl describe pod
      Name:       nfs-server-b9w6x
      Namespace:  default
      Node:       rootfs-dev/172.24.0.4
      Start Time: Wed, 24 Aug 2016 19:46:21 +0000
      Labels:     role=nfs-server
      Status:     Running
      IP:     172.17.0.2
      Controllers:    ReplicationController/nfs-server
      Containers:
        nfs-server:
          Container ID:   docker://be6f8c0e26dc896d4c53ef0d21c9414982f0b39a10facd6b93a255f9e1c3806c
          Image:      nginx
          Image ID:       docker://bfdd4ced794ed276a28cf56b233ea58dec544e9ca329d796cf30b8bcf6d39b3f
          Port:       
          State:      Running
            Started:      Wed, 24 Aug 2016 19:49:19 +0000
          Ready:      True
          Restart Count:  0
          Volume Mounts:
            /exports from mypvc (rw)
            /var/run/secrets/kubernetes.io/serviceaccount from default-token-9o0fj (ro)
          Environment Variables:  <none>
      Conditions:
        Type      Status
        Initialized   True 
        Ready     True 
        PodScheduled  True 
      Volumes:
        mypvc:
          Type:   PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
          ClaimName:  claim1
          ReadOnly:   false
        default-token-9o0fj:
          Type:   Secret (a volume populated by a Secret)
          SecretName: default-token-9o0fj
      QoS Class:  BestEffort
      Tolerations:    <none>
      Events:
        FirstSeen LastSeen    Count   From            SubobjectPath           Type        Reason      Message
        --------- --------    -----   ----            -------------           --------    ------      -------
        11m       11m     1   {default-scheduler }                    Normal      Scheduled   Successfully assigned nfs-server-b9w6x to rootfs-dev
        9m        9m      1   {kubelet rootfs-dev}                    Warning     FailedMount Unable to mount volumes for pod "nfs-server-b9w6x_default(6eb7fd98-6a33-11e6-aec9-000d3a12e034)": timeout expired waiting for volumes to attach/mount for pod "nfs-server-b9w6x"/"default". list of unattached/unmounted volumes=[mypvc]
        9m        9m      1   {kubelet rootfs-dev}                    Warning     FailedSync  Error syncing pod, skipping: timeout expired waiting for volumes to attach/mount for pod "nfs-server-b9w6x"/"default". list of unattached/unmounted volumes=[mypvc]
        8m        8m      1   {kubelet rootfs-dev}    spec.containers{nfs-server} Normal      Pulling     pulling image "nginx"
        8m        8m      1   {kubelet rootfs-dev}    spec.containers{nfs-server} Normal      Pulled      Successfully pulled image "nginx"
        8m        8m      1   {kubelet rootfs-dev}    spec.containers{nfs-server} Normal      Created     Created container with docker id be6f8c0e26dc
        8m        8m      1   {kubelet rootfs-dev}    spec.containers{nfs-server} Normal      Started     Started container with docker id be6f8c0e26dc
      
      ```
      
      @colemickens @brendandburns
      3d33b45e
  2. 01 Nov, 2016 35 commits