Commit Graph

21681 Commits

Author SHA1 Message Date
Justin Santa Barbara
30ecfbc7ee aws: remove redundant tests 2017-06-13 01:19:23 -04:00
Justin Santa Barbara
0a174089cd Use awsInstanceID to query instances
Also reuse existing mapping code, rather than reimplementing.

Issue #47394
2017-06-13 01:19:23 -04:00
Justin Santa Barbara
8aad321d69 Create strong typed awsInstanceID 2017-06-13 01:19:19 -04:00
Justin Santa Barbara
f10c9eed69 Follow our go code style: error -> err
Issue #47394
2017-06-13 01:07:07 -04:00
Kubernetes Submit Queue
17244ea5d9 Merge pull request #47124 from andyxning/remove_sync_loop_health_check
Automatic merge from submit-queue (batch tested with PRs 47000, 47188, 47094, 47323, 47124)

fix sync loop health check

This PR will do error logging about the fall behind sync for kubelet instead of sync loop healthz checking.

The reason is kubelet can not do sync loop and therefore can not update sync loop time when there is any runtime error, such as docker hung. 

When there is any runtime error, according to current implementation, kubelet will not do sync operation and thus kubelet's sync loop time will not be updated. This will make when there is any runtime error, kubelet will also return non 200 response status code when accessing healthz endpoint. This is contrary with #37865 which prevents kubelet from being killed when docker hangs.

**Release note**:
```release-note
fix sync loop health check with seperating runtime errors
```

/cc @yujuhong @Random-Liu @dchen1107
2017-06-12 18:19:51 -07:00
Kubernetes Submit Queue
b034a54e38 Merge pull request #47323 from karataliu/dockershim
Automatic merge from submit-queue (batch tested with PRs 47000, 47188, 47094, 47323, 47124)

Fix hostconfig device map logic in dockershim.

**What this PR does / why we need it**:
Fixes for device injection logic in dockershim , please help verify e2e run.

Should do updateCreateConfig before Resources assignment.

Related change:
https://github.com/kubernetes/kubernetes/pull/46744/files#diff-c7dd39479fd733354254e70845075db5L137


**Which issue this PR fixes**
https://github.com/kubernetes/kubernetes/issues/47216

**Special notes for your reviewer**:

**Release note**:
```release-note
```
2017-06-12 18:19:49 -07:00
Kubernetes Submit Queue
3b05e19076 Merge pull request #47000 from caesarxuchao/fix-gc-orphan
Automatic merge from submit-queue (batch tested with PRs 47000, 47188, 47094, 47323, 47124)

GC should retry on patch error

Fixing https://github.com/kubernetes/kubernetes/issues/46998.

This is fixing a bug, so applying the 1.7 milestone.
2017-06-12 18:19:40 -07:00
Kubernetes Submit Queue
208c25381f Merge pull request #47293 from superbrothers/fix-completion
Automatic merge from submit-queue

Fix missing __kubectl_parse_config

**What this PR does / why we need it**:

This PR fixes the broken completion of kubectl config use-context. I checked that the completions of kubectl config use-context, --user and --cluster work correctly.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #29386 

**Special notes for your reviewer**: @pwittrock @janetkuo

**Release note**:

```release-note
NONE
```
2017-06-12 17:18:54 -07:00
Kubernetes Submit Queue
b84567a57e Merge pull request #45773 from justinsb/servicecontroller_harmonize
Automatic merge from submit-queue

servicecontroller: use consistent node criteria

We have two node selection functions: includeNodeFromNodeList and
getNodeConditionPredicate, and the logic is different.

The logic should be the same, so remove includeNodeFromNodeList and just
use getNodeConditionPredicate everywhere.

Fix #45772

```release-note
servicecontroller: Fix node selection logic on initial LB creation
```
2017-06-11 20:50:10 -07:00
Dong Liu
a82b8f1094 Fix hostconfig device map logic in dockershim. 2017-06-12 11:15:46 +08:00
Kubernetes Submit Queue
8fc4e17847 Merge pull request #47281 from mtanino/issue/47253
Automatic merge from submit-queue

