Commit Graph

40388 Commits (702c33a5640a6fabac0a3cf6b9d4008f5127ff69)

Author SHA1 Message Date
Kubernetes Submit Queue 7f2622e668 Merge pull request #32663 from anguslees/extraroutes
Automatic merge from submit-queue

openstack: Implement the `Routes` provider API

``` release-note

Implement the Routes provider API for OpenStack using Neutron extraroute extension.  This removes the need for flannel/etc where supported.  To use, ensure all your nodes are on the same Neutron (private) network and specify the router ID in new `[Route]` section of provider config:

    [Route]
    router-id = <router UUID>
```
2016-12-07 21:36:13 -08:00
Kubernetes Submit Queue 258971002f Merge pull request #37850 from MrHohn/gke-dns-autoscale
Automatic merge from submit-queue (batch tested with PRs 37092, 37850)

Turns on dns horizontal scaling tests for GKE

Seems like the dns-autoscaler is already enabled in [this recent gke build](https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/logs/ci-kubernetes-e2e-gci-gke/769/).
Turning on the corresponding e2e tests to increase test coverage.

Probably better to wait for this fix #37261 to go in first.

@bowei @bprashanth 
cc @maisem @roberthbailey
2016-12-07 18:13:11 -08:00
Kubernetes Submit Queue fd3d481f31 Merge pull request #37092 from linux-on-ibm-z/cross-s390x
Automatic merge from submit-queue

[Part 1] Add support for cross-compiling s390x binaries

<!--  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**: The current release of Kubernetes support s390x architecture partly meaning we can build Kubernetes on s390x but while deploying Kubernetes it does not have required images pushed to gcr.io repository. This PR is to make Kubernetes docker images available for s390x architecture on gcr.io repository. This PR also enables s390x support to kube-dns , pause, addon-manager, etcd, hyperkube, kube-discovery etc.

**Which issue this PR fixes** #34328

**Special notes for your reviewer**: In existing file "build-tools/build-image/cross/Dockerfile" the repository mentioned for installing cross build tool chains for supporting architecture does not have a tool chain for s390x hence in my PR I am changing the repository so that it will be cross compiled for s390x.

**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
```
2016-12-07 18:01:57 -08:00
Kubernetes Submit Queue bc28aeb8ef Merge pull request #38333 from euank/more-ssl-mounts
Automatic merge from submit-queue (batch tested with PRs 37325, 38313, 38141, 38321, 38333)

cluster: bindmount more cert paths

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

/etc/ssl/certs is currently mounted through in a number of places.
However, on Gentoo and CoreOS (and probably others), the files in
/etc/ssl/certs are just symlinks to files in /usr/share/ca-certificates.

For these components to correclty work, the target of the symlinks needs
to be available as well.

This is especially important for kube-controller-manager, where this
issue was noticed.



**Special notes for your reviewer**:

This change was originally part of #33965, but was split out for ease of
review.

**Release note**:

```release-note
NONE
```
2016-12-07 17:14:21 -08:00
Kubernetes Submit Queue 04cd4ae43e Merge pull request #38321 from timstclair/misc-fix
Automatic merge from submit-queue (batch tested with PRs 37325, 38313, 38141, 38321, 38333)

Decrease expected lower bound for misc CPU

Fixes https://github.com/kubernetes/kubernetes/issues/34990

We started enforcing expectations on the `misc` system container in https://github.com/kubernetes/kubernetes/pull/37856, but the CPU usage tends to be lower than the `kueblet` & `runtime` containers (to be expected). For simplicity, I lowered the lower bound for all system containers.
2016-12-07 17:14:20 -08:00
Kubernetes Submit Queue 350c14b81c Merge pull request #38141 from bprashanth/lb_testing
Automatic merge from submit-queue (batch tested with PRs 37325, 38313, 38141, 38321, 38333)

Cleanup firewalls, add nginx ingress to presubmit

Make the firewall cleanup code follow the same pattern as the other cleanup functions, and add the nginx ingress e2e to presubmit. 

Planning to watch the test for a bit, and if it works alright, I'll add the other Ingress e2e to post-submit merge blocker.
2016-12-07 17:14:18 -08:00
Kubernetes Submit Queue 94ed939000 Merge pull request #38313 from alejandroEsc/ae/fix1
Automatic merge from submit-queue (batch tested with PRs 37325, 38313, 38141, 38321, 38333)

typo found with controller comment for framework_test.

**What this PR does / why we need it**: fix test comment typo


**Release note**:
`NONE`
2016-12-07 17:14:16 -08:00
Kubernetes Submit Queue 4b44926f90 Merge pull request #37325 from ivan4th/fix-e2e-with-complete-pods-in-kube-system-ns
Automatic merge from submit-queue (batch tested with PRs 37325, 38313, 38141, 38321, 38333)

Fix running e2e with 'Completed' kube-system pods

As of now, e2e runner keeps waiting for pods in `kube-system` namespace to be "Running and Ready" if there are any pods in `Completed` state in that namespace.
This for example happens after following [Kubernetes Hosted Installation](http://docs.projectcalico.org/v2.0/getting-started/kubernetes/installation/#kubernetes-hosted-installation) instructions for Calico, making it impossible to run conformance tests against the cluster. It's also to possible to reproduce the problem like that:
```
$ cat testjob.yaml
apiVersion: batch/v1
kind: Job
metadata:
  name: tst
  namespace: kube-system
