Commit Graph

28880 Commits

Author SHA1 Message Date
Brandon Philips
e33f348551 README: be more accurate about where k8s can run
The README really undersells all of the places that can run Kubernetes.
Direct users at the getting started guides and be more optimistics about
the possibilities of running Kubernetes anywhere.
2016-05-15 13:59:31 -05:00
k8s-merge-robot
aada051b20 Merge pull request #25357 from mwielgus/ca-salt
Automatic merge from submit-queue

Salt configuration for the new Cluster Autoscaler for GCE

Adds support for cloud autoscaler from contrib/cloud-autoscaler in kube-up.sh GCE script.

cc: @fgrzadkowski @piosz
2016-05-15 11:35:19 -07:00
k8s-merge-robot
eae98632d5 Merge pull request #25627 from luxas/faster-local-up-cluster
Automatic merge from submit-queue

Build hyperkube in hack/local-up-cluster instead of separate binaries

This speeds up the build time a lot. 
Also add arm64 as a valid arch

This is quite trivial. Let's get it in asap
@thockin @pmorie @liggitt @eparis @zmerlynn @smarterclayton
2016-05-15 09:49:30 -07:00
k8s-merge-robot
87403cfe7b Merge pull request #25173 from ixdy/gcloud-grep-awk-cut
Automatic merge from submit-queue

Use --format='value(name)' with gcloud instead of grep/awk/cut

