Commit Graph

51290 Commits

Author SHA1 Message Date
Nail Islamov
e86faca6b6
Helper methods dealing with ControllerRef 2017-07-12 16:24:51 +10:00
Kubernetes Submit Queue
1591975808 Merge pull request #46138 from pmichali/issue44848b
Automatic merge from submit-queue (batch tested with PRs 48196, 42783, 48507, 47719, 46138)

IPv6 support for getting IP from default route

This is another part of the effort to update ChoseHostInterface() to support
IPv6. In particular, this focuses on the call path, starting from
chooseHostInterfaceFromRoute(), which attempts to find the node IP by
using default route information.

In the original code, routes are collected, and examined to find default
routes. For a default route, the IPs for the associated interface are
checked to see if there is one that is a V4 address, and is not a
loopback, link local, or multicast address. If found, that IP will be
used for the node IP.

With this PR, there are some slight changes to prepare for allowing IPs
from IPv6 default routes. The routes (IPv4 at this time - a subsequent
PR will handle IPv6) are collected as before. If the route is a default
route AND it's GW address is a global unicast address, then the IPs
for the associated interface are checked. This time though, we just pick
the IP that is on the same subnet as the gateway IP.

This ensures it is not a link local, loopback, or multicast address. It
saves time, by nt checking IPs for interfaces that don't have a "global"
default route. It also will ensure the right IP is used, when using both
IPv4 and IPv6 addresses.

For example, if we have eth0 with global IPv4 and IPv6 addresses, and
an IPv6 default route, we want to select the IPv6 address, as it is
associated with the default route.

Another case is that same interface, along with eth1 containing an IPv4
address with a default route. We want to select eth1's IPv4 address,
and not the IPv4 on eth0.

This change adds more UT coverage to several methods, and removes UTs
that are redundantly testing at a higher level. Coverage is slightly
improved.



**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)*: xref #44848

**Special notes for your reviewer**:
This goes along with PR 46044, and will have another PR to the next part.

**Release note**:

```release-noteNONE
```
2017-07-11 23:09:14 -07:00
Kubernetes Submit Queue
b07581e60f Merge pull request #47719 from xilabao/fix-set-selector-1
Automatic merge from submit-queue (batch tested with PRs 48196, 42783, 48507, 47719, 46138)

fix parse resource in setting selector

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

**Which issue this PR fixes**: fixes #47718

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-07-11 23:09:13 -07:00
Kubernetes Submit Queue
683b8dea3e Merge pull request #48507 from kad/issue-292
Automatic merge from submit-queue (batch tested with PRs 48196, 42783, 48507, 47719, 46138)

kubeadm: Allows to use versions like 1.6.4 instead v1.6.4

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