iSCSI plugin: Update devicepath with filepath.Glob result

**What this PR does / why we need it**:

If iscsiTransport is not tcp, iSCSI plugin tries to
find devicepath using filepath.Glob but never updates
devicepath with the filepath.Glob result.

This patch fixes the problem.

**Which issue this PR fixes** : fixes #47253
**Special notes for your reviewer**:

**Release note**:

```
NONE
```
2017-06-11 18:49:21 -07:00
Kubernetes Submit Queue
ea3a896f2c Merge pull request #47215 from ublubu/aws-addresses
Automatic merge from submit-queue

AWS for cloud-controller-manager

fixes #47214

This implements the NodeAddressesByProviderID and InstanceTypeByProviderID methods used by the cloud-controller-manager for the AWS provider.

NodeAddressesByProvider uses DescribeInstances (for normal addresses) and DescribeAddresses (for Elastic IP addresses).

InstanceTypeByProviderID uses DescribeInstances.

```release-note
NONE
```
2017-06-11 17:33:51 -07:00
Kubernetes Submit Queue
a648e10910 Merge pull request #47246 from gyliu513/container-image
Automatic merge from submit-queue

Made image as required in v1 Container struct.

**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 #47244 

**Special notes for your reviewer**:

**Release note**:

```release-note
none
```
2017-06-11 16:17:36 -07:00
Kubernetes Submit Queue
df1e289888 Merge pull request #47004 from ixdy/bazel-stamp-multiple-packages
Automatic merge from submit-queue

bazel: stamp multiple packages by using x_defs instead of linkstamp in go_binary rules

**What this PR does / why we need it**: Fixes regression introduced sometime in the last few months that prevented bazel-built clusters from identifying version properly. 

It does so by updating the bazelbuild/rules_go and kubernetes/repo-infra dependencies to support using stamp values in `go_binary` `x_defs`, and then changing our `go_binary` rules to use `x_defs` instead of `linkstamp`.

This whole charade is necessary because we need to stamp version information in multiple packages.

This pretty much only affects the bazel build, so it should be low risk.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #45298

**Special notes for your reviewer**: depends on https://github.com/kubernetes/repo-infra/pull/18; should not be merged before it.

**Release note**:

```release-note
NONE
```

/assign @spxtr @mikedanese
2017-06-11 00:33:13 -07:00
Kubernetes Submit Queue
67730881a6 Merge pull request #46940 from realfake/azure-cloud-controller-manager
Automatic merge from submit-queue

Azure for cloud-controller-manager

**What this PR does / why we need it**:
This implements the NodeAddressesByProviderID and InstanceTypeByProviderID methods used by the cloud-controller-manager to the Azure provider.

**Release note**:

```release-note
NONE
```
Addresses #47257
2017-06-10 17:28:44 -07:00
Kazuki Suda
11230907b3 Fix missing __kubectl_parse_config 2017-06-11 07:12:23 +09:00
Guangya Liu
9ecb5d9f4f Generated code. 2017-06-10 02:43:05 -04:00
Kubernetes Submit Queue
1168552fad Merge pull request #47270 from derekwaynecarr/fix-drain
Automatic merge from submit-queue

kubectl drain errors if pod is already deleted

**What this PR does / why we need it**:
kubectl drain can throw an error if the pod it attempts to delete has already been deleted.

fixes https://github.com/kubernetes/kubectl/issues/28
2017-06-09 20:52:31 -07:00
Guangya Liu
e0d3d652f6 Made image as required in v1 Container struct. 2017-06-09 23:35:14 -04:00
Andy Xie
96cb43993a fix sync loop health check 2017-06-10 11:25:59 +08:00
mtanino
b1f06aaed5 iSCSI plugin: Update devicepath with filepath.Glob result
If iscsiTransport is not tcp, iSCSI plugin tries to
find devicepath using filepath.Glob but never updates
devicepath with the filepath.Glob result.