Fixing our fragile parsing of `gcloud` is getting old (#24746, #25159, maybe others?).

Instead, let's just get the proper output out of `gcloud` in the first place.
2016-05-15 07:46:28 -07:00
Lucas Käldström
8e64b5f347 Speed up hack/local-up-cluster.sh by building hyperkube instead of separate binaries. Also add arm64 as a valid arch 2016-05-15 16:38:11 +03:00
k8s-merge-robot
9cf6642531 Merge pull request #25110 from metral/recursive-rollout
Automatic merge from submit-queue

enable recursive processing in kubectl rollout

This PR was split out of https://github.com/kubernetes/kubernetes/pull/23673 per @deads2k's suggestion: https://github.com/kubernetes/kubernetes/pull/23673#discussion-diff-61290415

It makes use of the recursive processing of a directory in `kubectl rollout {undo,pause,resume}` which now also conforms to the [command conventions](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/kubectl-conventions.md#command-implementation-conventions).

`kubectl rollout history` is being omitted for the time being as its encountering what appears to be an anomaly of an issue: https://github.com/kubernetes/kubernetes/issues/24606. Once this issue has been resolved I will modify it to be recursive
2016-05-15 06:14:21 -07:00
k8s-merge-robot
141f814eb8 Merge pull request #25100 from rootfs/e2e-gce-volume
Automatic merge from submit-queue

add GCE PD volume e2e tests

add GCE PD e2e volume test

@kubernetes/sig-storage
2016-05-15 05:33:38 -07:00
k8s-merge-robot
e10625cdcc Merge pull request #25033 from smarterclayton/use_upstream_conversion
Automatic merge from submit-queue

Conversions have kube-isms and are not portable for downstream

Some minor fixes to enable generators for OpenShift and others who need
to generate conversions on Kube API groups outside the core.

@deads2k
2016-05-15 04:54:54 -07:00
k8s-merge-robot
5d6c5f5af8 Merge pull request #25022 from zhouhaibing089/sort-fix
Automatic merge from submit-queue

Support struct,array,slice types when sorting kubectl output

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

Briefly, `sorting_printer` only take cares of the following type kinds:

*   `reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64`
*   `reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64`
*   `reflect.Float32, reflect.Float64`
*   `reflect.String`
*   `reflect.Ptr`

This commit aims to add `reflect.Struct, reflect.Slice, reflect.Array`.

/cc @bgrant0607
2016-05-15 04:16:12 -07:00
k8s-merge-robot
272674b2a6 Merge pull request #25007 from liggitt/third-party-resource-validation
Automatic merge from submit-queue

validate third party resources

addresses validation portion of https://github.com/kubernetes/kubernetes/issues/22768

* ThirdPartyResource: validates name (3 segment DNS subdomain) and version names (single segment DNS label)
* ThirdPartyResourceData: validates objectmeta (name is validated as a DNS label)
* removes ability to use GenerateName with thirdpartyresources (kind and api group should not be randomized, in my opinion)

test improvements:
* updates resttest to clean up after create tests (so the same valid object can be used)
* updates resttest to take a name generator (in case "foo1" isn't a valid name for the object under test)

action required for alpha thirdpartyresource users:
* existing thirdpartyresource objects that do not match these validation rules will need to be removed/updated (after removing thirdpartyresourcedata objects stored under the disallowed versions, kind, or group names)
* existing thirdpartyresourcedata objects that do not match the name validation rule will not be able to be updated, but can be removed
2016-05-15 03:38:29 -07:00
k8s-merge-robot
59b7b1c550 Merge pull request #24921 from feiskyer/merge-exec
Automatic merge from submit-queue

Remove RunInContainer interface in Kubelet Runtime interface

According to #24689, we should merge RunInContainer and ExecInContainer in the container runtime interface. 

@yujuhong  @kubernetes/sig-node
2016-05-15 02:58:15 -07:00
k8s-merge-robot
dba8b953ed Merge pull request #24870 from smarterclayton/conversion_updated
Automatic merge from submit-queue

Optimize group version allocations

Avoid allocation in strings.Split() for most common cases.

Extracted from #24845

@wojtek-t or @deads2k
2016-05-15 00:58:22 -07:00
k8s-merge-robot
4ac32179bf Merge pull request #24798 from thockin/validation_pt8-1
Automatic merge from submit-queue

Make IsQualifiedName return error strings

Part of the larger validation PR, broken out for easier review and merge.

@lavalamp FYI, but I know you're swamped, too.
2016-05-14 22:14:17 -07:00
k8s-merge-robot
3b18a12eb9 Merge pull request #24736 from jayunit100/hpa-computeimpl
Automatic merge from submit-queue

Horizontal autoscalaer tolerance breaching verifier

@piosz @jszczepkowski This is the original HPA test without the other modifications, it makes explicit the mathematics of the logic in case changes ever occur.

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/24736)
<!-- Reviewable:end -->
2016-05-14 21:28:34 -07:00
k8s-merge-robot
be104a8271 Merge pull request #25415 from hongchaodeng/e2
Automatic merge from submit-queue

etcd_watcher: make Deleted Event.Object's version consistent

### What's the problem?

In [sendDelete()](995f022808/pkg/storage/etcd/etcd_watcher.go (L437-L442)), Deleted Event.Object's resource version will be set to the latest resource version. This is actually an assumption made by cacher that all later events should have objects with larger verions; See [here](995f022808/pkg/storage/cacher.go (L579-L581)).

In sendModify(), it could also return Deleted event. However, the resource version is still the old version, which is inconsistent behavior with sendDelete().

### What's this PR?
This PR sets the version of oldObj in sendModify() to be the latest version.
Provided unit test for it.
2016-05-14 20:46:20 -07:00
k8s-merge-robot
5df28fa18d Merge pull request #24647 from yifan-gu/rkt_gc
Automatic merge from submit-queue

rkt: Refactor GarbageCollect to enforce GCPolicy.

Previously, we uses `rkt gc` to garbage collect dead pods, which is very coarse, and can cause the dead pods to be removed too aggressively. 

This PR improves the garbage collection, now after one GC iteration:
- The deleted pods will be removed.
- If the number of containers exceeds gcPolicy.MaxContainers,
  then containers whose ages are older than gcPolicy.minAge will be removed.

cc @kubernetes/sig-node @euank @sjpotter 

Pending on #23887 for the Godep updates.

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/24647)
<!-- Reviewable:end -->
2016-05-14 12:13:01 -07:00
k8s-merge-robot
6fe3498ef9 Merge pull request #24625 from pmorie/dapi-volume-atomic
Automatic merge from submit-queue

Refactor downward API volume to use AtomicWriter

Make the downward API plugin use `AtomicWriter` instead.

@thockin @saad-ali @sdminonne

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/24625)
<!-- Reviewable:end -->
2016-05-14 11:22:42 -07:00
k8s-merge-robot
cb9a85166c Merge pull request #24191 from liangchenye/podstatus
Automatic merge from submit-queue