spec:
  template:
    metadata:
      name: tst
    spec:
      containers:
      - name: tst
        image: busybox
        command: ["echo",  "test"]
      restartPolicy: Never
$ kubectl create -f testjob.yaml
$ go run hack/e2e.go -v --test --test_args='--ginkgo.focus=existing\s+RC'
```
2016-12-07 17:14:14 -08:00
Hemant Kumar caf867a402 Exponential back off when volume delete fails
This implements pv_controller to exponentially backoff
when deleting a volume fails in Cloud API. It ensures that
we aren't making too many calls to Cloud API
2016-12-07 19:25:36 -05:00
Kubernetes Submit Queue 72e7adb658 Merge pull request #36735 from YuPengZTE/devHTTP
Automatic merge from submit-queue

type HttpProxyCheck should be HTTPProxyCheck

**What this PR does / why we need it**:
Change HttpProxyCheck to HTTPProxyCheck
**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**:
golint
**Release note**:

```release-note
```

Signed-off-by: yupeng <yu.peng36@zte.com.cn>
2016-12-07 16:21:21 -08:00
Zihong Zheng 69dc74bab3 Turns on dns horizontal scaling tests for GKE 2016-12-07 16:05:22 -08:00
Euan Kemp b8d2099b3f cluster: bindmount more cert paths
/etc/ssl/certs is currently mounted through in a number of places.
However, on Gentoo and CoreOS (and probably others), the files in
/etc/ssl/certs are just symlinks to files in /usr/share/ca-certificates.

For these components to correclty work, the target of the symlinks needs
to be available as well.

This is especially important for kube-controller-manager, where this
issue was noticed.

This change was originally part of #33965, but was split out for ease of
review.
2016-12-07 15:21:53 -08:00
Kubernetes Submit Queue ca049360e2 Merge pull request #38258 from derekwaynecarr/kernel-memcg-flag
Automatic merge from submit-queue (batch tested with PRs 38318, 38258)

kernel memcg notification enabled via experimental flag

Kubelet integrates with kernel memcg notification API if and only if enabled via experimental flag.
2016-12-07 15:00:10 -08:00
Kubernetes Submit Queue debed6fa56 Merge pull request #38318 from MrHohn/dns-autoscale-doc
Automatic merge from submit-queue

Adds docs for dns-horizontal-autoscaler and kube-dns

Although we have separate docs on kubernetes.io, we should have a short description about the dns-horizontal-autoscaler addon in folder.

Also updates kube-dns README with example command to scale kube-dns Deployment. This is needed because Addon Manager v6 has stricter reconcile behavior.

@bowei @bprashanth @thockin
2016-12-07 14:22:21 -08:00
Jordan Liggitt 94ca8cbad6
Add a multi-threaded test for ratelimiter 2016-12-07 16:40:37 -05:00
Kubernetes Submit Queue 66f5d07e05 Merge pull request #38255 from bprashanth/svc_cleanup
Automatic merge from submit-queue

Delete regional static-ip instead of global for type=lb

Global vs region is the difference between 
```
$ gcloud compute addresses delete foo --global
$ gcloud compute addresses delete foo --region us-central1
```

Type=LoadBalancer users the second type and were were doing the first. 
Also adds some logging.
2016-12-07 13:38:50 -08:00
Kubernetes Submit Queue 7d8d4eb057 Merge pull request #38304 from deads2k/cli-13-fix-validate
Automatic merge from submit-queue (batch tested with PRs 36140, 38304)

remove validation dependency on version negotiation

Things that just need a REST client or a bit of discovery information should not attempt to perform negotiation.  Doing so just limits the genericness of the client.

@kubernetes/sig-cli 
@fabianofranz this blocks the kubernetes-discovery work.
2016-12-07 13:18:10 -08:00
Kubernetes Submit Queue 84f03ef957 Merge pull request #36140 from guangxuli/k8s_extend_get_docker_auth
Automatic merge from submit-queue

make invocation ReadDockerConfigFile can handle .dockerconfigjson file

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

When **.docker/config.json** is used to authenticate docker registry, the data key **.dockerconfigjson** should be used if we want to save this kind of docker auth data into a secret. So this PR is mainly to make invocation `ReadDockerConfigFile `have ability to read  **.dockerconfigjson** file.
@liggitt
2016-12-07 12:55:47 -08:00
Tim St. Clair f4706464f6
Decrease expected lower bound for misc CPU 2016-12-07 12:39:48 -08:00
Kubernetes Submit Queue 08c0f7dded Merge pull request #27711 from xiangpengzhao/port-allocator-test
Automatic merge from submit-queue

Cover port_allocator_test with more conditions

The test cases of port_allocator_test should cover more conditions, such as `rangeAllocator.used.Bit`.
2016-12-07 12:14:36 -08:00
Kubernetes Submit Queue 2c7e1317f4 Merge pull request #36724 from YuPengZTE/devCtx
Automatic merge from submit-queue (batch tested with PRs 36543, 38189, 38289, 38291, 36724)

context.Context should be the first parameter of a function in vsphere

**What this PR does / why we need it**:
Change the position of the context.Context parameter.
**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**:
golint
**Release note**:

```release-note
```

Signed-off-by: yupeng <yu.peng36@zte.com.cn>
2016-12-07 11:40:21 -08:00
Kubernetes Submit Queue cafba0b94e Merge pull request #38291 from justinsb/fix_38920
Automatic merge from submit-queue (batch tested with PRs 36543, 38189, 38289, 38291, 36724)

kube-up: Only specify ETCD_QUORUM_READ if non-empty
2016-12-07 11:40:19 -08:00
Kubernetes Submit Queue 8d518d36b5 Merge pull request #38289 from deads2k/fed-07-wire-auth
Automatic merge from submit-queue (batch tested with PRs 36543, 38189, 38289, 38291, 36724)

add authentication/authorization to kubernetes-discovery

Wires authentication and authorization into `kubernetes-discovery` and re-enables the `local-up-cluster.sh` along with proper permission granting for RBAC cases.

@sttts @liggitt
2016-12-07 11:40:17 -08:00
Kubernetes Submit Queue 28dc2f74ff Merge pull request #38189 from feiskyer/fix-attach
Automatic merge from submit-queue (batch tested with PRs 36543, 38189, 38289, 38291, 36724)

Kubelet: only check podUID when it is actually set

Fixes #38188.

cc/ @timstclair @yujuhong
2016-12-07 11:40:16 -08:00
Zihong Zheng c49225d578 Adds docs for dns-horizontal-autoscaler and kube-dns 2016-12-07 11:36:08 -08:00
bprashanth e1daee5b37 Delete regional static-ip instead of global for type=lb 2016-12-07 11:33:04 -08:00
Kubernetes Submit Queue f210c97eea Merge pull request #36543 from jayunit100/scheduler_perf_integration_qps
Automatic merge from submit-queue

Fix scheduler_perf test so that QPS is non-zero even if there is a scheduling "cold start" 

@gmarek  ... is something like this more realistic as an expectation ?  That is, wait till scheduling starts, then wait 1 second before any polling attempts....  i.e. 

- gaurantee uniform sleep before measure, by doing it first rather then last
- print the initial status so that its easier to debug in case of issues

#36532
2016-12-07 11:27:57 -08:00
Michael Fraenkel c6d6dcfa1e Re-enable flaky tests 2016-12-07 14:00:39 -05:00
Michael Fraenkel e4542e2c67 Wait for the port to be ready before starting
- wait until the port is ready
- verify the container terminated
2016-12-07 14:00:03 -05:00
Alejandro Escobar 759530536f type found with controller comment. 2016-12-07 10:55:02 -08:00
Kubernetes Submit Queue aa08702d23 Merge pull request #37835 from luxas/kubeadm_cloudprovider_and_dns
Automatic merge from submit-queue (batch tested with PRs 38294, 37009, 36778, 38130, 37835)

Add a cloudprovider validator flag to kubeadm and update the DNS spec

Broken out from: https://github.com/kubernetes/kubernetes/pull/37568

This PR creates a flag for `cloud-provider` that validates the value before `RunInit()` is run, which makes it now act as a "real" flag
Then it removes the `k8s.io/kubernetes/pkg/cloudprovider` dependency, which makes the binary ~40MB smaller! That's _really_ worth it!

In the second commit, the DNS addon is updated to the latest version: https://github.com/kubernetes/kubernetes/blob/master/cluster/addons/dns/skydns-rc.yaml.base

@kubernetes/sig-cluster-lifecycle
2016-12-07 10:45:22 -08:00
Kubernetes Submit Queue af5a91d46d Merge pull request #38130 from fabianofranz/bump_docker_go_units
Automatic merge from submit-queue (batch tested with PRs 38294, 37009, 36778, 38130, 37835)

Bump github.com/docker/go-units dependency

<!--  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**: Bump [github.com/docker/go-units](https://github.com/docker/go-units/) to include https://github.com/docker/go-units/pull/22 which improves the precision of human durations ("about an hour ago", "2 days ago", etc).

**Which issue this PR fixes**: Issue detected in OpenShift: https://github.com/openshift/origin/issues/11967

**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
```
2016-12-07 10:45:20 -08:00
Kubernetes Submit Queue f2014abf6f Merge pull request #36778 from cjcullen/basicauth
Automatic merge from submit-queue (batch tested with PRs 38294, 37009, 36778, 38130, 37835)