As part of issue kubernetes/kubeadm#292 discussion, it
turned out that for users it is not always obvious that
version specification parameter must be in form "vX.Y.Z".
This patch allows to specify it in form "X.Y.Z" and
converts it internally to normal semantic version which
expected in the rest of the code.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
- kubeadm now can accept versions like "1.6.4" where previously it strictly required "v1.6.4"
```
2017-07-11 23:09:11 -07:00
Kubernetes Submit Queue
b44a084ad3 Merge pull request #42783 from xilabao/add-extra-args-validate
Automatic merge from submit-queue (batch tested with PRs 48196, 42783, 48507, 47719, 46138)

add extra args validate

`ExtraArgsCheck` return warnings not errors. because kubeadm may create the newer version control plane, there are new arguments that kubeadm doesn't know.
2017-07-11 23:09:09 -07:00
Kubernetes Submit Queue
e11020fa39 Merge pull request #48196 from fabriziopandini/kubeadm-phase-certs2
Automatic merge from submit-queue

kubeadm: Implementing the certificates phase fully

**What this PR does / why we need it:**
This contains implementation of certs phases in kubeadm, which is part of the wider effort of implementing phases in kubeadm, previously in alpha stage.

The original proposal for this activity can be found [here](https://github.com/kubernetes/kubeadm/pull/156/files) and related comments.

Kubeadm phase implementation checklist is defined [here](https://github.com/kubernetes/kubeadm/issues/267)

Common implementation guidelines and principles for all phases are defined [here](https://docs.google.com/document/d/1VQMyFIVMfRGQPP3oCUpfjiWtOr3pLxp4g7cP-hXQFXc/edit?usp=sharing)

This PR implements:

- [x] kubeadm phase certs 
  - [x] kubeadm phase certs all
  - [x] kubeadm phase certs ca
  - [x] kubeadm phase certs apiserver
  - [x] kubeadm phase certs apiserver-kubelet-client
  - [x] kubeadm phase certs sa
  - [x] kubeadm phase certs front-proxy-ca
  - [x] kubeadm phase certs front-proxy-client

**Which issue this PR fixes:**
none

**Special notes for your reviewer:**

This PR resubmits the work of #45617, and already includes @luxas reviews. 

Please note that:
- the API - phase\certs.go - is now totally free by any UX concerns, and implements only the core logic for cert generation.
- the UX - cmd\phase\certs.go - now takes charge of UX commands and kubeadm own's rules for placing certs in the certificate dir (e.g. create only if exists)
2017-07-11 22:32:38 -07:00
Kubernetes Submit Queue
e2f6981a5f Merge pull request #46978 from spiffxp/update-labels-yaml-2
Automatic merge from submit-queue

Update labels.yaml

```release-note
NONE
```

Reminder that at some point we need to stop allowing humans to add
labels via github's UI, and instead drive changes through this file.

We'll need to get mungegithub's check-labels munger activated and
a documented policy for all that, so here's a bump in the meantime.

ref: kubernetes/test-infra#2504 (this PR doesn't fix the issue but that's the closest prior art I can find)
2017-07-11 21:46:15 -07:00
Kubernetes Submit Queue
d68e7378f4 Merge pull request #48322 from k82cn/k8s_47867
Automatic merge from submit-queue (batch tested with PRs 48402, 47203, 47460, 48335, 48322)

Added case on 'terminated-but-not-yet-deleted' for Admit.

**What this PR does / why we need it**:
Added case on 'terminated-but-not-yet-deleted' for Admit.

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

**Release note**:

```release-note-none
```
2017-07-11 21:01:39 -07:00
Kubernetes Submit Queue
33718a8fae Merge pull request #48335 from sakeven/fix/close_resp_Body
Automatic merge from submit-queue (batch tested with PRs 48402, 47203, 47460, 48335, 48322)

HTTPExtender: should close resp.Body even when StatusCode not ok

Signed-off-by: sakeven <jc5930@sina.cn>



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

close resp.Body even when StatusCode isn't ok

**Special notes for your reviewer**:

**Release note**:

```
NONE
```
2017-07-11 21:01:37 -07:00
Kubernetes Submit Queue
cd3f8c3963 Merge pull request #47460 from mengqiy/fix_env
Automatic merge from submit-queue (batch tested with PRs 48402, 47203, 47460, 48335, 48322)

fix kubectl run --env flag

fixes: kubernetes/kubectl#19

cc: @ddcprg

```release-note
`kubectl run --env` no longer supports CSV parsing. To provide multiple env vars, use the `--env` flag multiple times instead of having env vars separated by commas. E.g. `--env ONE=1 --env TWO=2` instead of `--env ONE=1,TWO=2`.
```
2017-07-11 21:01:35 -07:00
Kubernetes Submit Queue
3217495f52 Merge pull request #47203 from spiffxp/selfclient-ipv6-loopback
Automatic merge from submit-queue (batch tested with PRs 48402, 47203, 47460, 48335, 48322)

TestLoopbackHostPort should accept IPv6 loopback host

Attempting to get unit tests to pass on darwin per [our unit testing policy](https://github.com/kubernetes/community/blob/master/contributors/devel/testing.md#unit-tests)

part of #48509

/cc @kubernetes/sig-api-machinery-bugs
2017-07-11 21:01:33 -07:00
Kubernetes Submit Queue
03360d7b65 Merge pull request #48402 from ianchakeres/local-storage-teardown-fix
Automatic merge from submit-queue

Local storage teardown fix

**What this PR does / why we need it**: Local storage uses bindmounts and the method IsLikelyNotMountPoint does not detect these as mountpoints. Therefore, local PVs are not properly unmounted when they are deleted.

**Which issue this PR fixes**: fixes #48331

**Special notes for your reviewer**:

You can use these e2e tests to reproduce the issue and validate the fix works appropriately https://github.com/kubernetes/kubernetes/pull/47999

The existing method IsLikelyNotMountPoint purposely does not check mountpoints reliability (4c5b22d4c6/pkg/util/mount/mount_linux.go (L161)), since the number of mountpoints can be large. 4c5b22d4c6/pkg/util/mount/mount.go (L46)

This implementation changes the behavior for local storage to detect mountpoints reliably, and avoids changing the behavior for any other callers to a UnmountPath.

**Release note**:

```
Fixes bind-mount teardown failure with non-mount point Local volumes (issue https://github.com/kubernetes/kubernetes/issues/48331).
```
2017-07-11 20:35:29 -07:00
Kubernetes Submit Queue
3e89fe241d Merge pull request #47829 from CaoShuFeng/Warning-Warningf
Automatic merge from submit-queue (batch tested with PRs 44412, 44810, 47130, 46017, 47829)

Use glog.*f when a format string is passed

ref:
https://godoc.org/github.com/golang/glog

I use the following commands to search all the invalid usage:
$ grep "glog.Warning(" * -r | grep %
$ grep "glog.Info(" * -r | grep %
$ grep "glog.Error(" * -r | grep %
$ grep ").Info(" * -r | grep % | grep glog.V(

**Release note**:

```
NONE
```
2017-07-11 20:00:26 -07:00
Kubernetes Submit Queue
a9aabd76e7 Merge pull request #46017 from xilabao/fix-print-of-generic-resources
Automatic merge from submit-queue (batch tested with PRs 44412, 44810, 47130, 46017, 47829)

fix self link error of generic resources in describe command

**What this PR does / why we need it**:
fix Self Link error
```
./cluster/kubectl.sh describe clusterrole system:controller:ttl-controller
Name:		system:controller:ttl-controller
Namespace:	
Labels:		kubernetes.io/bootstrapping=rbac-defaults
Annotations:	rbac.authorization.kubernetes.io/autoupdate=true
API Version:	rbac.authorization.k8s.io/v1alpha1
Kind:		ClusterRole
Metadata:
  Creation Timestamp:	2017-05-18T06:42:02Z
  Resource Version:	80
  Self Link:		/apis/rbac.authorization.k8s.io/v1alpha1/clusterroles/system%!A(MISSING)controller%!A(MISSING)ttl-controller
  UID:			19a705a4-3b95-11e7-9d55-7427ea6f0fe3
Rules:
  API Groups:
    
  Resources:
    nodes
  Verbs:
    list
    patch
    update
    watch
  API Groups:
    
  Resources:
    events
  Verbs:
    create
    patch
    update
Events:	<none>
```

**Which issue this PR fixes**: fixes #48743

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-07-11 20:00:23 -07:00
Kubernetes Submit Queue
6c1552c58a Merge pull request #47130 from shashidharatd/fed-cluster-scripts-cleanup
Automatic merge from submit-queue (batch tested with PRs 44412, 44810, 47130, 46017, 47829)

federation: Cleanup cluster scripts of older federation bring up method

**What this PR does / why we need it**:
Remove older method of bringing up federation via scripts. Currently `kubefed` is the only supported mechanism and is well established and stable.

**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
NONE
```
2017-07-11 20:00:20 -07:00
Kubernetes Submit Queue
8aaffb4018 Merge pull request #44810 from FengyunPan/fix-Errorf
Automatic merge from submit-queue (batch tested with PRs 44412, 44810, 47130, 46017, 47829)

Return clusterErr rather than err

The updateClusterIngressUIDToMasters() should return clusterErr, not err.
If the 'err' of 'masterCluster, masterUID, err := ic.getMasterCluster()' is nil and the 'clusterErr' of 'clusterObj, clusterErr := api.Scheme.DeepCopy(cluster)' is not nil, updateClusterIngressUIDToMasters() will return ("", nil).

And do not log fallbackUID when fallbackUID is nil.
2017-07-11 20:00:18 -07:00
Kubernetes Submit Queue
3f1776e07d Merge pull request #44412 from StackPointCloud/recheck-pvc-phase
Automatic merge from submit-queue (batch tested with PRs 44412, 44810, 47130, 46017, 47829)

recheck pod volumes before marking pod as processed

This PR allows a pod's volumes to be re-checked until all are added correctly.  There's a limited amount of time when a persistent volume claim is still in the Pending phase, and if a pod is created in that time, the volume will not be added.  The issue is not uncommon with helm charts that create all objects in close succession, particularly when using aws-ebs volumes.

fixes #28962
2017-07-11 20:00:14 -07:00
Janet Kuo
5a94b45d8b Correctly filter terminated pods in kubectl 2017-07-11 17:32:56 -07:00
Kubernetes Submit Queue
112d7413f9 Merge pull request #48685 from sttts/sttts-godep-symlink-workaround
Automatic merge from submit-queue

godep-save.sh: add workaround and more instructions

Fixes https://github.com/kubernetes/kubernetes/issues/48593, hit again in https://github.com/kubernetes/kubernetes/pull/47232#issuecomment-314025645.
2017-07-11 15:37:09 -07:00
Adam Worrall
2196be7c7f Leave testing on CVM by default
Avoid breaking tests that assume they're testing CVM.
2017-07-11 14:53:49 -07:00
Adam Worrall
72f58e09c1 Leave the test jobs running on CVM after all. 2017-07-11 14:47:35 -07:00
Adam Worrall
ddeab2a69a Update NODE_OS_DISTRIBUTION from debian to gci
This in turn drives how NODE_IMAGE is set
2017-07-11 14:47:35 -07:00
Adam Worrall
ba2dd9ea4c Use Container-optimzed OS images for node 2017-07-11 14:47:35 -07:00
Ian Chakeres
2b18d3b6f7 Fixes bind-mount teardown failure with non-mount point Local volumes
Added IsNotMountPoint method to mount utils (pkg/util/mount/mount.go)
Added UnmountMountPoint method to volume utils (pkg/volume/util/util.go)
Call UnmountMountPoint method from local storage (pkg/volume/local/local.go)
IsLikelyNotMountPoint behavior was not modified, so the logic/behavior for UnmountPath is not modified
2017-07-11 17:19:58 -04:00
krousey
339932f595 Merge pull request #48762 from sttts/sttts-docker-wait
Workaround docker-wait freeze with 17.06.0
2017-07-11 12:57:32 -07:00
craig
87f8e79658 Add generated clients. modify codegen script to make modification easier and to allow it to work from the root of the sample server.
fix issue where binaries not being removed. Add new client packages to lint

put new linted packages in correct location. remove flag from variables

Add all pkgs that should be linted and run sort

Add output from hack/update-bazel.sh

remove genclient=true from FischerList and regenerate client

re update bazel build files

fix missing resource method in register.go
2017-07-11 19:49:37 +01:00
Aaron Crickenberger
a23a5d47ea Update labels.yaml
Reminder that at some point we need to stop allowing humans to add
labels via github's UI, and instead drive changes through this file.
2017-07-11 11:21:18 -07:00
Alexander Block
61275ad8d4 Fix flaky test Test_Run_OneVolumeAttachAndDetachMultipleNodesWithReadWriteMany
Only relying on the NewAttacher/Detacher call counts is not enough as they
happen in parallel to the testing/verification code and thus the actual
attaching/detaching may not be done yet, resulting in flaky test results.

Fixes #46244
2017-07-11 18:21:50 +02:00
Dr. Stefan Schimanski
1f40e75aa0 Workaround docker-wait freeze with 17.06.0 2017-07-11 16:22:53 +02:00
jianglingxia
2d55962c85 squash the commits into one 2017-07-11 16:59:38 +08:00
Jordan Liggitt
e3e25df5df
Improve node restriction message 2017-07-10 22:44:24 -04:00
Yu-Ju Hong
e6ad8f8e48 dockershim: clean up unused security context code
Also remove references to kubernetes api objects
2017-07-10 17:48:26 -07:00
Jing Xu
9606a54049 Fix issue when setting fileysystem capacity in container manager
In Container manager, we set up the capacity by retrieving information
from cadvisor. However unlike machineinfo, filesystem information is
available at a later unknown time. This PR uses a go routine to keep
retriving the information until it is avaialble or timeout.
2017-07-10 16:43:18 -07:00
Matt Moyer
1d9bc00b81 Begin polling for bootstrap cluster info immediately.
The previous behavior was to sleep for `constants.DiscoveryRetryInterval` (5 seconds) before the first request.
2017-07-10 15:40:33 -07:00
Nick Sardo
ebce7d2497 Allow missing NETWORK_PROJECT_ID env var 2017-07-10 14:26:47 -07:00
Tim Allclair
a2f2e1d491 Name change: s/timstclair/tallclair/ 2017-07-10 14:05:46 -07:00
Benjamin Bauer
73bb5bfb12 Adds statefulset replicated sql upgrade test. Relies on image code that lives elsewhere. 2017-07-10 13:49:47 -07:00
Cheng Xing
01fd6219cf Setting default FlexVolume driver directory on COS images. 2017-07-10 11:17:23 -07:00
Mik Vyatskov
b11084e76c Bump event-exporter version 2017-07-10 17:32:40 +02:00
Klaus Ma
6d5e121292 Added pod evictors for new zone. 2017-07-10 22:53:14 +08:00
Andy Goldstein
e6f97d514d jsonpath filter: allow intermediate missing keys
In jsonpath, when filtering a list, if allowMissingKeys is true, skip
over any items that are missing an intermediate key in the filter,
instead of returning a confusing error.

For example, if the filter is

{.items[?(@.metadata.annotations.foo=="bar")].metadata.name}

we should return all items where metadata.annotations.foo == bar, but if
an item in the list does not have metadata, metadata.annotations, or
metadata.annotations.foo, skip it instead of erroring.
2017-07-10 09:32:36 -04:00
FengyunPan
703b3761fe Remove dead code for OpenStack provider 2017-07-10 20:59:39 +08:00
Jan Safranek
c20b4f7e4e glusterfs: retry without auto_unmount only when it's not supported
GlusterFS volume plugin should not blindly retry all failed mounts without
auto_unmount, it should retry them only when we are sure that auto_unmount
was the reason the first attempt failed.
2017-07-10 14:33:56 +02:00
Xing Yang
e94e50c999 Fix function and type names in the comments
This patch fixes function and type names in the comments
in predicates.go.
2017-07-10 04:59:58 -07:00
Cao Shufeng
a5df09ba89 add a regression test for Audit-ID http header
This change add a test for: https://github.com/kubernetes/kubernetes/pull/48492
2017-07-10 19:08:20 +08:00
Cao Shufeng
0c577c47d5 Use glog.*f when a format string is passed
ref:
https://godoc.org/github.com/golang/glog

I use the following commands to search all the invalid usage:
$ grep "glog.Warning(" * -r | grep %
$ grep "glog.Info(" * -r | grep %
$ grep "glog.Error(" * -r | grep %
$ grep ").Info(" * -r | grep % | grep "glog.V("
2017-07-10 19:04:03 +08:00
Dr. Stefan Schimanski
cd2552749f godep-save.sh: workaround broken vendor/github.com/docker/docker/project/CONTRIBUTING.md symlink 2017-07-10 13:02:38 +02:00
Dr. Stefan Schimanski
9775a66310 godep-save.sh: add verbosity 2017-07-10 13:02:38 +02:00
Wojciech Tyczynski
0744964956 Merge pull request #48683 from sttts/sttts-ipv4-only-systems-flake
Workaround tcpv4-only-systems connect issue in test
2017-07-10 12:28:16 +02:00
sakeven
795953c0c4 remove svg mime type extension
Signed-off-by: sakeven <jc5930@sina.cn>
2017-07-10 18:14:24 +08:00