Commit Graph

13639 Commits

Author SHA1 Message Date
Kris
6cd2fa6b42 Make unstructured scheme aware of VersionedObjects
UnstructuredJSONScheme now handles decoding into VersionedObjects
properly by decoding into Unstructured and putting it in the object list.
2016-05-13 14:04:39 -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
Matt Liggett
2bc46d5085 It's 2016, yo. 2016-05-13 12:41:40 -07:00
Jeff Lowdermilk
1616239b4a Merge pull request #25436 from smarterclayton/defend_proto
Add a defensive sanity check to protobuf marshal
2016-05-13 10:45:58 -07:00
Jeff Lowdermilk
e9aecf6b9e Merge pull request #25181 from janetkuo/kubectl-suggest
kubectl suggest for get (list, ps), and delete(rm)
2016-05-13 10:08:22 -07:00
Filip Grzadkowski
6c6862216b Fix updating pod condition in scheduler 2016-05-13 19:00:58 +02:00
Jeff Lowdermilk
1fe0e0778f Merge pull request #24080 from tyangliu/fix-infra-network-cfg
Pass dockerOpts by reference to setInfraContainerNetworkConfig
2016-05-13 09:53:39 -07:00
Jeff Lowdermilk
ab4ffd3a1a Merge pull request #23752 from bparees/interrupt
make interrupt default exit with rc=1 and handle SIGHUP
2016-05-13 09:52:56 -07:00
derekwaynecarr
12229f3473 Add generated artifacts for new kubelet flag 2016-05-13 11:44:20 -04:00
derekwaynecarr
d6354a54ad Add kubelet flag for eviction max pod grace period 2016-05-13 11:19:05 -04:00
k8s-merge-robot
bb3f5b1768 Merge pull request #23090 from tgraf/ipv6
Automatic merge from submit-queue

Add IPv6 address support for pods - does NOT include services

This allows a container to have an IPv6 address only and extracts the address via nsenter and iproute2 or the docker client directly. An IPv6 address is now correctly reported when describing a pod.

@thockin @kubernetes/sig-network

<!-- 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/23090)
<!-- Reviewable:end -->
2016-05-13 06:32:00 -07:00
k8s-merge-robot
17345bf857 Merge pull request #25372 from derekwaynecarr/more-eviction-flags
Automatic merge from submit-queue

Add eviction-pressure-transitition-period flag to kubelet

This PR does the following:
* add the new flag to control how often a node will go out of memory pressure or disk pressure conditions see: https://github.com/kubernetes/kubernetes/pull/25282
* pass an `eviction.Config` into `kubelet` so we can group config

/cc @vishh
2016-05-13 05:46:15 -07:00
k8s-merge-robot
4591aa0f3b Merge pull request #25306 from pmorie/configmap-medium
Automatic merge from submit-queue

Use local disk for ConfigMap volume instead of tmpfs

So that ConfigMap volumes are counted against pod's storage quota.

@kubernetes/sig-node 
cc @derekwaynecarr @vishh
2016-05-13 05:07:01 -07:00
k8s-merge-robot
b7e2e2b494 Merge pull request #25297 from mml/db.tweak
Automatic merge from submit-queue

A few followups from #24697
2016-05-13 04:17:45 -07:00
k8s-merge-robot
f6c2560f68 Merge pull request #25565 from wojtek-t/traces_in_replication_controller
Automatic merge from submit-queue

Add traces to ReplicationController

Ref #25563
2016-05-13 03:41:31 -07:00
Wojciech Tyczynski
327c9486e1 Add traces to ReplicationController 2016-05-13 10:30:45 +02:00
k8s-merge-robot
a503bcd78e Merge pull request #25065 from derekwaynecarr/pod_worker_updates
Automatic merge from submit-queue

PodWorkers UpdatePod takes options struct

First commit from https://github.com/kubernetes/kubernetes/pull/24843 

Second commit:
The `PodWorkers.UpdatePod` operation is updated as follows:
* use options struct to pass arguments
* add a pod status func to allow override status
* add pod termination grace period if sync operation requires a kill pod
* add a call-back that is error aware

Third commit:
Add a `killPodNow` to kubelet that does a blocking kill pod call that properly integrates with pod workers.

