Commit Graph

2078 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
0ae98b6ffe Merge pull request #52146 from resouer/eclass-fix
Automatic merge from submit-queue

Note equivalence class for dev and other fix

**What this PR does / why we need it**:
1. Add a note for predicate developers to respect equivalence class design
2. Add comments and re-ordered the related data structure, ref https://github.com/kubernetes/community/pull/1031
3. Fix some nits (typo, code length etc)


**Special notes for your reviewer**:

**Release note**:

```release-note
Scheduler predicate developer should respect equivalence class cache
```
2017-09-12 04:36:10 -07:00
gmarek
b152d08ba4 fix condition-taint labels 2017-09-11 10:19:51 +02:00
Harry Zhang
71babd1496 Note equivalence class for dev and other fix 2017-09-09 22:35:16 +08:00
Kubernetes Submit Queue
f695a3120a Merge pull request #50949 from bsalamat/preemption_eviction
Automatic merge from submit-queue

Add pod preemption to the scheduler

**What this PR does / why we need it**:
This is the last of a series of PRs to add priority-based preemption to the scheduler. This PR connects the preemption logic to the scheduler workflow.

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

**Special notes for your reviewer**:
This PR includes other PRs which are under review (#50805, #50405, #50190). All the new code is located in 43627afdf9.

**Release note**:

```release-note
Add priority-based preemption to the scheduler.
```

ref/ #47604

/assign @davidopp 

@kubernetes/sig-scheduling-pr-reviews
2017-09-08 14:19:42 -07:00
Bobby (Babak) Salamat
c0b718373b Fix RBAC rules to allow scheduler update annotations of pods. 2017-09-07 15:31:55 -07:00
Bobby (Babak) Salamat
86b06c3832 autogenerated files 2017-09-07 15:31:55 -07:00
Bobby (Babak) Salamat
4a08dff168 Add pod eviction logic for scheduler preemption
Add Preempt to scheduler interface
Add preemption to the scheduling workflow
Minor changes to the scheduler integration test library
2017-09-07 15:31:55 -07:00
Kubernetes Submit Queue
0ed05f2d08 Merge pull request #49133 from deads2k/gc-02-permissions
Automatic merge from submit-queue (batch tested with PRs 49133, 51557, 51749, 50842, 52018)

add controller permissions to set blockOwnerDeletion

fixes https://github.com/kubernetes/kubernetes/issues/51970

`blockOwnerDeletion` requires delete permissions on the owner object.  This adds that permission for our controllers.

@kubernetes/sig-auth-misc 

```release-note
The OwnerReferencesPermissionEnforcement admission plugin now requires `update` permission on the `finalizers` subresource of the referenced owner in order to set `blockOwnerDeletion` on an owner reference.
```
2017-09-06 13:36:04 -07:00
David Eads
2572ea50e0 add permissions to workload controllers to block owners 2017-09-05 13:47:49 -04:00
David Eads
6d040812f0 check block owner ref on finalizers subresource 2017-09-05 11:29:52 -04:00
Derek Carr
41a4e2ccad Scheduler support for hugepages 2017-09-05 09:46:08 -04:00
saadali
3b834cf665 Modify VolumeZonePredicate to handle multi-zone PV
Modifies the VolumeZonePredicate to handle a PV that belongs to more
then one zone or region. This is indicated by the zone or region label
value containing a comma separated list.
2017-09-04 20:13:32 -07:00
Hemant Kumar
84029c2c1a Update generated files - api, bazel, json
Update all generated files json, protocolbuffers,
documentation
2017-09-04 09:02:35 +02:00
Hemant Kumar
530ae4b3b5 Add rbac policy change for expand controller 2017-09-04 09:02:34 +02:00
Hemant Kumar
e78d433150 Implement necessary API changes
Introduce feature gate for expanding PVs
Add a field to SC
Add new Conditions and feature tag pvc update
Add tests for size update via feature gate
register the resize admission plugin
Update golint failures
2017-09-04 09:02:34 +02:00
Kubernetes Submit Queue
a4ff702a13 Merge pull request #51818 from liggitt/controller-roles
Automatic merge from submit-queue (batch tested with PRs 51819, 51706, 51761, 51818, 51500)

Build controller roles/bindings on demand

As we start to have alpha gated features that involve policy changes, we need to conditionally include roles/bindings in policy based on feature enablement.

Examples:
 * https://github.com/kubernetes/kubernetes/pull/49727/files#diff-a066255fca075e2bdcfe045e7ca352f7
 * https://github.com/kubernetes/kubernetes/pull/51202/files#diff-eee450e334a11e0b683ce965f584c3c4R137

This moves the policy building from an init() func to be on demand, so that feature gates set at the point we set up the post-start reconcile take effect
2017-09-03 15:00:11 -07:00
Kubernetes Submit Queue
4d42f80382 Merge pull request #50925 from staebler/server-event-rate-limiter
Automatic merge from submit-queue (batch tested with PRs 51805, 51725, 50925, 51474, 51638)

Limit events accepted by API Server

**What this PR does / why we need it**:
This PR adds the ability to limit events processed by an API server. Limits can be set globally on a server, per-namespace, per-user, and per-source+object. This is needed to prevent badly-configured or misbehaving players from making a cluster unstable.

Please see https://github.com/kubernetes/community/pull/945.

**Release Note:**
```release-note
Adds a new alpha EventRateLimit admission control that is used to limit the number of event queries that are accepted by the API Server.
```
2017-09-03 11:10:03 -07:00
Kubernetes Submit Queue
c84b3132a2 Merge pull request #48051 from xilabao/add-selfsubjectrulesreview-api
Automatic merge from submit-queue (batch tested with PRs 45724, 48051, 46444, 51056, 51605)

Add selfsubjectrulesreview in authorization

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

**Which issue this PR fixes**: fixes #47834 #31292

**Special notes for your reviewer**:

**Release note**:

```release-note
Add selfsubjectrulesreview API for allowing users to query which permissions they have in a given namespace.
```
/cc @deads2k @liggitt
2017-09-02 12:11:04 -07:00
Kubernetes Submit Queue
73326ef01d Merge pull request #51523 from stewart-yu/feature
Automatic merge from submit-queue (batch tested with PRs 50381, 51307, 49645, 50995, 51523)

Update defaults.go

**What this PR does / why we need it**:
This PR is a TODO
Add explain about TaintTolerationPriority function.

**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**:

```release-note
NONE
```
2017-09-01 16:34:08 -07:00
Jordan Liggitt
b7fe9ff18a
Build controller roles/bindings on demand 2017-09-01 15:18:13 -04:00
staebler
a4542ae528 Create an EventRateLimit admission control plug-in for the API Server.
The EventRateLimit plug-in limits the number of events that the API Server
will accept in a given time period. It allows for server-wide, per-namespace,
per-user,and per-source+object rate limiting.
2017-09-01 13:38:03 -04:00
Kubernetes Submit Queue
6f86c9cf66 Merge pull request #51632 from sakeven/fix_info_msg
Automatic merge from submit-queue (batch tested with PRs 51632, 51055, 51676, 51560, 50007)

[Scheduler] Fix typo in info message

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



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

Missed a `'` in info message.

**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-09-01 08:27:10 -07:00
xilabao
f14c138438 add selfsubjectrulesreview api 2017-09-01 19:09:43 +08:00
Stewart-YU
f27bc9444d Add explain for register TaintTolerationPriority function. 2017-09-01 14:21:58 +08:00
Kubernetes Submit Queue
1d0d3db2bc Merge pull request #51534 from deads2k/scheduler-01-dont-panic
Automatic merge from submit-queue (batch tested with PRs 51574, 51534, 49257, 44680, 48836)

update scheduler to return structured errors instead of process exit

The scheduler Run method returns an error that is properly handled at higher levels.  Instead of existing the process, we should return the error and handle it at higher level logic to allow testing of error conditions and composition of commands.  The changes are relatively minor.

@sjenning @aveshagarwal
2017-08-31 23:13:18 -07:00
Kubernetes Submit Queue
a8a505b767 Merge pull request #49616 from sakeven/feature/found_HashEquivalencePod
Automatic merge from submit-queue (batch tested with PRs 51480, 49616, 50123, 50846, 50404)

getHashEquivalencePod should return if equivalence pod is found

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



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

getHashEquivalencePod should return if equivalence pod is found, rather than simply check equivalenceHash equals to 0 later.

**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-08-31 20:08:37 -07:00
Kubernetes Submit Queue
8679a8f5fe Merge pull request #50163 from jingxu97/Aug/sizeLimit
Automatic merge from submit-queue (batch tested with PRs 51707, 51662, 51723, 50163, 51633)

Change SizeLimit to a pointer

This PR fixes issue #50121

```release-note
The `emptyDir.sizeLimit` field is now correctly omitted from API requests and responses when unset.
```
2017-08-31 18:43:38 -07:00
Kubernetes Submit Queue
374e631626 Merge pull request #50757 from NickrenREN/local-storage-limitrange
Automatic merge from submit-queue

Add local ephemeral storage support in LimitRange

**Special notes for your reviewer**:
For a single local ephemeral storage resource

xref #43607 

**Release note**:
```release-note
Add local ephemeral storage support to LimitRange
```

/assign @jingxu97 
cc @ddysher
2017-08-30 13:12:23 -07:00
Jing Xu
4d6da1fd9a Change SizeLimit to a pointer
This PR fixes issue #50121
2017-08-30 11:50:35 -07:00
Bobby (Babak) Salamat
1cec8bac9c Add the logic to pick one node for preemption 2017-08-30 10:47:21 -07:00
Bobby (Babak) Salamat
2c63705e09 autogenerated files 2017-08-30 10:32:09 -07:00
Bobby (Babak) Salamat
20931d7a68 Add specific types for PredicateMetadata and PredicateMetadataProducer 2017-08-30 10:32:09 -07:00
Bobby (Babak) Salamat
a4edc6c871 Add preemption victim selector logic to scheduler 2017-08-30 10:32:09 -07:00
sakeven
36a218e0ce [Scheduler] Fix typo in info message
Signed-off-by: sakeven <jc5930@sina.cn>
2017-08-30 22:29:15 +08:00
Kubernetes Submit Queue
0596891e42 Merge pull request #51585 from sakeven/regroup-packages
Automatic merge from submit-queue (batch tested with PRs 51439, 51361, 51140, 51539, 51585)

[Scheduler] regroup imports

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



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

>Imports are organized in groups, with blank lines between them. The standard library packages are always in the first group.

**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-08-30 03:59:37 -07:00
Kubernetes Submit Queue
f25e34c12f Merge pull request #51535 from deads2k/scheduler-02-no-http
Automatic merge from submit-queue (batch tested with PRs 47054, 50398, 51541, 51535, 51545)

allow disabling the scheduler port

Unlike the `kube-apiserver`, the scheduler can function without exposing a status port.  This provides the option to disable it by explicitly passing a `-1`.  This does not change default behavior.

@aveshagarwal
2017-08-30 01:51:35 -07:00
Kubernetes Submit Queue
c7c0387d57 Merge pull request #51541 from sttts/sttts-deepcopy-scheduler
Automatic merge from submit-queue (batch tested with PRs 47054, 50398, 51541, 51535, 51545)

scheduler: simplify deepcopy calls

Pre-requisite of https://github.com/kubernetes/kubernetes/pull/49575.
2017-08-30 01:51:32 -07:00
Kubernetes Submit Queue
5030391c07 Merge pull request #51543 from sttts/sttts-deepcopy-admission
Automatic merge from submit-queue (batch tested with PRs 51228, 50185, 50940, 51544, 51543)

admission plugins: simplify deepcopy calls
2017-08-29 23:54:34 -07:00
Kubernetes Submit Queue
c4a0f9385b Merge pull request #50185 from k82cn/k8s_42001-3
Automatic merge from submit-queue (batch tested with PRs 51228, 50185, 50940, 51544, 51543)

Task 4: Ignored node condition predicates if TaintsByCondition enabled.

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

**Release note**:
```release-note
None
```
2017-08-29 23:54:27 -07:00
sakeven
0420c8f048 [Scheduler] regroup packages
Signed-off-by: sakeven <jc5930@sina.cn>
2017-08-30 11:14:44 +08:00
Dr. Stefan Schimanski
42b40ddc0f admission plugins: simplify deepcopy calls 2017-08-29 20:01:08 +02:00
Dr. Stefan Schimanski
555cabacf3 scheduler: simplify deepcopy calls 2017-08-29 19:54:57 +02:00
David Eads
61de1ba986 allow disabling the scheduler port 2017-08-29 11:43:27 -04:00
Klaus Ma
b5094dd877 Ignored node condition predicates if TaintsByCondition enabled. 2017-08-29 23:21:32 +08:00
David Eads
539fc6ec95 update scheduler to return structured errors instead of process exit 2017-08-29 11:20:06 -04:00
Kubernetes Submit Queue
12d73c31a9 Merge pull request #51436 from liggitt/initializer-feature
Automatic merge from submit-queue (batch tested with PRs 51471, 50561, 50435, 51473, 51436)

Feature gate initializers field

The metadata.initializers field should be feature gated and disabled by default while in alpha, especially since enforcement of initializer permission that keeps users from submitting objects with their own initializers specified is done via an admission plugin most clusters do not enable yet.

Not gating the field and tests caused tests added in https://github.com/kubernetes/kubernetes/issues/51429 to fail on clusters that don't enable the admission plugin.

This PR:
* adds an `Initializers` feature gate, auto-enables the feature gate if the admission plugin is enabled
* clears the `metadata.initializers` field of objects on create/update if the feature gate is not set
* marks the e2e tests as feature-dependent (will follow up with PR to test-infra to enable the feature and opt in for GCE e2e tests)

```release-note
Use of the alpha initializers feature now requires enabling the `Initializers` feature gate. This feature gate is auto-enabled if the `Initialzers` admission plugin is enabled.
```
2017-08-29 02:22:19 -07:00
Jordan Liggitt
658956f063
Feature gate initializers field 2017-08-28 11:11:48 -04:00
Kubernetes Submit Queue
4ba2b625c5 Merge pull request #50805 from bsalamat/preemption_metacompute
Automatic merge from submit-queue

Add support to modify precomputed predicate metadata upon adding/removal of a pod

**What this PR does / why we need it**: This PR adds capability to change precomputed predicate metadata and let's us add/remove pods to the precomputed metadata efficiently without the need ot recomputing everything upon addition/removal of pods. This PR is needed as a part of adding preemption logic to the scheduler.

**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**:
To make the review process a bit easier, there are three commits. The cleanup commit is only moving code and renaming some functions, without logic changes.

**Release note**:

```release-note
NONE
```
ref/ #47604
ref/ #48646

/assign @wojtek-t 

@kubernetes/sig-scheduling-pr-reviews @davidopp
2017-08-28 05:11:19 -07:00
Kubernetes Submit Queue
daf591c193 Merge pull request #51117 from k82cn/k8s_50360_2
Automatic merge from submit-queue

Moved node condition filter into a predicates.

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

**Release note**:

```release-note
A new predicates, named 'CheckNodeCondition', was added to replace node condition filter. 'NetworkUnavailable', 'OutOfDisk' and 'NotReady' maybe reported as a reason when failed to schedule pods.
```
2017-08-28 01:22:27 -07:00
Bobby (Babak) Salamat
87d406569d bazel update 2017-08-28 00:12:46 -07:00