This patch fixes the problem.

Fixes #47253
2017-06-09 22:54:25 -04:00
Kubernetes Submit Queue
9df40c3661 Merge pull request #42156 from croomes/storageos
Automatic merge from submit-queue

StorageOS Volume Plugin

**What this PR does / why we need it**:
This PR adds a new volume plugin for StorageOS volumes.  StorageOS runs as a container on Kubelet nodes, aggregating local or attached storage and making its capacity available to all nodes within the cluster. More information at http://storageos.com.

The StorageOS plugin supports:

1. Dynamic Provisioning using Storage Classes
2. Persistent Volumes and Persistent Volume Claims.

**Which issue this PR fixes**
A feature request has been created:
https://github.com/kubernetes/features/issues/190

This isn't on the schedule for 1.6 as I wasn't sure when it would be ready.  We intend to make the StorageOS container openly available within the 1.6 lifetime.

**Special notes for your reviewer**:

Separate commits for feature and godep changes.

**Release note**:
```release-note
StorageOS Volume Driver
[StorageOS](http://www.storageos.com) can be used as a storage provider for Kubernetes.  With StorageOS, capacity from local or attached storage is pooled across the cluster, providing converged infrastructure for cloud-native applications. 
```
2017-06-09 18:25:04 -07:00
Dawn Chen
2a5ac62dd4 Merge pull request #47212 from MrHohn/kubelet-iptables-lock
Make kubelet touch iptables lock file during initialization
2017-06-09 16:44:00 -07:00
Derek Carr
1dc4d77942 kubectl drain errors if pod is already deleted 2017-06-09 17:05:43 -04:00
Kubernetes Submit Queue
2be7a18ead Merge pull request #46699 from wanghaoran1988/issue_43325
Automatic merge from submit-queue (batch tested with PRs 47144, 46699)

Update statefulset reaper use StatefulSetHasDesiredReplicas

**What this PR does / why we need it**:
StatefulSetHasDesiredReplicas condition should check ObservedGeneration and update statefulset reaper use StatefulSetHasDesiredReplicas
**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #43325

**Special notes for your reviewer**:

**Release note**:
```
None
```
2017-06-09 12:19:41 -07:00
Kubernetes Submit Queue
25aed0a631 Merge pull request #47251 from sttts/sttts-dynamic-client-getoptions
Automatic merge from submit-queue (batch tested with PRs 36376, 47251)

client-go: GetOptions for dynamic client

Looks like `GetOptions` were forgotten in the dynamic client. Without them it's hard to write a dynamic initializer controller (useful for custom resources).
2017-06-09 11:24:41 -07:00
Kubernetes Submit Queue
f75478875a Merge pull request #47113 from feiskyer/cri
Automatic merge from submit-queue

Kubelet: rename cri package name to pkg/kubelet/apis/cri/v1alpha1/runtime

**What this PR does / why we need it**:

We have moved CRI from api/v1alpha1/runtime to apis/cri/v1alpha1, which changed the package name of CRI. This would cause a significant problem: old-versioned runtime (based on CRI in v1.6) doesn't work with latest kubelet v1.7, and vice versa.

This PR renames cri package name to `pkg/kubelet/apis/cri/v1alpha1/runtime` for fixing the problem.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: 

fixes #47012

**Special notes for your reviewer**:

Should be included in v1.7.

**Release note**:

```release-note
CRI has been moved to package `pkg/kubelet/apis/cri/v1alpha1/runtime`.
```
2017-06-09 10:08:36 -07:00
Zihong Zheng
d5c9d27ed7 Make kubelet touch iptables lock file during initialization 2017-06-09 09:34:48 -07:00
Dr. Stefan Schimanski
30668b24fb client-go: GetOptions for dynamic client 2017-06-09 18:04:17 +02:00
Simon Croome
5e2503e71f Add StorageOS volume plugin 2017-06-09 13:19:27 +01:00
Kubernetes Submit Queue
810efa6689 Merge pull request #47218 from liggitt/node-identifier
Automatic merge from submit-queue (batch tested with PRs 45575, 47218)