Add pod status/ready/restartCount conformance test

add more test cases to cover containers which will be terminated/running/failed/pending.

Signed-off-by: liang chenye <liangchenye@huawei.com>
2016-05-14 09:29:00 -07:00
k8s-merge-robot
b8f1682695 Merge pull request #24090 from AdoHe/expose_rc
Automatic merge from submit-queue

fix expose multi protocols issue

Please refer #23882 for more detail. @bprashanth @bgrant0607 ptal.

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/24090)
<!-- Reviewable:end -->
2016-05-14 07:15:58 -07:00
k8s-merge-robot
203b5b7c5f Merge pull request #24052 from deads2k/rate-limitting-requeue
Automatic merge from submit-queue

Rate limitting requeue

I think this will do what I want in almost every case.  I'm going to try it out for a single writer quota evaluation.

`NewRateLimitingQueue(NewControllerRateLimiter(qps, burst))` gives an `AddRateLimited(item)` that backs off based on the max of a bucket and exponential backoff per item.

@liggitt Want to see if the interface works for you too?

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/24052)
<!-- Reviewable:end -->
2016-05-14 06:34:15 -07:00
k8s-merge-robot
da3bd75db8 Merge pull request #20358 from nikhiljindal/federatedProxy
Automatic merge from submit-queue

federated api servers: Adding a discovery summarizer server

Ref https://github.com/kubernetes/kubernetes/issues/20229

The server reads a config file to get the list of federated servers and then surfaces the combined discovery information at `/api` and `/apis`.


cc @kubernetes/sig-api-machinery @lavalamp

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/20358)
<!-- Reviewable:end -->
2016-05-14 05:55:33 -07:00
k8s-merge-robot
290670d6c2 Merge pull request #25597 from saad-ali/renameNewGoRoutine
Automatic merge from submit-queue

Rename NewGoRoutine to Run in GoRoutineMap
2016-05-14 05:16:49 -07:00
k8s-merge-robot
67eaa02bd1 Merge pull request #25453 from nikhiljindal/fedServerAuth
Automatic merge from submit-queue

Moving federation-apiserver to use genericapiserver.ServerRunOptions and deleting federation-apiserver options

The remaining params were related to authz and authn and one parameter for WatchCacheSize.
Have moved them to genericapiserver.ServerRunOptions and now federation-apiserver can just use genericapiserver.ServerRunOptions()


cc @jianhuiz @kubernetes/sig-cluster-federation
2016-05-14 03:24:34 -07:00
k8s-merge-robot
0165fd2f6f Merge pull request #25443 from nikhiljindal/tryingClientGen
Automatic merge from submit-queue

Adding Services to federation clientset

Commits:
1. Regenerate the client without any changes to client-gen
2. Update clientgen to add a parameter to specify generating client only for Services v1 object.
3. Regenerate federation_internalclientset
4. Regenerate federation_release_1_3


Second commit is the most important one. Other 3 commits are auto generated by running client-gen.
I have added a command line argument to client-gen that takes in a list of group/version/resource. If a group version is part of this list, then only the resources in this list are included in the client. For other group versions, the existing check of genclient=true in types.go is used.