Only configure basic auth on gci if KUBE_USER and KUBE_PASSWORD are specified.

This should not change the existing flow when KUBE_USER/KUBE_PASSWORD are specified.
It makes not specifying those a valid option that means "don't turn on basic auth".
I only did it for cluster/gce/gci for now, but others should be somewhat similar.
2016-12-07 10:45:18 -08:00
Kubernetes Submit Queue 0f2c6fc7fc Merge pull request #37009 from sjenning/fix-perms-with-fsgroup
Automatic merge from submit-queue (batch tested with PRs 38294, 37009, 36778, 38130, 37835)

fix permissions when using fsGroup

Currently, when an fsGroup is specified, the permissions of the defaultMode are not respected and all files created by the atomic writer have mode 777.  This is because in `SetVolumeOwnership()` the `filepath.Walk` includes the symlinks created by the atomic writer.  The symlinks have mode 777 when read from `info.Mode()`.  However, when the are chmod'ed later, the chmod applies to the file the symlink points to, not the symlink itself, resulting in the wrong mode for the underlying file.

This PR skips chmod/chown for symlinks in the walk since those operations are carried out on the underlying file which will be included elsewhere in the walk.

xref https://bugzilla.redhat.com/show_bug.cgi?id=1384458

@derekwaynecarr @pmorie
2016-12-07 10:45:16 -08:00
Kubernetes Submit Queue 440ed2cfa8 Merge pull request #38294 from liggitt/rate-limit
Automatic merge from submit-queue (batch tested with PRs 38294, 37009, 36778, 38130, 37835)