The plan is to pass `killPodNow` as a function pointer into the out of resource killer.

```
// KillPodFunc kills a pod.
// The pod status is updated, and then it is killed with the specified grace period.
// This function must block until either the pod is killed or an error is encountered.
// Arguments:
// pod - the pod to kill
// status - the desired status to associate with the pod (i.e. why its killed)
// gracePeriodOverride - the grace period override to use instead of what is on the pod spec
type KillPodFunc func(pod *api.Pod, status api.PodStatus, gracePeriodOverride *int64) error
```

You can see it being used here in the WIP out of resource killer PR.

1344f858fb (diff-92ff0f643237f29824b4929574f84609R277)

/cc @vishh @yujuhong @pmorie
2016-05-12 19:50:26 -07:00
jay vyas
db3d1b6942 horizontal pod autoscaler tolerance breaching verifier 2016-05-12 22:27:42 -04:00
k8s-merge-robot
4dc0b8780c Merge pull request #24742 from derekwaynecarr/format_resources
Automatic merge from submit-queue

Add utility for kubelet to log resource lists consistently

This is a simple utility for logging resource lists with standardized output.

I find it useful when logging work in node eviction, similar to kubelet logging convention for pods in same package.

<!-- 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/24742)
<!-- Reviewable:end -->
2016-05-12 16:27:02 -07:00
derekwaynecarr
6fefb428c1 Add killPodNow to kubelet 2016-05-12 19:17:08 -04:00
Saad Ali
5a99fcd21b Merge pull request #25431 from janetkuo/deployment-client-check
Add interface check in Deployment's client
2016-05-12 15:55:43 -07:00
Saad Ali
4aa332e8f2 Merge pull request #25523 from saad-ali/modifyDetachToUseSpec
Modify Detach method to take disk name
2016-05-12 15:53:18 -07:00
Saad Ali
25f37007aa Merge pull request #24846 from pmorie/kubelet-test-loc
Reduce LOC in kubelet tests
2016-05-12 15:52:27 -07:00
Saad Ali
19169889d4 Merge pull request #24908 from pmorie/daemon-controller-loc
Reduce LOC in daemon controller tests
2016-05-12 15:51:55 -07:00
Saad Ali
870a1634b1 Merge pull request #24722 from derekwaynecarr/kubelet_testing
Code cleanups in kubelet_test.go
2016-05-12 15:51:00 -07:00
Saad Ali
ab6c3121eb Merge pull request #25191 from rajdeepd/master
Added negative test case for namespace
2016-05-12 15:50:13 -07:00
k8s-merge-robot
04416c6b2d Merge pull request #24136 from derekwaynecarr/fix_constants
Automatic merge from submit-queue

Resource name constants were incorrect in versioned types.go

The constant field names and actual values to quota requests and limits for cpu and memory were incorrect in the v1 types.go file.

Important to note for reviewer:
* the constant fields here are unused in the project at this time
* the values those unused constant fields mapped to are not actually supported by the project
* there is no backwards compatibility concern, but if/when we look to convert to using versioned clients, we should have the correct constant fields and values.

The correct values were here:
https://github.com/kubernetes/kubernetes/blob/master/pkg/api/types.go#L2213

<!-- 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/24136)
<!-- Reviewable:end -->
2016-05-12 15:49:20 -07:00
Saad Ali
06a893b3c1 Merge pull request #25472 from deads2k/tolerate-nil-error
tolerate nil error in HandleError
2016-05-12 15:48:35 -07:00
derekwaynecarr
dee976ad79 Add generated artifacts for kubelet flags 2016-05-12 17:54:20 -04:00
k8s-merge-robot
5c30f983d9 Merge pull request #25018 from smarterclayton/fast_conversion
Automatic merge from submit-queue

Reduce allocations during conversion, enable new UnsafeConvertToVersion path

Cleans up the conversion path to avoid a few unnecessary allocations, then creates a new UnsafeConvertToVersion path that will allow encode/decode to bypass copying the object for performance. In that subsequent PR, ConvertToVersion will start to call Copy() and we will refactor conversions to reuse as much of the existing object as possible.