Other alternatives considered were:
* Update genclient in types.go to mention the clientset name in which it should be included instead of just saying genclient=true (so Services will say genclient=core,federation while all other v1 resources will say genclient=core). This requires a code change in types.go to change a client set.
* Create another types.go which will only include Services and use that to generate federation clientset. This will lead to duplicate Service definition.


cc @caesarxuchao @lavalamp @jianhuiz @mfanjie @kubernetes/sig-cluster-federation 

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/25443)
<!-- Reviewable:end -->
2016-05-14 00:20:28 -07:00
k8s-merge-robot
4486385bc6 Merge pull request #25267 from pwittrock/kubectl-retry-simple
Automatic merge from submit-queue

Retry fetching http urls passed to '-f' in kubectl.

## Pull Request Guidelines

1. Please read our [contributor guidelines](https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md).
1. See our [developer guide](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md).
1. Follow the instructions for [labeling and writing a release note for this PR](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes) in the block below.

```release-note
* kubectl now retries failed http gets for urls passed through the '-f' flag.
```


[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()

Closes #24089.
2016-05-13 22:44:24 -07:00
k8s-merge-robot
9796900306 Merge pull request #25551 from mml/db.store.codegen
Automatic merge from submit-queue

The remaining API changes for PodDisruptionBudget.

It's mostly the boilerplate required for the registry, some extra codegen, and a few tests.

Will squash once we're sure it's good.
2016-05-13 20:15:15 -07:00
Matt Liggett
f5e8d41431 Finish implementing policy API.
Registry implementation and addition to the master.
2016-05-13 17:27:58 -07:00
Jeff Lowdermilk
731a4f78f2 Merge pull request #25537 from jlowdermilk/e2e-framework-fix
e2e: make ForEach fail if filter is empty, fix no-op tests
2016-05-13 17:04:33 -07:00
Jeff Lowdermilk
9a20ca2899 Merge pull request #25163 from derekwaynecarr/pod-eviction-grace-period-flag
Pod eviction grace period flag
2016-05-13 16:17:27 -07:00
Jeff Lowdermilk
e02cad4a11 Merge pull request #25564 from davidopp/fix-pod-affinity-test
Move test input files from test/e2e/node-selection/ to test/e2e/testing-manifests/
2016-05-13 16:07:20 -07:00
saadali
f7196337c7 Rename NewGoRoutine to Run in GoRoutineMap 2016-05-13 16:05:55 -07:00
k8s-merge-robot
24c46acd16 Merge pull request #24369 from Clarifai/ecr
Automatic merge from submit-queue

AWS: Allow cross-region image pulling with ECR

Fixes #23298
Definitely should be in the release notes; should maybe get merged in 1.2 along with #23594 after some soaking. Documentation changes to follow.

cc @justinsb @erictune @rata @miguelfrde

This is step two. We now create long-lived, lazy ECR providers in all regions.
When first used, they will create the actual ECR providers doing the work
behind the scenes, namely talking to ECR in the region where the image lives,
rather than the one our instance is running in.

Also:
- moved the list of AWS regions out of the AWS cloudprovider and into the
credentialprovider, then exported it from there.
- improved logging

Behold, running in us-east-1:

```
aws_credentials.go:127] Creating ecrProvider for us-west-2
aws_credentials.go:63] AWS request: ecr:GetAuthorizationToken in us-west-2
aws_credentials.go:217] Adding credentials for user AWS in us-west-2
Successfully pulled image "123456789012.dkr.ecr.us-west-2.amazonaws.com/test:latest"
```

*"One small step for a pod, one giant leap for Kube-kind."*

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/24369)
<!-- Reviewable:end -->
2016-05-13 15:15:45 -07:00
Yifan Gu
9d5bcf4251 rkt: Add tests for GarbageCollect(). 2016-05-13 15:13:52 -07:00
Yifan Gu
06b1955c4a rkt: Refactor GarbageCollect() to enforce GCPolicy.MaxContainers. 2016-05-13 15:12:36 -07:00
Jeff Lowdermilk
3e83de8eeb Merge pull request #25399 from jsafrane/devel/wait-for-operation
Add GoRoutineMap.Wait method.
2016-05-13 15:09:30 -07:00
Jeff Lowdermilk
e7ab3a39d1 Merge pull request #25518 from euank/cluster-common-python3
cluster: make gen-uid python3 compatible
2016-05-13 15:07:46 -07:00
Jeff Lowdermilk
1661df4554 Merge pull request #25487 from derekwaynecarr/verify_resources
pod constraints func for quota validates resources
2016-05-13 15:07:23 -07:00
Jeff Lowdermilk
095e262461 Merge pull request #25361 from yifan-gu/imagestates
rkt: Implement ImageStats() for rkt.
2016-05-13 15:05:48 -07:00
Jeff Lowdermilk
8329b7d624 Merge pull request #25305 from AdoHe/pod_ip
add ip to pod wide output
2016-05-13 15:05:30 -07:00
Jeff Lowdermilk
1169743223 Merge pull request #25575 from fgrzadkowski/unschedulable_pod
Fix updating pod condition in scheduler
2016-05-13 15:05:19 -07:00
Jeff Lowdermilk
177c0efe72 Merge pull request #25552 from caesarxuchao/merge-finalizers
add merge tag to v1/ObjectMeta.Finalizers
2016-05-13 15:04:17 -07:00
Jeff Lowdermilk
6a15e0a9c2 e2e: make ForEach fail if filter is empty, fix no-op tests 2016-05-13 14:56:50 -07:00
k8s-merge-robot
ce80372573 Merge pull request #25500 from mml/2016
Automatic merge from submit-queue