Re-use tested ratelimiter

The ratelimiter introduced in #35583 is not working correctly when called from multiple threads
This reverts to the tested ratelimiter we were previously using to unblock 1.5 (automated revert wasn't possible)
Ref #38273

reproducing test case:
```
func TestMultiThreadedBlocking(t *testing.T) {
	done := make(chan bool)

	// 100 QPS, burst of 100
	b := NewBucketWithRate(100, 100)

	go func() {
		defer close(done)
		fmt.Println(time.Now(), "Waiting for 1000 (should block for ~9-10 seconds)")
		b.Wait(1000)
		fmt.Println(time.Now(), "Got 1000")
	}()

	// give the request for 1000 plenty of time to take the tokens
	time.Sleep(2 * time.Second)
	fmt.Println(time.Now(), "Waiting for 1 (should wait until 1000 block is refilled)")
	b.Wait(1)
	fmt.Println(time.Now(), "Got 1 (should happen right after the wait for 1000 completes)")

	<-done
}

$ go test ./pkg/util/ratelimit/ -v -run TestMultiThreadedBlocking
=== RUN   TestMultiThreadedBlocking
2016-12-07 12:15:36.222133049 -0500 EST Waiting for 1000 (should block for ~9-10 seconds)
2016-12-07 12:15:38.222797752 -0500 EST Waiting for 1 (should wait until 1000 block is refilled)
2016-12-07 12:15:38.222897951 -0500 EST Got 1 (should happen right after the wait for 1000 completes)
2016-12-07 12:15:45.223125234 -0500 EST Got 1000
```

in contrast, the same test run against juju/ratelimit:
```
go test ./pkg/util/flowcontrol/ -v -run TestMultiThreadedBlocking
=== RUN   TestMultiThreadedBlocking
2016-12-07 12:32:56.796077782 -0500 EST Waiting for 1000 (should block for ~9-10 seconds)
2016-12-07 12:32:58.799159059 -0500 EST Waiting for 1 (should wait until 1000 block is refilled)
2016-12-07 12:33:05.801076002 -0500 EST Got 1000
2016-12-07 12:33:05.807510387 -0500 EST Got 1 (should happen right after the wait for 1000 completes)
--- PASS: TestMultiThreadedBlocking (9.01s)
```
2016-12-07 10:45:13 -08:00
deads2k b658552947 remove validation dependency on version negotiation 2016-12-07 13:23:20 -05:00
Shyam Jeedigunta 06ce9ae479 Moved start-kubemark-master.sh from test/kubemark/ to test/kubemark/resources/ 2016-12-07 18:15:24 +01:00
Jordan Liggitt 1c89a10556
Re-use juju ratelimit
Reverts changes in cebfc821a4
2016-12-07 10:32:47 -05:00
Jordan Liggitt 45cf32810d
bump(github.com/juju/ratelimit): 77ed1c8a01217656d2080ad51981f6e99adaa177 2016-12-07 10:32:18 -05:00
Kubernetes Submit Queue ce93c81029 Merge pull request #38092 from xilabao/fix-alias-conflict
Automatic merge from submit-queue (batch tested with PRs 35101, 38215, 38092)

fix alias conflict of clusterrolebinding

create_configmap alias is "cm"
2016-12-07 07:27:17 -08:00
Kubernetes Submit Queue 051e558a4c Merge pull request #38215 from deads2k/fed-06-fix-informer
Automatic merge from submit-queue (batch tested with PRs 35101, 38215, 38092)

fix informer generation

Informer generation doesn't work for informers from a different clientset.  This updates the generator to generate the internal interfaces required to break the cycle.

@ncdc take a look at the last two commits.
2016-12-07 07:27:15 -08:00
Kubernetes Submit Queue 473e830873 Merge pull request #35101 from xilabao/auth-duplicate-detect
Automatic merge from submit-queue (batch tested with PRs 35101, 38215, 38092)

auth duplicate detect

I think we should not allow people set duplicate tokens in token file or set duplicate usernames in password file. because the default action overwriting the old data may let people misunderstand.
2016-12-07 07:27:13 -08:00
Michail Kargakis b3765c4df9 Backoff correctly when adopting replica sets/pods 2016-12-07 16:13:18 +01:00
Derek Carr bcca0395cf Add generated artifacts for new flag 2016-12-07 10:09:57 -05:00
Derek Carr 5b2d1c2c25 Enable kernel memcg notification via additional flag 2016-12-07 10:09:41 -05:00
Justin Santa Barbara ca22a75015 kube-up: Only specify ETCD_QUORUM_READ if non-empty
Fix #38290
2016-12-07 09:45:24 -05:00
deads2k 798d3edabf add authentication/authorization to kubernetes-discovery 2016-12-07 09:33:43 -05:00
Lucas Käldström f4cb405164 Update the built-in DNS addon of kubeadm to the v1.5 version 2016-12-07 16:24:21 +02:00
Lucas Käldström 342f98d516 Create a new cloud-provider flag in order to catch wrong args directly and don't import the cloudprovider package and save ~50% in binary size 2016-12-07 16:24:02 +02:00
Kubernetes Submit Queue fc361206e7 Merge pull request #38264 from liggitt/fix-local-up-cluster
Automatic merge from submit-queue

Disable kubernetes-discovery in local-up-cluster.sh

fix #38257

Fixes local-up-cluster until kubernetes-discovery flags are hooked up
2016-12-07 06:13:57 -08:00