Also changes the unversioned.ObjectKind signature to not require allocations - speeds up a few common paths.
2016-05-12 14:50:01 -07:00
Sami Wagiaalla
56ccd98db8 Add support for PersistentVolumeClaim in Attacher/Detacher interface
- Dereference PVCs in kubelet.
- Add getPersistentVolumebySpec to kubelet.
- Call getPersistentVolumebySpec from mount External volumes
- Add applyPVAnnotations to kubelet.
- Delete persistent_claim plugin.
2016-05-12 17:46:39 -04:00
derekwaynecarr
2c01edf9ea Add eviction-pressure-transition-period flag to kubelet 2016-05-12 17:33:00 -04:00
k8s-merge-robot
08440b5dcc Merge pull request #24836 from Clarifai/gpu-impl
Automatic merge from submit-queue

WIP v0 NVIDIA GPU support

```release-note
* Alpha support for scheduling pods on machines with NVIDIA GPUs whose kubelets use the `--experimental-nvidia-gpus` flag, using the alpha.kubernetes.io/nvidia-gpu resource 
```

Implements part of #24071 for  #23587

I am not familiar with the scheduler enough to know what to do with the scores. Mostly punting for now.

Missing items from the implementation plan: limitranger, rkt support, kubectl
support and docs

cc @erictune @davidopp @dchen1107 @vishh @Hui-Zhi @gopinatht
2016-05-12 14:04:15 -07:00
Chao Xu
6f1521afe4 add merge tag to Finalizers list 2016-05-12 14:00:39 -07:00
k8s-merge-robot
f45bcc5ffb Merge pull request #24900 from ericchiang/rbac_types
Automatic merge from submit-queue

pkg/apis/rbac: Add Openshift authorization API types

This PR updates #23396 by adding the Openshift RBAC types to a new API group.

Changes from Openshift:

* Omission of [ResourceGroups](4589987883/pkg/authorization/api/types.go (L32-L104)) as most of these were Openshift specific. Would like to add the concept back in for a later release of the API.
* Omission of IsPersonalSubjectAccessReview as its implementation relied on Openshift capability.
* Omission of SubjectAccessReview and ResourceAccessReview types. These are defined in `authorization.k8s.io`

~~API group is named `rbac.authorization.openshift.com` as we omitted the AccessReview stuff and that seemed to be the lest controversial based on conversations in #23396. Would be happy to change it if there's a dislike for the name.~~ Edit: API groups is named `rbac`, sorry misread the original thread.

As discussed in #18762, creating a new API group is kind difficult right now and the documentation is very out of date. Got a little help from @soltysh but I'm sure I'm missing some things. Also still need to add validation and a RESTStorage registry interface. Hence "WIP".

Any initial comments welcome.

cc @erictune @deads2k @sym3tri @philips
2016-05-12 13:03:50 -07:00
saadali
bce708c22f Modify Detach method to take disk name 2016-05-12 12:19:24 -07:00
k8s-merge-robot
15919f336f Merge pull request #25284 from bprashanth/service_unready
Automatic merge from submit-queue

Add a service annotation that allows endpoints for unready pods

See https://github.com/kubernetes/kubernetes/issues/25283 for context 
@smarterclayton @thockin yes?

<!-- 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/25284)
<!-- Reviewable:end -->
2016-05-12 12:05:27 -07:00
k8s-merge-robot
667f586083 Merge pull request #25196 from luxas/auto_create_kube_system
Automatic merge from submit-queue

Automatically create the kube-system namespace

At the same time we ensure that the `default` namespace is present, it also creates `kube-system` if it doesn't exist.

`kube-system` will now exist from the beginning, and will be recreated every 10s if deleted, in the same manner as the `default` ns

This makes UX much better, no need for `kubectl`ing a `kube-system.yaml` file anymore for a function that is essential to Kubernetes (addons). For instance, this makes dashboard deployment much easier when there's no need to check for the `kube-system` ns first.

A follow up in the future may remove places where logic to manually create the kube-system namespace is present.

Also fixed a small bug where `CreateNamespaceIfNeeded` ignored the `ns` parameter and was hardcoded to `api.NamespaceDefault`.

@davidopp @lavalamp @thockin @mikedanese @bryk @cheld @fgrzadkowski @smarterclayton @wojtek-t @dlorenc @vishh @dchen1107 @bgrant0607 @roberthbailey