It's 2016, yo.
2016-05-13 14:24:57 -07:00
nikhiljindal
b1fdd4180b Regenerating the federation client with updated client gen 2016-05-13 14:12:58 -07:00
nikhiljindal
73895c0418 Updating client-gen to support a user specified override on the resources to be included in generated client 2016-05-13 14:12:58 -07:00
nikhiljindal
65c1dc8b84 Adding a discovery summarizer server 2016-05-13 13:52:23 -07:00
Jeff Lowdermilk
1795edf355 Merge pull request #25376 from ixdy/dockerized-e2e
dockerized e2e: only mount GCE ssh keyfile
2016-05-13 13:50:32 -07:00
k8s-merge-robot
399b086620 Merge pull request #23684 from luxas/auto_label_arch
Automatic merge from submit-queue

Automatically add node labels beta.kubernetes.io/{os,arch}

Proposal: #17981
As discussed in #22623:
> @davidopp: #9044 says cloud provider but can also cover platform stuff.

Adds a label `beta.kubernetes.io/platform` to `kubelet` that informs about the os/arch it's running on.
Makes it easy to specify `nodeSelectors` for different arches in multi-arch clusters.

```console
$ kubectl get no --show-labels
NAME        STATUS    AGE       LABELS
127.0.0.1   Ready     1m        beta.kubernetes.io/platform=linux-amd64,kubernetes.io/hostname=127.0.0.1
$ kubectl describe no
Name:			127.0.0.1
Labels:			beta.kubernetes.io/platform=linux-amd64,kubernetes.io/hostname=127.0.0.1
CreationTimestamp:	Thu, 31 Mar 2016 20:39:15 +0300
```
@davidopp @vishh @fgrzadkowski @thockin @wojtek-t @ixdy @bgrant0607 @dchen1107 @preillyme
2016-05-13 13:25:34 -07:00
Jeff Lowdermilk
4aabafe4c3 Merge pull request #25519 from jlowdermilk/no-trim
Don't trim whitespace from kubectl output in e2e tests
2016-05-13 13:01:22 -07:00
Matt Liggett
2bc46d5085 It's 2016, yo. 2016-05-13 12:41:40 -07:00