nodeidentifier: require nodes to have wellformed usernames

xref #46999

Split @mikedanese's identifier change out from the GCE/GKE enablement in https://github.com/kubernetes/kubernetes/pull/46796, so the authorization/admission behavior works as intended for kubeadm, which already has it enabled
2017-06-09 00:06:43 -07:00
Kubernetes Submit Queue
9f23149a52 Merge pull request #44965 from jpeeler/podpreset-exclusion-simple
Automatic merge from submit-queue

Allow pods to opt out of PodPreset mutation via an annotation on the pod

An annotation in the pod spec of the form:
podpreset.admission.kubernetes.io/PodPresetOptOut: "true"
Will cause the admission controller to skip manipulating the pod spec,
no matter the labelling.

This is an alternative implementation to pull #44163.

```release-note
Allow pods to opt out of PodPreset mutation via an annotation on the pod.
```
2017-06-08 22:57:34 -07:00
Mike Danese
73e47f652b nodeidentifier: require nodes to have wellformed usernames 2017-06-08 23:47:01 -04:00
ublubu
c261f98a60 bugfix for ProviderID parsing & corresponding unit test 2017-06-08 23:12:28 -04:00
Pengfei Ni
22e99504d7 Update CRI references 2017-06-09 10:16:40 +08:00
Haoran Wang
896288a1cb StatefulSetHasDesiredReplicas condition should check ObservedGeneration and update statefulset reaper use StatefulSetHasDesiredReplicas 2017-06-09 10:15:34 +08:00
Pengfei Ni
9cc2ecc347 CRI: rename package name to pkg/kubelet/apis/cri/v1alpha1/runtime 2017-06-09 10:13:34 +08:00
ublubu
bc9d2e8832 use aws://[instance-id] as the ProviderID 2017-06-08 22:09:08 -04:00
Kubernetes Submit Queue
9935b9e143 Merge pull request #47199 from liggitt/ns-delete-background
Automatic merge from submit-queue

Run namespace deletion in background

Namespace deletion was not specifying a propagation policy when deleting a single item.

This could mean the request would be held while garbage collection orphaned dependents.

This switches to propagation policy and sets a policy for both deletecollection and delete calls.

helps https://github.com/kubernetes/kubernetes/issues/47135
2017-06-08 16:43:32 -07:00
Jeff Grafton
64bd79fad7 Convert go_binary linkstamp to x_defs 2017-06-08 14:59:55 -07:00
Jordan Liggitt
740a38b2e3 Run namespace deletion in background 2017-06-08 17:29:35 -04:00
William Chang
9ac960124f Add Traditional Chinese translation for kubectl 2017-06-08 15:24:04 +08:00
Kubernetes Submit Queue
5404948e7b Merge pull request #47041 from k82cn/k8s_10043
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.
```
2017-06-07 23:10:38 -07:00
ublubu
baa85c830a InstanceTypeByProviderID 2017-06-07 23:47:59 -04:00
Kynan Rilee
17783afc94 NodeAddressesByProviderID for AWS cloudprovider 2017-06-07 23:47:59 -04:00
Kubernetes Submit Queue
69a9759d90 Merge pull request #46744 from karataliu/wincri4
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**:
2017-06-07 20:03:19 -07:00
Klaus Ma
fdc82d16f3 generated codes. 2017-06-08 10:51:46 +08:00
Klaus Ma
c9a46a0806 Deprecated binding object in 1.7. 2017-06-08 10:13:55 +08:00
Kubernetes Submit Queue
1901cf8a37 Merge pull request #47138 from smarterclayton/delete_collection
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
2017-06-07 19:01:47 -07:00
Kubernetes Submit Queue
6e8d6acdb7 Merge pull request #47078 from DirectXMan12/bug/only-update-when-needed
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.
```
2017-06-07 19:01:45 -07:00