- 08 Jun, 2017 16 commits
-
-
Jordan Liggitt authored
This reverts commit fc650a54.
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue Deprecated binding for 1.7 **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #10043 ```release-note Deprecated Binding objects in 1.7. ```
-
Chao Xu authored
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue Support windows in dockershim **What this PR does / why we need it**: This is the 2nd part for https://github.com/kubernetes/kubernetes/issues/45927 . The non-cri implementation dockertools was removed from kubelet v1.7 . Part of previous work for supporting windows container lies in v1.6 dockertools, this PR is to port them to dockershim. Main reference file in v1.6 dockertools windows support: https://github.com/kubernetes/kubernetes/blob/v1.6.4/pkg/kubelet/dockertools/docker_manager_windows.go **Which issue this PR fixes** 45927, for now catching up the implementation of v1.6 **Special notes for your reviewer**: The code change includes 4 parts, put them together as we discussed in https://github.com/kubernetes/kubernetes/pull/46089 1. Update go-winio package to a newer version 'go-winio' package is used by docker client. This change is to bring the support for Go v1.8, specifically included in the PR: https://github.com/Microsoft/go-winio/pull/48 Otherwise it will produce a lot of error like in: https://github.com/fsouza/go-dockerclient/issues/648 2. Add os dependent getSecurityOpts helper method. seccomp not supported on windows Corresponding code in v1.6: https://github.com/kubernetes/kubernetes/blob/v1.6.4/pkg/kubelet/dockertools/docker_manager_windows.go#L78 3. Add updateCreateConfig. Allow user specified network mode setting. This is to be compatible with what kube-proxy package does on Windows. Also, there is a Linux section in both sandbox config and container config: LinuxPodSandboxConfig, LinuxContainerConfig. And that section later goes to Config and HostConfig section under docker container createConfig. Ideally hostconfig section should be dependent on host os, while config should depend on container image os. To simplify the case, here it assumes that windows host supports windows type container image only. It needs to be updated when kubernetes is to support windows host running linux container image or the like. Corresponding code in v1.6: https://github.com/kubernetes/kubernetes/blob/v1.6.4/pkg/kubelet/dockertools/docker_manager_windows.go#L57 4. Add podIpCache in dockershim. For v1.6 windows implementation, it still does not use sandbox, thus only allow single container to be exposed. Here added a cache for saving container IP, to get adapted to the new CRI api. Corresponding code in v1.6: No sandbox: https://github.com/kubernetes/kubernetes/blob/v1.6.4/pkg/kubelet/dockertools/docker_manager_windows.go#L66 Use container id as pod ip: https://github.com/kubernetes/kubernetes/blob/v1.6.4/pkg/kubelet/dockertools/docker_manager.go#L2727 **Release note**:
-
Klaus Ma authored
-
Klaus Ma authored
-
Klaus Ma authored
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue (batch tested with PRs 46979, 47078, 47138, 46916) Add a secretbox and AES-CBC path for encrypt at rest Add a secretbox and AES-CBC encrypt at rest provider and alter the config, based on feedback from security review. AES-CBC is more well reviewed and generally fits better with common criteria and FIPS, secretbox is newer and faster than CBC. ```release-note Add secretbox and AES-CBC encryption modes to at rest encryption. AES-CBC is considered superior to AES-GCM because it is resistant to nonce-reuse attacks, and secretbox uses Poly1305 and XSalsa20. ```
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue (batch tested with PRs 46979, 47078, 47138, 46916) DeleteCollection should include uninitialized resources Users who delete a collection expect all resources to be deleted, and users can also delete an uninitialized resource. To preserve this expectation, DeleteCollection selects all resources regardless of initialization. The namespace controller should list uninitialized resources in order to gate cleanup of a namespace. Fixes #47137
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue (batch tested with PRs 46979, 47078, 47138, 46916) HPA: only send updates when the status has changed This commit only sends updates if the status has actually changed. Since the HPA runs at a regular interval, this should reduce the volume of writes, especially on short HPA intervals with relatively constant metrics. Fixes #47077 **Release note**: ```release-note The HorizontalPodAutoscaler controller will now only send updates when it has new status information, reducing the number of writes caused by the controller. ```
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue (batch tested with PRs 46979, 47078, 47138, 46916) [federation][e2e] Fix cleanupServiceShardLoadBalancer **What this PR does / why we need it**: Fixes the issue mentioned in #46976 **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #46976 **Special notes for your reviewer**: ```release-note NONE ```
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue (batch tested with PRs 45877, 46846, 46630, 46087, 47003) Remove duplicate errors from an aggregate error input. This PR, in general, removes duplicate errors from an aggregate error input, and returns unique errors with their occurrence count. Specifically, this PR helps with some scheduler errors that fill the log enormously. For example, see the following `truncated` output from a 300-plus nodes cluster, as there was a same error from almost all nodes. [SchedulerPredicates failed due to persistentvolumeclaims "mongodb" not found, which is unexpected., SchedulerPredicates failed due to persistentvolumeclaims "mongodb" not found, which is unexpected., SchedulerPredicates failed due to persistentvolumeclaims "mongodb" not found, which is unexpected., SchedulerPredicates failed due to persistentvolumeclaims "mongodb" not found, which is unexpected., SchedulerPredicates failed due to persistentvolumeclaims "mongodb" not found, which is unexpected., SchedulerPredicates failed due to persistentvolumeclaims "mongodb" not found, which is unexpected., SchedulerPredicates failed due to persistentvolumeclaims "mongodb" not found, which is unexpected., SchedulerPredicates failed due to persistentvolumeclaims "mongodb" not found, which is unexpected., SchedulerPredicates failed due to persistentvolumeclaims "mongodb" not found, which is unexpected., SchedulerPredicates failed due to persistentvolumeclaims "mongodb" not found, which is unexpected., SchedulerPredicates failed due to persistentvolumeclaims "mongodb" not found, which is unexpected., SchedulerPredicates failed due to persistentvolumeclaims "mongodb" not found, which is unexpected., SchedulerPredicates failed due to persistentvolumeclaims "mongodb" not found, which is unexpected., SchedulerPredicates failed due to persistentvolumeclaims "mongodb" not found, which is unexpected., SchedulerPredicates failed due to persistentvolumeclaims "mongodb" not found, which is unexpected., SchedulerPredicates failed due to persistentvolumeclaims "mongodb" not found, which is unexpected., SchedulerPredicates failed due to persistentvolumeclaims "mongodb" not found, which is unexpected., SchedulerPredicates failed due to persistentvolumeclaims "mongodb" not found......... After this PR, the output looks like (on a 2-node cluster): SchedulerPredicates failed due to persistentvolumeclaims "mongodb" not found, which is unexpected.(Count=2) @derekwaynecarr @smarterclayton @kubernetes/sig-scheduling-pr-reviews Fixes https://github.com/kubernetes/kubernetes/issues/47145
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue (batch tested with PRs 45877, 46846, 46630, 46087, 47003) gpusInUse info error when kubelet restarts **What this PR does / why we need it**: In my test, I found 2 errors in the nvidia_gpu_manager.go. 1. the number of activePods in gpusInUse() equals to 0 when kubelet restarts. It seems the Start() method was called before pods recovery which caused this error. So I decide not to call gpusInUse() in the Start() function, just let it happen when new pod needs to be created. 2. the container.ContainerID in line 242 returns the id in format of "docker://<container_id>", this will make the client failed to inspect the container by id. We have to erase the prefix of "docker://". **Special notes for your reviewer**: **Release note**: ``` Avoid assigning the same GPU to multiple containers. ```
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue (batch tested with PRs 45877, 46846, 46630, 46087, 47003) update NetworkPolicy e2e test for v1 semantics This makes the NetworkPolicy test at least correct for v1, although ideally we'll eventually add a few more tests... (So this covers about half of #46625.) I've tested that this compiles, but not that it passes, since I don't have a v1-compatible NetworkPolicy implementation yet... @caseydavenport @ozdanborne, maybe you're closer to having a testable plugin than I am? **Release note**: ```release-note NONE ```
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue (batch tested with PRs 45877, 46846, 46630, 46087, 47003) func parseEndpointWithFallbackProtocol should check if protocol of endpoint is empty **What this PR does / why we need it**: func parseEndpointWithFallbackProtocol should check if protocol of endpoint is empty **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: part of #45927 NONE **Special notes for your reviewer**: NONE **Release note**: ```release-note NONE ```
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue (batch tested with PRs 45877, 46846, 46630, 46087, 47003) add Unit Test for PodList Printer Signed-off-by:zhangxiaoyu-zidif <zhang.xiaoyu33@zte.com.cn> **What this PR does / why we need it**: add Unit Test for PodList Printer **Release note**: ```release-note NONE ```
-
- 07 Jun, 2017 24 commits
-
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue (batch tested with PRs 47024, 47050, 47086, 47081, 47013) Wrap HumanReadablePrinter in tab output unless explicitly asked not to `kubectl get` was not properly aligning its output due to #40848 Fixes an accidental regression. In general, we should not accept an incoming tabwriter and instead manage at a higher level. Fix the bug and add a comment re: future refactoring.
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue (batch tested with PRs 47024, 47050, 47086, 47081, 47013) kubeadm: Make the creation of the RBAC rules phase idempotent **What this PR does / why we need it**: Bugfix: Currently kubeadm fails with a non-zero code if resources it's trying to create already exist. This PR fixes that by making kubeadm try to Update resources that already exist. After this PR, https://github.com/kubernetes/kubernetes/pull/46879 and a beta.1 release, kubeadm will be fully upgradeable from v1.6 to v1.7 using only kubeadm init. Last piece of https://github.com/kubernetes/kubeadm/issues/288 **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/288 **Special notes for your reviewer**: **Release note**: ```release-note kubeadm: Modifications to cluster-internal resources installed by kubeadm will be overwritten when upgrading from v1.6 to v1.7. ``` @pipejakob @mikedanese @timothysc
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue (batch tested with PRs 47024, 47050, 47086, 47081, 47013) apiextensions-apiserver: Fix decoding of DeleteOptions. Fixes #47072 by making apiextensions-apiserver capable of decoding unversioned DeleteOptions, rather than only handling Unstructured objects (i.e. Custom Resources). This also closes #46736 and #37554 since the added regression test works for TPR as well.
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue (batch tested with PRs 47024, 47050, 47086, 47081, 47013) client-go: deprecate TPR example and add CRD example /cc @nilebox Part of https://github.com/kubernetes/kubernetes/issues/46702
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue [legacy audit] add response audit for hijack Fixes #47097 **Release note**: ``` NONE ```
-
Clayton Coleman authored
Users who delete a collection expect all resources to be deleted, and users can also delete an uninitialized resource. To preserve this expectation, DeleteCollection selects all resources regardless of initialization. The namespace controller should list uninitialized resources in order to gate cleanup of a namespace.
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue Skip dynamic configuration of initializers test on alpha disable Fixes #47133
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue (batch tested with PRs 43005, 46660, 46385, 46991, 47103) Ignore `daemonset-controller-hash` label key in federation before comparing the federated object with its cluster equivalent. Kubernetes daemonset controller writes a daemonset's hash to the object label as an optimization to avoid recomputing it every time. Adding a new label to the object that the federation is unaware of causes problems because federated controllers compare the objects in federation and their equivalents in clusters and try to reconcile them. This leads to a constant fight between the federated daemonset controller and the cluster controllers, and they never reach a stable state. Ideally, cluster components should not update an object's spec or metadata in a way federation cannot replicate. They can update an object's status though. Therefore, this daemonset hash should be a field in daemonset's status, not a label in object meta. @janetkuo says that this label is only a short term solution. In the near future, they are going to replace it with revision numbers in daemonset status. We can then rip this bandaid out. Fixes #46925 **Release note**: ```release-note NONE ``` /assign @csbell /cc @shashidharatd @marun @nikhiljindal @perotinus /sig federation
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue (batch tested with PRs 43005, 46660, 46385, 46991, 47103) [gke-slow always fails] Defer DeleteGCEStaticIP before asserting error From https://github.com/kubernetes/kubernetes/issues/46918. I'm getting close to the root cause: During tests, CreateGCEStaticIP() in fact successfully created static IP, but the parser we wrote in test mistakenly think we failed, probably because the gcloud output format was changed recently (or not). I'm still looking into fixing that. This PR defer the delete function before asserting the error so that we can stop consistently leaking static IP in every run. /assign @krzyzacy @dchen1107 ```release-note NONE ```
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue (batch tested with PRs 43005, 46660, 46385, 46991, 47103) add e2e node test for Pod hostAliases feature **What this PR does / why we need it**: adds node e2e test for #45148 tests requested in https://github.com/kubernetes/kubernetes/issues/43632#issuecomment-298434125 **Release note**: ```release-note NONE ``` @yujuhong @thockin
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue (batch tested with PRs 43005, 46660, 46385, 46991, 47103) Azure cloudprovider retry using flowcontrol An initial attempt at engaging exponential backoff for API error responses. Addresses #47048 Uses k8s.io/client-go/util/flowcontrol; implementation inspired by GCE cloudprovider backoff. **What this PR does / why we need it**: The existing azure cloudprovider implementation has no guard rails in place to adapt to unexpected underlying operational conditions (i.e., clogs in resource plumbing between k8s runtime and the cloud API). The purpose of these changes is to support exponential backoff wrapping around API calls; and to support targeted rate limiting. Both of these options are configurable via `--cloud-config`. Implementation inspired by the GCE's use of `k8s.io/client-go/util/flowcontrol` and `k8s.io/apimachinery/pkg/util/wait`, this PR likewise uses `flowcontrol` for rate limiting; and `wait` to thinly wrap backoff retry attempts to the API. **Special notes for your reviewer**: Pay especial note to the declaration of retry-able conditions from an unsuccessful HTTP request: - all `4xx` and `5xx` HTTP responses - non-nil error responses And the declaration of retry success conditions: - `2xx` HTTP responses Tests updated to include additions to `Config`. Those may be incomplete, or in other ways non-representative. **Release note**: ```release-note Added exponential backoff to Azure cloudprovider ```
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue (batch tested with PRs 43005, 46660, 46385, 46991, 47103) Consolidate sysctl commands for kubelet **What this PR does / why we need it**: These commands are important enough to be in the Kubelet itself. By default, Ubuntu 14.04 and Debian Jessie have these set to 200 and 20000. Without this setting, nodes are limited in the number of containers that they can start. **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #26005 **Special notes for your reviewer**: I had a difficult time writing tests for this. It is trivial to create a fake sysctl for testing, but the Kubelet does not have any tests for the prior settings. **Release note**: ```release-note ```
-
Avesh Agarwal authored
Helps with some scheduler errors that fill the log enormously.
-
shashidharatd authored
-
shashidharatd authored
-
shashidharatd authored
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue enable race detection on integration tests Fix an old TODO
-
Clayton Coleman authored
-
Madhusudan.C.S authored
Ignore `daemonset-controller-hash` label key in federation before comparing the federated object with its cluster equivalent. Kubernetes daemonset controller writes a daemonset's hash to the object label as an optimization to avoid recomputing it every time. Adding a new label to the object that the federation is unaware of causes problems because federated controllers compare the objects in federation and their equivalents in clusters and try to reconcile them. This leads to a constant fight between the federated daemonset controller and the cluster controllers, and they never reach a stable state. Ideally, cluster components should not update an object's spec or metadata in a way federation cannot replicate. They can update an object's status though. Therefore, this daemonset hash should be a field in daemonset's status, not a label in object meta. @janetkuo says that this label is only a short term solution. In the near future, they are going to replace it with revision numbers in daemonset status. We can then rip this bandaid out.
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue Federation: create loadbalancer service in tests only if test depends on it **What this PR does / why we need it**: Creating LoadBalancer type of service for every test case is kind of expensive and time consuming to provision. So this PR changes the test cases to use LoadBalancer type services only when necessary. **Which issue this PR fixes** (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #47068 **Release note**: ```release-note NONE ``` cc @kubernetes/sig-federation-pr-reviews /assign @madhusudancs
-
Anthony Yeh authored
-
Saksham Sharma authored
Add tests for new transformers
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue (batch tested with PRs 46977, 47005, 47018, 47061, 46809) Fix HostAlias to validate against DNS1123 hostname instead of just labels **What this PR does / why we need it**: the validation for HostAlias was validating the hostnames against DNS labels instead of hostnames. This means hostnames like `foo.bar` would fail. I did not catch this because unit test cases only had hostnames like `foo`. **Which issue this PR fixes**: fixes issue introduced in #44641 **Release note**: ```release-note fixed HostAlias in PodSpec to allow `foo.bar` hostnames instead of just `foo` DNS labels. ```
-
Kubernetes Submit Queue authored
Automatic merge from submit-queue (batch tested with PRs 46977, 47005, 47018, 47061, 46809) Directly grab map values instead of using loop-clause variables when setting up federated sync controller tests. Go's loop-clause variables are allocated once and the items are copied to that variable while iterating through the loop. This means, these variables can't escape the scope since closures are bound to loop-clause variables whose value change during each iteration. Doing so would lead to undesired behavior. For more on this topic see: https://github.com/golang/go/wiki/CommonMistakes So in order to workaround this problem in sync controller e2e tests, we iterate through the map and copy the map value to a variable inside the loop before using it in closures. Fixes issue: #47059 **Release note**: ```release-note NONE ``` /assign @marun @shashidharatd @perotinus cc @csbell @nikhiljindal /sig federation
-