<!-- 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/25196)
<!-- Reviewable:end -->
2016-05-12 11:17:09 -07:00
Hongchao Deng
5337bc220a etcd_watcher: test for ensuring delete event have latest index 2016-05-12 11:01:26 -07:00
Hongchao Deng
fcf63a6c4b etcd_watcher: make Deleted Event.Object's version consistent 2016-05-12 11:01:26 -07:00
k8s-merge-robot
fd3ef234de Merge pull request #23711 from dcbw/kubenet-promiscuous
Automatic merge from submit-queue

kubenet: set bridge promiscuous mode based on hairpinMode

Closes: https://github.com/kubernetes/kubernetes/issues/23657
Closes: https://github.com/kubernetes/kubernetes/issues/20475

<!-- 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/23711)
<!-- Reviewable:end -->
2016-05-12 10:33:18 -07:00
Dan Williams
b749902b42 kubenet: set bridge promiscuous mode based on hairpinMode
Closes: https://github.com/kubernetes/kubernetes/issues/23657
Closes: https://github.com/kubernetes/kubernetes/issues/20475
2016-05-12 10:02:33 -05:00
k8s-merge-robot
4ac4e0f6a2 Merge pull request #23495 from Clarifai/elb
Automatic merge from submit-queue

AWS: SSL support for ELB listeners through annotations

In the API, ports have only either TCP or UDP as their protocols, but ELB distinguishes HTTPS->HTTP[S]? from SSL->(SSL|TCP). 

Per #24978, this is implemented through two separate annotations:

`service.beta.kubernetes.io/aws-load-balancer-ssl-cert=arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012`
`service.beta.kubernetes.io/aws-load-balancer-backend-protocol=(https|http|ssl|tcp)`

Mixing plain-text and encrypted listeners will be in a separate PR, implementing #24978's `aws-load-balancer-ssl-ports=LIST`
2016-05-12 07:12:35 -07:00
Clayton Coleman
ea7e7a18cb Create a new method UnsafeConvertToVersion for faster convert
Only encode/decode will call this path, to allow us to optimize for
unsafe operations.
2016-05-12 10:10:35 -04:00
Clayton Coleman
51b624103f Change ConvertToVersion to use GroupVersion
Long delayed refactor, avoids a few more allocations.
2016-05-12 10:10:35 -04:00
Clayton Coleman
a84e62d9e6 Change ObjectKind signature to avoid allocations
We don't need to pass a pointer into SetGroupKindVersion() - a
struct works just as well.
2016-05-12 10:10:35 -04:00
Clayton Coleman
bffbc112f0 Remove src and dest version - they are not used (now)
We will probably readd these as an opaque object passed down to
conversions that lets the caller get access to more info (like
a negotiated serializer).
2016-05-12 10:10:35 -04:00
k8s-merge-robot
0c2641d4ea Merge pull request #19946 from janetkuo/kubectl-rollout-status
Automatic merge from submit-queue

Add `kubectl rollout status`

## 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
Implement `kubectl rollout status` that can be used to watch a deployment's rollout status
```

Addresses #17168; depends on #19882 (the "Add kubectl rollout" commit).
See [proposal](https://github.com/kubernetes/kubernetes/blob/master/docs/proposals/deploy.md#deployment-version). 

cc @bgrant0607 @nikhiljindal @ironcladlou @kargakis @kubernetes/sig-config @kubernetes/kubectl  @madhusudancs

<!-- 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/19946)
<!-- Reviewable:end -->
2016-05-12 06:28:49 -07:00
k8s-merge-robot
132ebb091a Merge pull request #24459 from fgrzadkowski/unschedulable_pod
Automatic merge from submit-queue

Add pod condition PodScheduled to detect situation when scheduler tried to schedule a Pod, but failed

Set `PodSchedule` condition to `ConditionFalse` in `scheduleOne()` if scheduling failed and to `ConditionTrue` in `/bind` subresource.

Ref #24404

@mml (as it seems to be related to "why pending" effort)

<!-- 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/24459)
<!-- Reviewable:end -->
2016-05-12 05:54:06 -07:00
Mike Metral
30f21fd431 enable recursive processing in kubectl rollout 2016-05-12 01:27:17 -07:00