- 25 Oct, 2016 40 commits
-
-
Clayton Coleman authored
-
Clayton Coleman authored
-
Clayton Coleman authored
-
Clayton Coleman authored
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue Fix volume states out of sync problem after kubelet restarts When kubelet restarts, all the information about the volumes will be gone from actual/desired states. When update node status with mounted volumes, the volume list might be empty although there are still volumes are mounted and in turn causing master to detach those volumes since they are not in the mounted volumes list. This fix is to make sure only update mounted volumes list after reconciler starts sync states process. This sync state process will scan the existing volume directories and reconstruct actual states if they are missing. This PR also fixes the problem during orphaned pods' directories. In case of the pod directory is unmounted but has not yet deleted (e.g., interrupted with kubelet restarts), clean up routine will delete the directory so that the pod directoriy could be cleaned up (it is safe to delete directory since it is no longer mounted) The third issue this PR fixes is that during reconstruct volume in actual state, mounter could not be nil since it is required for creating container.VolumeMap. If it is nil, it might cause nil pointer exception in kubelet. Detailed design proposal is #33203
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue CRI: Add dockershim grpc server. This PR adds a in-process grpc server for dockershim. Flags change: 1. `container-runtime` will not be automatically set to remote when `container-runtime-endpoint` is set. @feiskyer 2. set kubelet flag `--experimental-runtime-integration-type=remote --container-runtime-endpoint=UNIX_SOCKET_FILE_PATH` to enable the in-process dockershim grpc server. 3. set node e2e test flag `--runtime-integration-type=remote -container-runtime-endpoint=UNIX_SOCKET_FILE_PATH` to run node e2e test against in-process dockershim grpc server. I've run node e2e test against the remote cri integration, tests which don't rely on stream and log functions can pass. This unblocks the following work: 1) CRI conformance test. 2) Performance comparison between in-process integration and in-process grpc integration. @yujuhong @feiskyer /cc @kubernetes/sig-node
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue Adding rkt binary to GCI rkt is being used to support containerized storage plugins on GCI.
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue Fixed mutation warning in Attach/Detach controller Objects from shared informer must not be changed, they are shared among all controllers. ```release-note Fixed mutation warning in Attach/Detach controller ``` This fixes CacheMutationDetector panic with this output: ``` CACHE *api.Node[5] ALTERED! {"metadata":{"name":"ip-172-18-8-71.ec2.internal","selfLink":"/api/v1/nodes/ip-172-18-8-71.ec2.internal","uid":"73d07d16-976e-11e6-8225-0e2f14b56070","resourceVersion":"136","creationTimestamp":"2016-10-21T09:12:12Z","labels":{"beta.kubernetes.io/arch":"amd64","beta.kubernetes.io/instance-type":"t2.medium","beta.kubernetes.io/os":"linux","failure-domain.beta.kubernetes.io/region":"us-east-1","failure-domain.beta.kubernetes.io/zone":"us-east-1d","kubernetes.io/hostname":"ip-172-18-8-71.ec2.internal"},"annotations":{"volumes.kubernetes.io/controller-managed-attach-detach":"true"}},"spec":{"externalID":"i-9cb6180f","providerID":"aws:///us-east-1d/i-9cb6180f"},"status":{"capacity":{"alpha.kubernetes.io/nvidia-gpu":"0","cpu":"2","memory":"4045568Ki","pods":"110"},"allocatable":{"alpha.kubernetes.io/nvidia-gpu":"0","cpu":"2","memory":"4045568Ki","pods":"110"},"conditions":[{"type":"OutOfDisk","status":"False","lastHeartbeatTime":"2016-10-21T09:12:52Z","lastTransitionTime":"2016-10-21T09:12:12Z","reason":"KubeletHasSufficientDisk","message":"kubelet has sufficient disk space available"},{"type":"MemoryPressure","status":"False","lastHeartbeatTime":"2016-10-21T09:12:52Z","lastTransitionTime":"2016-10-21T09:12:12Z","reason":"KubeletHasSufficientMemory","message":"kubelet has sufficient memory available"},{"type":"DiskPressure","status":"False","lastHeartbeatTime":"2016-10-21T09:12:52Z","lastTransitionTime":"2016-10-21T09:12:12Z","reason":"KubeletHasNoDiskPressure","message":"kubelet has no disk pressure"},{"type":"InodePressure","status":"False","lastHeartbeatTime":"2016-10-21T09:12:52Z","lastTransitionTime":"2016-10-21T09:12:12Z","reason":"KubeletHasNoInodePressure","message":"kubelet has no inode pressure"},{"type":"Ready","status":"True","lastHeartbeatTime":"2016-10-21T09:12:52Z","lastTransitionTime":"2016-10-21T09:12:22Z","reason":"KubeletReady","message":"kubelet is posting ready status"}],"addresses":[{"type":"InternalIP","address":"172.18.8.71"},{"type":"LegacyHostIP","address":"172.18.8.71"},{"type":"ExternalIP","address":"54.85.104.236"}],"daemonEndpoints":{"kubeletEndpoint":{"Port":10250}},"nodeInfo":{"machineID":"78a79498db8e4fdc9ac24b5e436a982c","systemUUID":"EC2BB406-5467-4ABE-B54D-D9993C45714F","bootID":"2553d6b8-1ddb-4ef0-902a-d09a807b89ba","kernelVersion":"4.6.7-300.fc24.x86_64","osImage":"Fedora 24 (Cloud Edition)","containerRuntimeVersion":"docker://1.10.3","kubeletVersion":"v1.5.0-alpha.1.726+5aac5eddb809e4","kubeProxyVersion":"v1.5.0-alpha.1.726+5aac5eddb809e4","operatingSystem":"linux","architecture":"amd64"},"images":[{"names":["openshift/origin-release:latest"],"sizeBytes":714569002},{"names":["openshift/origin-haproxy-router-base:latest"],"sizeBytes":294417608},{"names":["openshift/origin-base:latest"],"sizeBytes":275310761},{"names":["docker.io/centos@sha256:2ae0d2c881c7123870114fb9cc7afabd1e31f9888dac8286884f6cf59373ed9b","docker.io/centos:centos7"],"sizeBytes":196744353},{"names":["gcr.io/google_containers/busybox@sha256:4bdd623e848417d96127e16037743f0cd8b528c026e9175e22a84f639eca58ff","gcr.io/google_containers/busybox:1.24"],"sizeBytes":1113554},{"names":["gcr.io/google_containers/pause-amd64@sha256:163ac025575b775d1c0f9bf0bdd0f086883171eb475b5068e7defa4ca9e76516","gcr.io/google_containers/pause-amd64:3.0"],"sizeBytes":746888}],"volumesInUse":["kubernetes.io/aws-ebs/aws://us-east-1d/vol-f4bd0352"] A: ,"volumesAttached":[{"name":"kubernetes.io/aws-ebs/aws://us-east-1d/vol-f4bd0352","devicePath":"/dev/xvdba"}]}} B: }} ``` @saad-ali @jingxu97 -
Tim Hockin authored
Add jbeda to top level OWNERS
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue Make hack/update_owners.py get list from local repo, add --check option. This should become a verify step soon. The munger understands the * syntax already.
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue test-images: server address is now configurable This commit perform changes discussed in #32128 Should be merged before #35301 cc: @pskrzyns
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue Use UI instead of DNS in Rescheduler e2e fix #33289
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue registry: use correct pdb client call in eviction rest @mml @mwielgus
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue Don't count failed pods as "not-ready" Closes #35108 (I hope) @wojtek-t @kubernetes/autoscaling
-
Joe Beda authored
-
Vishnu kannan authored
Signed-off-by:Vishnu kannan <vishnuk@google.com>
-
Vishnu kannan authored
This is required for mounting storage volumes via containers. Signed-off-by:Vishnu kannan <vishnuk@google.com>
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue fixed problem with non masquerade cidr in kube-up gce/gci <!-- Thanks for sending a pull request! Here are some tips for you: 1. If this is your first time, read our contributor guidelines https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md and developer guide https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md 2. If you want *faster* PR reviews, read how: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/faster_reviews.md 3. Follow the instructions for writing a release note: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes --> **What this PR does / why we need it**: fixed typo in script which made setting custom cidr in gce using kube-up impossible **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes # **Special notes for your reviewer**: **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 fixed typo in script which made setting custom cidr in gce using kube-up impossible ```
-
Jing Xu authored
When kubelet restarts, all the information about the volumes will be gone from actual/desired states. When update node status with mounted volumes, the volume list might be empty although there are still volumes are mounted and in turn causing master to detach those volumes since they are not in the mounted volumes list. This fix is to make sure only update mounted volumes list after reconciler starts sync states process. This sync state process will scan the existing volume directories and reconstruct actual states if they are missing. This PR also fixes the problem during orphaned pods' directories. In case of the pod directory is unmounted but has not yet deleted (e.g., interrupted with kubelet restarts), clean up routine will delete the directory so that the pod directoriy could be cleaned up (it is safe to delete directory since it is no longer mounted) The third issue this PR fixes is that during reconstruct volume in actual state, mounter could not be nil since it is required for creating container.VolumeMap. If it is nil, it might cause nil pointer exception in kubelet. Details are in proposal PR #33203
-
Ryan Hitchman authored
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue add genrule for hack/update-bindata.sh
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue Fix remote build instructions You actually need to forward ${KUBE_RSYNC_PORT} from the remote machine, see https://github.com/kubernetes/kubernetes/blob/e3067f326fd2370c93f56b47326ab2a3a4e3699b/build-tools/common.sh#L618 -
Kubernetes Submit Queue authored
Automatic merge from submit-queue Adding a new docker container for performing mounts on GCI cc @saad-ali @jingxu97 @mtaufen
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue Pass --experimental-runtime-integration-type in local-up-cluster why not?
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue Fix addon-manager image build
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue Fix some typos <!-- Thanks for sending a pull request! Here are some tips for you: 1. If this is your first time, read our contributor guidelines https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md and developer guide https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md 2. If you want *faster* PR reviews, read how: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/faster_reviews.md 3. Follow the instructions for writing a release note: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes --> **What this PR does / why we need it**: fixes a typo an its auto-generated repetitions. **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 NONE ```
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue dont fail if metrics arent working in density fixes #35369
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue Do not log stack trace for the error http.StatusBadRequest (400). <!-- Thanks for sending a pull request! Here are some tips for you: 1. If this is your first time, read our contributor guidelines https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md and developer guide https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md 2. If you want *faster* PR reviews, read how: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/faster_reviews.md 3. Follow the instructions for writing a release note: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes --> **What this PR does / why we need it**: This PR fixes an issue where stack trace is being logged in kubelet when the status http.StatusBadRequest occurs. **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes # **Special notes for your reviewer**: **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 ```
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue Always run the podGC controller. **What this PR does / why we need it**: The podGC controller has evolved to do more than just GC of terminated pods beyond a threshold number. It no longer makes sense to gate running it with the `terminated-pod-gc-threshold` flag. [We still ensure that it only runs the terminatedPodsGC if the threshold specified in the argument to the controller manager is > 0](https://github.com/kubernetes/kubernetes/blob/6079053407705212c8cc3f039e8b767c6bccd0a0/pkg/controller/podgc/gc_controller.go#L124). Related discussion: https://github.com/kubernetes/kubernetes/pull/34160#issuecomment-255900898 **Release note**: ```release-note The podGC controller will now always run, irrespective of the value supplied to the "terminated-pod-gc-threshold" flag supplied to the controller manager. The specific behavior of the podGC controller to clean up terminated pods is still governed by the flag, but the podGC's responsibilities have evolved beyond just cleaning up terminated pods. ```
-
Random-Liu authored
-
Ivan Shvedunov authored
-
Random-Liu authored
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue Change default service IP range to 10.96/12 **What this PR does / why we need it**: Currently kubeadm defaults to 10.12/12, which turns out to be the same as 10.0/12, which is not exactly obvious until one does CIDR math. The problem with this is that it clashes with some very commonly used ranges like 10.x/8 and 10.x/16. I find that 10.96/12 would be a reasonable default. We have previously evaluate out-of-the-box configuration in most public clouds and found that 10.x/12 for x > 32 are not used by public cloud providers. Weave Net use 10.32/12, and thereby service IPs should be a range higher then this. Picking 10.96/12 should give user enough visual distinction between pod IPs and services IPs when Weave Net is used. **Release note**: ```release-note Change default `kubeadm` service IP range to `10.96.0.0/12` ```
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue Make "Unschedulable" reason a constant in api String "Unschedulable" is used in couple places in K8S: * scheduler * federation replicaset and deployment controllers * cluster autoscaler * rescheduler This PR makes the string a part of API so it not changed. cc: @davidopp @fgrzadkowski @wojtek-t
-
Anirudh Ramanathan authored
Revert "bootstrap: Start hostNetwork pods even if network plugin not ready"
-
Yu-Ju Hong authored
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue Update heapster for coreos configuration Updated heapster in coreos configurations to the latest version @piosz
-
Marcin Wielgus authored
Revert "Add a retry when reading a file content from a container"
-
Jan Safranek authored
Objects from shared informer must not be changed, they are shared among all controllers. This fixes CacheMutationDetector panic with this output: CACHE *api.Node[5] ALTERED! {"metadata":{"name":"ip-172-18-8-71.ec2.internal","selfLink":"/api/v1/nodes/ip-172-18-8-71.ec2.internal","uid":"73d07d16-976e-11e6-8225-0e2f14b56070","resourceVersion":"136","creationTimestamp":"2016-10-21T09:12:12Z","labels":{"beta.kubernetes.io/arch":"amd64","beta.kubernetes.io/instance-type":"t2.medium","beta.kubernetes.io/os":"linux","failure-domain.beta.kubernetes.io/region":"us-east-1","failure-domain.beta.kubernetes.io/zone":"us-east-1d","kubernetes.io/hostname":"ip-172-18-8-71.ec2.internal"},"annotations":{"volumes.kubernetes.io/controller-managed-attach-detach":"true"}},"spec":{"externalID":"i-9cb6180f","providerID":"aws:///us-east-1d/i-9cb6180f"},"status":{"capacity":{"alpha.kubernetes.io/nvidia-gpu":"0","cpu":"2","memory":"4045568Ki","pods":"110"},"allocatable":{"alpha.kubernetes.io/nvidia-gpu":"0","cpu":"2","memory":"4045568Ki","pods":"110"},"conditions":[{"type":"OutOfDisk","status":"False","lastHeartbeatTime":"2016-10-21T09:12:52Z","lastTransitionTime":"2016-10-21T09:12:12Z","reason":"KubeletHasSufficientDisk","message":"kubelet has sufficient disk space available"},{"type":"MemoryPressure","status":"False","lastHeartbeatTime":"2016-10-21T09:12:52Z","lastTransitionTime":"2016-10-21T09:12:12Z","reason":"KubeletHasSufficientMemory","message":"kubelet has sufficient memory available"},{"type":"DiskPressure","status":"False","lastHeartbeatTime":"2016-10-21T09:12:52Z","lastTransitionTime":"2016-10-21T09:12:12Z","reason":"KubeletHasNoDiskPressure","message":"kubelet has no disk pressure"},{"type":"InodePressure","status":"False","lastHeartbeatTime":"2016-10-21T09:12:52Z","lastTransitionTime":"2016-10-21T09:12:12Z","reason":"KubeletHasNoInodePressure","message":"kubelet has no inode pressure"},{"type":"Ready","status":"True","lastHeartbeatTime":"2016-10-21T09:12:52Z","lastTransitionTime":"2016-10-21T09:12:22Z","reason":"KubeletReady","message":"kubelet is posting ready status"}],"addresses":[{"type":"InternalIP","address":"172.18.8.71"},{"type":"LegacyHostIP","address":"172.18.8.71"},{"type":"ExternalIP","address":"54.85.104.236"}],"daemonEndpoints":{"kubeletEndpoint":{"Port":10250}},"nodeInfo":{"machineID":"78a79498db8e4fdc9ac24b5e436a982c","systemUUID":"EC2BB406-5467-4ABE-B54D-D9993C45714F","bootID":"2553d6b8-1ddb-4ef0-902a-d09a807b89ba","kernelVersion":"4.6.7-300.fc24.x86_64","osImage":"Fedora 24 (Cloud Edition)","containerRuntimeVersion":"docker://1.10.3","kubeletVersion":"v1.5.0-alpha.1.726+5aac5eddb809e4","kubeProxyVersion":"v1.5.0-alpha.1.726+5aac5eddb809e4","operatingSystem":"linux","architecture":"amd64"},"images":[{"names":["openshift/origin-release:latest"],"sizeBytes":714569002},{"names":["openshift/origin-haproxy-router-base:latest"],"sizeBytes":294417608},{"names":["openshift/origin-base:latest"],"sizeBytes":275310761},{"names":["docker.io/centos@sha256:2ae0d2c881c7123870114fb9cc7afabd1e31f9888dac8286884f6cf59373ed9b","docker.io/centos:centos7"],"sizeBytes":196744353},{"names":["gcr.io/google_containers/busybox@sha256:4bdd623e848417d96127e16037743f0cd8b528c026e9175e22a84f639eca58ff","gcr.io/google_containers/busybox:1.24"],"sizeBytes":1113554},{"names":["gcr.io/google_containers/pause-amd64@sha256:163ac025575b775d1c0f9bf0bdd0f086883171eb475b5068e7defa4ca9e76516","gcr.io/google_containers/pause-amd64:3.0"],"sizeBytes":746888}],"volumesInUse":["kubernetes.io/aws-ebs/aws://us-east-1d/vol-f4bd0352"] A: ,"volumesAttached":[{"name":"kubernetes.io/aws-ebs/aws://us-east-1d/vol-f4bd0352","devicePath":"/dev/xvdba"}]}} B: }} -
Marcin Wielgus authored
-