Commit Graph

2669 Commits

Author SHA1 Message Date
Dr. Stefan Schimanski
bc86aeba05 apiextensions: switch OpenAPI pubilshing to structural schema 2019-05-18 11:12:48 +02:00
Yu Liao
05ebe91277 Switched to use dynamic shared informer for Garbage Collector. 2019-05-17 15:41:36 -07:00
JieJhih Jhang
2cd5fc54a1 add scheduling framework configuration
update bazel build

fix get plugin config method

initialize only needed plugins

fix unit test

fix import duplicate package

update bazel

add docstrings

add weight field to plugin

add plugin to v1alpha1

add plugins at appropriate extension points

remove todo statement

fix import package file path

set plugin json schema

add plugin unit test to option

initial plugin in test integration

initialize only needed plugins

update bazel

rename func

change plugins needed logic

remove v1 alias

change the comment

fix alias shorter

remove blank line

change docstrings

fix map bool to struct

add some docstrings

add unreserve plugin

fix docstrings

move variable inside the for loop

make if else statement cleaner

remove plugin config from reserve plugin unit test

add plugin config and reduce unnecessary options for unit test

update bazel

fix race condition

fix permit plugin integration

change plugins to be pointer

change weight to int32

fix package alias

initial queue sort plugin

rename unreserve plugin

redesign plugin struct

update docstrings

check queue sort plugin amount

fix error message

fix condition

change plugin struct

add disabled plugin for unit test

fix docstrings

handle nil plugin set
2019-05-18 06:30:28 +08:00
Jordan Liggitt
0b88095a17 Switch admission webhook test to work with shared etcd 2019-05-17 09:54:14 -07:00
Chao Xu
7bb4a3bace Run deleteValidation at the storage layer so that it will be retried on
conflict.

Adding unit test verify that deleteValidation is retried.

adding e2e test verifying the webhook can intercept configmap and custom
resource deletion, and the existing object is sent via the
admissionreview.OldObject.

update the admission integration test to verify that the existing object
is passed to the deletion admission webhook as oldObject, in case of an
immediate deletion and in case of an update-on-delete.
2019-05-17 09:54:11 -07:00
Kubernetes Prow Robot
76c112ed06
Merge pull request #77965 from lubinsz/pr_bazel_dir
Bug fix: failed to run integration test by using bazel
2019-05-17 07:00:37 -07:00
Kubernetes Prow Robot
3193e78a2f
Merge pull request #77333 from sttts/sttts-structural-crd-pruning
apiextensions: implement structural schema CRD pruning
2019-05-17 05:38:05 -07:00
Kubernetes Prow Robot
27410955e2
Merge pull request #77952 from liggitt/delete-on-update
Handle updates removing remaining finalizers on deleted objects
2019-05-17 02:04:32 -07:00
Kubernetes Prow Robot
01f0be4901
Merge pull request #76639 from lubinsz/pr_bzl_arm64
Add an environment variable for bazel-test-integration on Arm
2019-05-17 02:04:06 -07:00
Dr. Stefan Schimanski
d10f8c1ad3 Update generated files 2019-05-17 09:35:10 +02:00
Dr. Stefan Schimanski
c6712455bd apiextensions: add pruning e2e & integration tests for admission webhooks 2019-05-17 09:35:10 +02:00
Dr. Stefan Schimanski
77bfddacfd apiextensions: add pruning integration tests 2019-05-17 09:35:10 +02:00
Bin Lu
5504d845ff Bug fix: failed to run integration test by using bazel
Signed-off-by: Bin Lu <bin.lu@arm.com>
2019-05-17 11:19:55 +08:00
Bin Lu
51ee2b1f0b Add an environment variable for bazel-test-integration on Arm
Signed-off-by: Bin Lu <bin.lu@arm.com>
2019-05-16 16:53:18 +08:00
Kubernetes Prow Robot
aba8040669
Merge pull request #77189 from xiaojingchen/fix-golint-failures
Fix golint failures in cmd/kube-controller-manager
2019-05-15 22:56:34 -07:00
Haowei Cai
eb35525d4a stop enabling gate in tests 2019-05-15 17:15:06 -07:00
Jordan Liggitt
fba885a0d2 Handle updates removing remaining finalizers on deleted objects 2019-05-15 17:17:39 -04:00
Kubernetes Prow Robot
c50ff35a55
Merge pull request #77839 from mcrute/migrate-fake-cp
Staging legacy fake cloud provider
2019-05-15 12:32:23 -07:00
Kubernetes Prow Robot
08afeb855f
Merge pull request #77821 from kwiesmueller/clear-managed-fields
add test to make sure managedFields can be reset
2019-05-14 15:34:32 -07:00
Kubernetes Prow Robot
0b6ad8bc3f
Merge pull request #77563 from jpbetz/admission-webhook-options
Pass {Operation}Options to Webhooks
2019-05-14 15:34:19 -07:00
Mike Crute
7d62316f8f Migrate fake cloud provider to staging 2019-05-14 13:32:18 -07:00
Joe Betz
900d652a9a Update tests for: Pass {Operation}Option to Webhooks 2019-05-14 10:49:43 -07:00
Kubernetes Prow Robot
a1eaacd59b
Merge pull request #77804 from sttts/sttts-apimachinery-integration-test-unify
integration: don't use low-level etcd master setup for dry-run+admission-webhook tests
2019-05-14 02:29:10 -07:00
Dr. Stefan Schimanski
76b5bee48c integration: Start{RealMasterOrDie->TestServer} in dryrun tests 2019-05-14 10:10:55 +02:00
Dr. Stefan Schimanski
28f88c91ee integration: Start{RealMasterOrDie->TestServer} in admissionwebhook tests 2019-05-14 10:10:55 +02:00
Kubernetes Prow Robot
c54b664b1c
Merge pull request #77559 from ahg-g/permit-extension-point
Implement the permit extension point in scheduler.
2019-05-13 16:59:08 -07:00
Kevin Wiesmüller
fe3c9c8b6f add test to make sure managedFields can be reset 2019-05-13 18:34:11 +02:00
Kubernetes Prow Robot
274876ef9a
Merge pull request #77448 from smarterclayton/api_serve
Support meta.k8s.io/v1 Table and PartialObjectMetadata requests to the API
2019-05-10 21:30:37 -07:00
Clayton Coleman
33a3e325f7
API server should offer metav1 Table/Partial transforms
Now that internal types are equivalent, allow the apiserver to serve
metav1 and metav1beta1 depending on the client. Test that in the
apiserver integration test and ensure we get the appropriate responses.

Register the metav1 type in the appropriate external locations.
2019-05-10 15:29:07 -04:00
Abdullah Gharaibeh
98de316436 Implement the permit extension point in scheduler. 2019-05-10 12:42:04 -04:00
Kubernetes Prow Robot
b9ccdd2824
Merge pull request #77598 from danielqsj/unreserve
Add Un-reserve extension point for the scheduling framework
2019-05-09 23:37:57 -07:00
danielqsj
997648a923 Add Un-reserve extension point for the scheduling framework 2019-05-10 13:19:22 +08:00
Joe Betz
b0aab03209 Fix admission webhook integration tests to filter out controller requests 2019-05-09 17:34:33 -07:00
xiaojingchen
2b19a4db9e fix cmd/kube-controller-manager's golint failures 2019-05-09 17:56:08 +08:00
Kubernetes Prow Robot
09c4e10333
Merge pull request #74021 from andrewsykim/move-features-component-base
Move feature gate package from k8s.io/apiserver to k8s.io/component-base
2019-05-08 13:06:34 -07:00
Daniel (Shijun) Qian
5268f69405 fix duplicated imports of k8s code (#77484)
* fix duplicated imports of api/core/v1

* fix duplicated imports of client-go/kubernetes

* fix duplicated imports of rest code

* change import name to more reasonable
2019-05-08 10:12:47 -07:00
Andrew Kim
c919139245 update import of generic featuregate code from k8s.io/apiserver/pkg/util/feature -> k8s.io/component-base/featuregate 2019-05-08 10:01:50 -04:00
Han Kang
51992d61a0 Revert "Add Un-reserve extension point for the scheduling framework"
This reverts commit 8b5182581a.
2019-05-07 21:17:29 -07:00
Kubernetes Prow Robot
1ce103a41f
Merge pull request #77457 from danielqsj/un-reserve
Add Un-reserve extension point for the scheduling framework
2019-05-07 17:52:45 -07:00
Walter Fender
796097ae40 Staging the GCE Cloud Provider
**What type of PR is this?**
/kind cleanup

**What this PR does / why we need it**:
Staging the GCE Cloud Provider as part of KEP [20190125-removing-in-tree-providers](https://github.com/kubernetes/enhancements/blob/master/keps/sig-cloud-provider/20190125-removing-in-tree-providers.md). Staging repo setup here https://github.com/kubernetes/legacy-cloud-providers
Moves the GCE cloud provider implementation to staging.
This is in preparation for moving the cloud provider code out of tree entirely.
However we need it in staging while the code needs to be consumed both in/out of tree.

**Which issue(s) this PR fixes**:
Fixes #

**Special notes for your reviewer**:

**Does this PR introduce a user-facing change?**:

```
NONE
```

Updated import dependency tracking.
Factored in the cleanup from #77412
Minor fix to go.mod.
2019-05-07 13:17:52 -07:00
danielqsj
8b5182581a Add Un-reserve extension point for the scheduling framework 2019-05-07 14:51:58 +08:00
Kubernetes Prow Robot
83f769c2a3
Merge pull request #77139 from cmluciano/cml/ingressnetv1beta1default
ingress: use networking api group for default storage of ingress
2019-05-02 16:22:18 -07:00
Kubernetes Prow Robot
c3e8a434eb
Merge pull request #77330 from liggitt/collapse-integration-storage-config
Collapse integration test storage setup onto actual storage config
2019-05-02 08:26:19 -07:00
Jordan Liggitt
cbc9a11ffd Collapse integration test storage setup onto actual storage config 2019-05-01 21:52:55 -04:00
Christopher M. Luciano
4bac85c162
ingress: use networking api group for default storage of ingress
Signed-off-by: Christopher M. Luciano <cmluciano@us.ibm.com>

The change to registrytest was found by liggitt to mitigate a NPE error.
This is necessary since ingress is a cohabitating resource that is not
stored in the default version for the networking resource.

Signed-off-by: Christopher M. Luciano <cmluciano@us.ibm.com>
2019-05-01 15:14:11 -04:00
Baasbank
d97b7f20f8 fixes golint errors in pkg/printers/storage
fixes golint errors in pkg/printers

fixes golint errors for pkg/printers/internalversion

implements recommended changes
2019-05-01 17:02:55 +01:00
Bobby (Babak) Salamat
83828bcb2d autogenerated files 2019-04-29 16:40:56 -07:00
Bobby (Babak) Salamat
77824f5135 Change scheduler constructors to receive a plugin registry. 2019-04-29 16:40:56 -07:00
Bobby (Babak) Salamat
404dc1ed79 Update scheduler framework plugins to align with the latest changes to the framework design 2019-04-29 16:40:56 -07:00
Kubernetes Prow Robot
63ee026980
Merge pull request #77143 from guineveresaenger/lintflake
Addresses linter complaint in broken_webhook test file
2019-04-26 17:14:45 -07:00
guineveresaenger
9ecf58c42e Fixes flaky linter complaint in broken_webhook test file 2019-04-26 13:57:55 -07:00
Julian V. Modesto
5303f431cb Add tests for cross group-version SSA.
- Use apps/v1 APIs in integration tests.
As in https://github.com/kubernetes/kubernetes/pull/75302

- Add test for cross group-version server side apply.
https://github.com/kubernetes/kubernetes/pull/75157

- Add test for version conversion in the field manager.
https://github.com/kubernetes/kubernetes/pull/75151

Follow up to https://github.com/kubernetes/kubernetes/pull/75302.
Addresses https://github.com/kubernetes/kubernetes/issues/73723.
2019-04-25 22:01:28 -04:00
Antoine Pelisse
83c734363e Add apelisse as approvers for apiserver integration tests 2019-04-25 11:02:58 -07:00
Kubernetes Prow Robot
dc05e1e412
Merge pull request #76824 from wojtek-t/cleanup_protobuf_contenttype
Cleanup content-type protobuf constants
2019-04-24 12:25:02 -07:00
wojtekt
b48cc43eff Cleanup content-type protobuf constants 2019-04-24 17:11:24 +02:00
Kubernetes Prow Robot
d1e7bb297c
Merge pull request #60771 from jennybuckley/kube-up-broken-webhook
Use semantic equality in client ca post start hook
2019-04-24 01:24:01 -07:00
Serguei Bezverkhi
6fe28ee957 Adding non persistent review test
Signed-off-by: Serguei Bezverkhi <sbezverk@cisco.com>
2019-04-23 18:02:40 -04:00
Serguei Bezverkhi
cc7700ae31 no admission logic
Signed-off-by: Serguei Bezverkhi <sbezverk@cisco.com>
2019-04-23 16:27:55 -04:00
jennybuckley
d10ee7c874 Add integration test for restarting kube-apiserver with a broken webhook 2019-04-23 12:49:28 -07:00
Jordan Liggitt
a4576ec5a6 Fix binding and eviction admission 2019-04-23 10:31:34 -04:00
Jordan Liggitt
4cfa5c7192 Test webhook admission - proxy subresources 2019-04-23 10:31:34 -04:00
Jordan Liggitt
cc72248203 Test webhook admission - pod connect subresources 2019-04-23 10:31:34 -04:00
Jordan Liggitt
69042da958 Add integration tests covering admission webhooks 2019-04-20 03:33:36 -04:00
Jordan Liggitt
3bbd9b2c55 tag test/integration/apimachinery as integration test 2019-04-20 02:20:31 -04:00
Jordan Liggitt
aee1997a19 quiet integration test logs 2019-04-20 02:20:31 -04:00
Davanum Srinivas
7b8c9acc09
remove unused code
Change-Id: If821920ec8872e326b7d85437ad8d2620807799d
2019-04-19 08:36:31 -04:00
caiweidong
4c12c76a90 clean up unused code 2019-04-10 19:12:40 +08:00
yue9944882
8f601d3413 prune internal client references from test/* 2019-04-09 21:43:55 +08:00
Kubernetes Prow Robot
150a501750
Merge pull request #73557 from bsalamat/use_priority_ga
Update usages of PriorityClass to V1
2019-04-06 09:36:27 -07:00
Kubernetes Prow Robot
2c013fa1a8
Merge pull request #75129 from xing-yang/informer
Move CSIDriver Lister to the controller
2019-04-05 18:06:27 -07:00
Bobby (Babak) Salamat
16a7cbd320 generated files 2019-04-05 14:30:52 -07:00
Bobby (Babak) Salamat
8574e3e3f4 Use Scheduling V1 API instead of Scheduling v1beta1 2019-04-05 14:21:45 -07:00
Xing Yang
000ab86788 Move CSIDriver Lister to the controller 2019-04-05 12:20:11 -07:00
Lubomir I. Ivanov
76906dd738 test: partially decouple from cmd/kubeadm
The test package imports cmd/kubeadm, which is far from ideal.
There are a couple of reasons for the import:
1) Marshaling of Ingress from api/extensions/v1beta1.

To fix that include a local function in e2e/manifest/manifest.go
that does that same as the kubeadm MarshalToYaml.

2) Using PKI helper function in apimachinery and auth tests.

To fix that include a new file under test/utils/pki_helpers.go
that only contains the required helpers instead of including the whole
kubeadm pkiutil package.

There is another related problem:
e2e_node/e2e_node_suite_test.go includes:
k8s.io/kubernetes/cmd/kubeadm/app/util/system

But this has to be done in a follow up.
2019-04-04 15:41:28 +03:00
Kubernetes Prow Robot
c79fbabf23
Merge pull request #75389 from jpbetz/pagination-v1
Paginate watch cache->etcd List calls & reflector init/resync List calls not served by watch cache
2019-04-03 11:14:25 -07:00
Joe Betz
e5a4f09ab3 Add resourceVersion=0 paginated list integration test for disabled and enabled watch cache 2019-04-02 13:06:15 -07:00
Michelle Au
d2aa8178f2 Remove alpha CRD install 2019-04-02 10:59:11 -07:00
wojtekt
d5c9ad8049 Expose etcd client latency metrics 2019-04-01 20:46:18 +02:00
danielqsj
49c4c6f76f add yaml test cases for scheduler creation 2019-03-29 11:29:09 +08:00
Kubernetes Prow Robot
743fddd174
Merge pull request #75605 from smarterclayton/check_crd_proto
Check CRD protobuf negotiation in integration tests
2019-03-26 21:58:47 -07:00
Kubernetes Prow Robot
d24fe8a801
Merge pull request #75735 from andrewsykim/update-install-etcd-link
fix link to etcd install docs for integration tests
2019-03-26 18:11:29 -07:00
Kubernetes Prow Robot
2086f81546
Merge pull request #74678 from pmcalpine/lint-bs_cj
Fix some golint failures for pkg/controller
2019-03-26 15:10:16 -07:00
Kubernetes Prow Robot
531dbd409f
Merge pull request #75445 from shinytang6/enhance/fmt
Replace all time.Now().Sub with time.Since
2019-03-26 13:55:17 -07:00
Andrew Sy Kim
e26157df07 fix link to etcd install docs 2019-03-26 13:40:18 -04:00
WanLinghao
244b244f9d Migrate the controller to use TokenRequest and rotate token periodically 2019-03-25 14:54:22 +08:00
Kubernetes Prow Robot
290cf142e1
Merge pull request #75302 from liggitt/apps-v1-test
Use apps/v1 APIs in integration tests
2019-03-22 14:09:49 -07:00
Clayton Coleman
6825daa91a
Check CRD protobuf negotiation in integration tests
Add a few more tests to verify CRDs don't regress as client changes
are made.
2019-03-22 13:14:46 -04:00
shinytang6
5c9f4d9dc6 replace time.Now().Sub with time.Since 2019-03-21 18:02:55 +08:00
Kubernetes Prow Robot
8142ab5904
Merge pull request #75466 from denkensk/import-defaultprovider
import DefaultProvider in BenchmarkScheduling util
2019-03-20 13:31:38 -07:00
Kubernetes Prow Robot
6f9bf5fe98
Merge pull request #71548 from smarterclayton/watch_converted
Support Table and PartialObjectMetadata on watch
2019-03-19 22:42:22 -07:00
Peter McAlpine
ac88e13821 Fix lint warnings in pkg/controller/cronjob. 2019-03-19 14:36:26 -04:00
wangqingcan
e2af183d3e import DefaultProvider 2019-03-19 16:21:34 +08:00
Jordan Liggitt
f2a0c0342c Revert "Revert kubelet to default to ttl cache secret/configmap behavior"
This reverts commit cd1c9f9018.
2019-03-13 15:12:26 -07:00
Jordan Liggitt
9cd57a5a18 Add kubelet watch manager integration test 2019-03-13 15:12:26 -07:00
Kubernetes Prow Robot
8fd6342684
Merge pull request #74799 from lubinsz/pr_bazel
Add bazel-test-integration support for Arm64
2019-03-12 23:53:31 -07:00
Jordan Liggitt
0aaf1ca4ff Use apps/v1 APIs in integration tests 2019-03-12 13:17:18 -07:00
jennybuckley
10259c959e Fix int/float apply bug 2019-03-11 23:07:21 -07:00
jennybuckley
2fdc7e1f35 add test to verify fix 2019-03-08 22:35:33 -08:00
Antoine Pelisse
eb904d8fa8 Add "fieldManager" to flag to PATCH/CREATE/UPDATE
And add a corresponding flag in kubectl (for apply), even though the
value is defaulted in kubectl with "kubectl".

The flag is required for Apply patch-type, and optional for other PATCH,
CREATE and UPDATE (in which case we fallback on the user-agent).
2019-03-08 16:03:03 -08:00
Clayton Coleman
3230a0b4fd
Support Table and PartialObjectMetadata on watch
Clean up the code paths that lead to objects being transformed and output with negotiation.
Remove some duplicate code that was not consistent. Now, watch will respond correctly to
Table and PartialObjectMetadata requests. Add unit and integration tests.

When transforming responses to Tables, only the first watch event for a given type will
include the columns. Columns will not change unless the watch is restarted.

Add a volume attachment printer and tighten up table validation error cases.

Disable protobuf from table conversion because Tables don't have protobuf because they
use `interface{}`
2019-03-08 13:03:59 -05:00
Kubernetes Prow Robot
af62ad0ca7
Merge pull request #75141 from liggitt/deflake-max_json_patch_operations_test
Ensure namespaces exist on start
2019-03-08 00:53:48 -08:00
Bin Lu
973a3c7233 Add bazel-test-integration for Arm64
Signed-off-by: Bin Lu <bin.lu@arm.com>
2019-03-08 14:01:15 +08:00
Kubernetes Prow Robot
183e6cc190
Merge pull request #74433 from tallclair/runtimeclass-internal
Migrate RuntimeClass from a CRD to an internal API
2019-03-07 21:19:30 -08:00
David Zhu
7d2f4e97b8 Add ADC Fallback if Node doesn't have driver installed 2019-03-07 14:47:38 -08:00
Jordan Liggitt
8f47501418 Ensure namespaces exist on start 2019-03-07 15:09:46 -05:00
Tim Allclair
820a1dc96b Add node.k8s.io/v1beta1 API 2019-03-07 11:57:12 -08:00
Kubernetes Prow Robot
0b48018a39
Merge pull request #71192 from roycaihw/crd-publish-openapi
Publish CRD openapi
2019-03-07 03:54:58 -08:00
Haowei Cai
54b99413b2 generated 2019-03-06 20:36:40 -08:00
Haowei Cai
867cdce212 apiextensions: add openapi publishing unit+integration+e2e tests
Co-authored-by: Maciej Szulik <maszulik@redhat.com>
Co-authored-by: Dr. Stefan Schimanski <stefan.schimanski@gmail.com>
2019-03-06 20:36:23 -08:00
Michelle Au
08330c37ca lock csi and plugin watcher GA feature gates 2019-03-05 09:59:05 -08:00
Kubernetes Prow Robot
6c31101257
Merge pull request #74283 from xing-yang/csi_crd_controller
CSINodeInfo and CSIDriver Controller Changes
2019-03-05 04:44:42 -08:00
Xing Yang
d69e0ff3f0 Enable CSI test suite and fix test failures 2019-03-04 16:42:13 -08:00
Xing Yang
6265f4f78c CSINodeInfo/CSIDriver controller changes
This is the 2nd PR to move CSINodeInfo/CSIDriver APIs to
v1beta1 core storage APIs. It includes controller side changes.
It depends on the PR with API changes:
https://github.com/kubernetes/kubernetes/pull/73883
2019-03-04 16:41:58 -08:00
Kubernetes Prow Robot
b1d4d40679
Merge pull request #74668 from sttts/sttts-kube-apiserver-endpoints-when-ready
kube-apiserver: don't create endpoints before being ready
2019-03-04 01:57:41 -08:00
Xing Yang
bb45b8ee34 Make CSINodeInfo and CSIDriver Core APIs
This PR is the first step to transition CSINodeInfo and CSIDriver
CRD's to in-tree APIs. It adds them to the existing API group
“storage.k8s.io” as core storage APIs.
2019-03-02 12:31:05 -08:00
Kubernetes Prow Robot
f16035600a
Merge pull request #73807 from dekkagaijin/discovery-hardening
harden the default RBAC discovery clusterrolebindings
2019-03-01 21:49:30 -08:00
Jake Sanders
9c7d31928d harden the default RBAC discovery clusterrolebindings 2019-03-01 18:45:05 -08:00
Kubernetes Prow Robot
9b8c58644a
Merge pull request #74418 from danielqsj/duration
convert latency/latencies in metrics name to duration
2019-03-01 17:58:12 -08:00
Kubernetes Prow Robot
646145f578
Merge pull request #74125 from tuanvcw/fixing_typo
Fix many typos in both code and comments
2019-03-01 14:08:45 -08:00
Dr. Stefan Schimanski
2a9a9fa155 kube-apiserver: first remove endpoints, then add when ready 2019-03-01 10:46:18 +01:00
Eric Walker
75df4dc04c Remove test/integration/* from hack/.golint_failures 2019-02-28 19:52:39 -07:00
Andrew Kim
01933b02a3 replace usage of v1beta1 VolumeAttachments with v1 2019-02-27 15:42:12 -05:00
Vu Cong Tuan
c747b7f38d Fix many typos in both code and comments
Signed-off-by: Vu Cong Tuan <tuanvc@vn.fujitsu.com>
2019-02-27 14:41:02 +07:00
Kubernetes Prow Robot
9059021d9a
Merge pull request #67350 from tnozicka/retry-watcher
#50102 Task 3: Until, backed by retry watcher
2019-02-26 19:40:01 -08:00
Tomas Nozicka
09af8485f2 Add Until based on RetryWatcher 2019-02-26 16:21:38 +01:00
Jordan Liggitt
d1e865ee34 Update client callers to use explicit versions 2019-02-26 08:36:30 -05:00
Kubernetes Prow Robot
1595089ec5
Merge pull request #74453 from xichengliudui/fixgolintfailures1902
fixgo lint failures test/integration/...
2019-02-25 17:25:34 -08:00
Kubernetes Prow Robot
8993fbc543
Merge pull request #74328 from daixiang0/delete-blank
delete all duplicate empty blanks
2019-02-23 01:43:58 -08:00
Kubernetes Prow Robot
b5566c7818
Merge pull request #71896 from awly/client-go-keyutil
client-go: extract new keyutil package from util/cert
2019-02-23 01:43:16 -08:00
Xiang Dai
36065c6dd7 delete all duplicate empty blanks
Signed-off-by: Xiang Dai <764524258@qq.com>
2019-02-23 10:28:04 +08:00
Kubernetes Prow Robot
3afa003126
Merge pull request #73555 from bsalamat/priority_to_ga
Graduate PriorityClass API to GA
2019-02-22 16:14:49 -08:00
Bobby (Babak) Salamat
453498fe2c Graduate PriorityClass to GA 2019-02-22 10:51:13 -08:00
danielqsj
f7b437cae0 convert latency in mertics name to duration 2019-02-22 21:40:13 +08:00
Patrick Barker
9e4f8d6fae Audit test utils fix (#74276)
* changes audit e2e event version scheme; adds internal audit to common audit scheme; removes unneeded comments

* add more detail to audit missing events in e2e/integration tests

* adds version priority to audit scheme; updates comment
2019-02-22 00:19:51 -08:00
Jordan Liggitt
8c28d3f63c Add networking.k8s.io/v1beta1 Ingress 2019-02-20 16:41:14 -05:00
Andrew Lytvynov
18458392ca Extract new keyutil package from client-go/util/cert
This package contains public/private key utilities copied directly from
client-go/util/cert. All imports were updated.

Future PRs will actually refactor the libraries.

Updates #71004
2019-02-19 09:48:59 -08:00
xichengliudui
0b184d35a1 fixgo lint failures test/integration/...
update pull request

update pull request

add files

update pull request
2019-02-19 04:41:50 -05:00
xichengliudui
641f883b82 fix shellcheck in test/integration/... and test/kubemark/... 2019-02-18 01:16:39 -05:00
Ben Moss
34ac4d9ee9 Update deprecated links 2019-02-15 09:13:07 -05:00
Kubernetes Prow Robot
808f2cf0ef
Merge pull request #72525 from justinsb/owners_should_not_be_executable
Remove executable file permission from OWNERS files
2019-02-14 23:55:45 -08:00
Kubernetes Prow Robot
1b8c8f1daf
Merge pull request #73831 from jennybuckley/apply-create-service
Honor forceAllowCreate in service registry
2019-02-14 13:59:44 -08:00
Kubernetes Prow Robot
d8f0146138
Merge pull request #72214 from caesarxuchao/move-discovery
Move cached discovery clients to their own packages
2019-02-13 23:07:00 -08:00
Chao Xu
5e6fc5dce8 Limit the number of operations in a single json patch to be 10,000 2019-02-13 10:53:32 -08:00
Kubernetes Prow Robot
29403174fb
Merge pull request #73805 from caesarxuchao/resource-size-limit
Adding a limit on the size of request body the apiserver will decode for write operations
2019-02-12 15:10:57 -08:00
Chao Xu
1f2e2e61cf generated 2019-02-12 15:04:57 -08:00
Kubernetes Prow Robot
ff504cd869
Merge pull request #73681 from kwiesmueller/feature-serverside-apply
strip selected fields from managedFields
2019-02-12 12:39:20 -08:00
Chao Xu
3f21ca029a changing imports 2019-02-12 10:06:04 -08:00
Kubernetes Prow Robot
0ae81c986a
Merge pull request #67678 from caesarxuchao/remove-storage-versions-flag
Remove storage versions flag
2019-02-11 17:40:27 -08:00
Kevin Wiesmüller
9082cac482 strip selected fields from managedFields
refactor fieldstrip and update tests

add checks and remove empty fields

shorten test and check for nil manager

fix gofmt

panic on nil manager
2019-02-11 23:10:57 +01:00
Jennifer Buckley
1a5e48e29d Honor forceAllowCreate in service registry 2019-02-11 11:05:30 -08:00
Chao Xu
e90409d735 add integration test 2019-02-08 16:15:43 -08:00
Kubernetes Prow Robot
834c9a5e3d
Merge pull request #72491 from liggitt/delegated-auth-permissions
Ensure controller manager and scheduler can perform delegated auth checks
2019-02-08 11:53:52 -08:00
Kubernetes Prow Robot
b50c643be0
Merge pull request #73540 from rlenferink/patch-5
Updated OWNERS files to include link to docs
2019-02-08 09:05:56 -08:00
Jordan Liggitt
4212a9a05a Ensure controller manager and scheduler can perform delegated auth checks 2019-02-08 11:15:52 -05:00
Davanum Srinivas
b975573385
move pkg/kubelet/apis/well_known_labels.go to staging/src/k8s.io/api/core/v1/
Co-Authored-By: Weibin Lin <linweibin1@huawei.com>

Change-Id: I163b2f2833e6b8767f72e2c815dcacd0f4e504ea
2019-02-05 13:39:07 -05:00
jennybuckley
6b2e4682fe Minor fixes 2019-02-04 13:51:49 -08:00
Antoine Pelisse
b55417f429 Plugin FieldManager in CRD handler, change to API 2019-02-04 13:51:49 -08:00
Antoine Pelisse
0e1d50e70f API Machinery, Kubectl and tests 2019-02-04 13:51:48 -08:00
Roy Lenferink
b43c04452f Updated OWNERS files to include link to docs 2019-02-04 22:33:12 +01:00
Kubernetes Prow Robot
0bd35d1b68
Merge pull request #73448 from AdamDang/patch-21
Fix some error in returned message
2019-02-03 18:20:51 -08:00
Kubernetes Prow Robot
aee11a844c
Merge pull request #73596 from liggitt/deprecated-tests
Stop using beta apps versions
2019-02-01 16:02:08 -08:00
Kubernetes Prow Robot
2e01637f86
Merge pull request #69504 from krmayankk/refactor-sched1
Move informer event handlers to scheduler
2019-02-01 06:31:39 -08:00
Jordan Liggitt
f100a762bc Stop using apps/v1beta1 in tests 2019-01-31 10:12:38 -05:00
Chao Xu
bed7696876 generated BUILD files 2019-01-30 13:28:48 -08:00
Chao Xu
98a1003f57 Remove unnecessary group storage version defaults. The storage version
is either decided by the schema's version priority, or by the per
resource override.

This fixes a bug where the "batch" group is encoded in v1beta1, which
was hidden when --storage-versions is a valid flag.
2019-01-30 13:28:48 -08:00
Jordan Liggitt
131dad6ee1 Always select the in-memory group/version as a target when decoding from storage 2019-01-30 13:58:37 -05:00
Mayank Kumar
e0a7d96632 Move informer event handlers to Scheduler 2019-01-29 17:53:20 -08:00
Kubernetes Prow Robot
5262dba064
Merge pull request #73198 from mourya007/library
Re-Organize the pkutil library
2019-01-29 01:20:42 -08:00
Kubernetes Prow Robot
44d1859205
Merge pull request #72730 from liggitt/eviction-graceful-deletion
Make pod eviction trigger graceful deletion to match deletion via API
2019-01-28 21:51:53 -08:00
Kubernetes Prow Robot
22080f9f47
Merge pull request #72967 from wgliang/bugfix/scheduler_perf-fail
fix scheduler_perf integration test fails
2019-01-28 20:11:42 -08:00
AdamDang
f870382587
Fix some error in returned message
Fix some error in returned message:
a interval -> an interval
to small -> too small
2019-01-29 12:09:37 +08:00
mourya007
7c37e91a6d Re-Organize the pkutil library 2019-01-26 14:56:36 +05:30
Kubernetes Prow Robot
c6d0cdf309
Merge pull request #72694 from liggitt/integration-api-versions
Use apps/v1 APIs in integration, explicitly enable all resources for print/etcd/scale tests
2019-01-26 00:35:43 -08:00
Jordan Liggitt
cdfb5d3170 Make pod eviction trigger graceful deletion to match deletion via API 2019-01-25 23:35:49 -05:00
Kubernetes Prow Robot
d654b49c0e
Merge pull request #73097 from bsalamat/fix_taint_nodes
Add NotReady taint to new nodes during admission
2019-01-24 23:46:23 -08:00
Jordan Liggitt
b64075dbd0 explicitly enable apps/v1beta1, apps/v1beta2, extensions/v1beta1 for print,etcd,storage tests 2019-01-24 21:43:15 -05:00
Jordan Liggitt
4fc63fd014 use apps/v1 APIs in integration tests 2019-01-24 21:34:12 -05:00
Kubernetes Prow Robot
e28c757e87
Merge pull request #72972 from liggitt/remove-alpha-initializers
Remove use of alpha initializers
2019-01-24 14:54:52 -08:00
Bobby (Babak) Salamat
c2a4d2cbdf Add a default admission controller to taint new nodes on creation. 2019-01-24 10:31:23 -08:00
Kubernetes Prow Robot
31311a6343
Merge pull request #73148 from liggitt/remove-deprecated-swagger-paths
remove deprecated openapi paths in favor of /openapi/v2
2019-01-23 22:06:21 -08:00
Jordan Liggitt
1a15d80967 generated 2019-01-23 16:34:44 -05:00
Jordan Liggitt
17aa60686e Deprecate and remove use of alpha metadata.initializers field, remove IncludeUninitialized options 2019-01-23 16:34:43 -05:00
Jordan Liggitt
dc1fa870bf Remove alpha InitializerConfiguration types, Initializers admission plugin 2019-01-23 11:37:39 -05:00
Jordan Liggitt
52519ecb1c remove deprecated openapi paths in favor of /openapi/v2 2019-01-21 16:33:41 -05:00
Tomas Nozicka
b762d2c0d7 Make UntilWithSync wait for integrated informers to stop 2019-01-21 18:30:00 +01:00
Silvery Fu
537c5ed9bc Fix error-prone integration test for ImageLocalityPriority 2019-01-18 12:59:43 -08:00
Kubernetes Prow Robot
24643fd116
Merge pull request #72336 from danielqsj/apimetrics
Change apiserver metrics to conform metrics guidelines
2019-01-17 21:40:03 -08:00
Guoliang Wang
18434c3465 fix scheduler_perf integration test fails 2019-01-17 10:05:02 +08:00
Patrick Barker
34d57f295f adds dynamic audit integration test generated 2019-01-16 16:27:51 -08:00
Patrick Barker
d995047366 adds dynamic audit integration test 2019-01-16 16:24:02 -08:00
Jordan Liggitt
9229399bd6 Remove build/verify scripts for swagger 1.2 API docs, API server swagger ui / swagger 1.2 config 2019-01-15 13:33:06 -05:00
Justin SB
dd19b923b7
Remove executable file permission from OWNERS files 2019-01-11 16:42:59 -08:00
danielqsj
8b418631c0 Move etcd latency metrics to histogram and update test case 2019-01-11 20:38:24 +08:00
Kubernetes Prow Robot
2c8b571d57
Merge pull request #71875 from wgliang/cleanup/remove-newfrom-functions
Move users of `factory.NewConfigFactory` to `scheduler.New`
2019-01-09 13:55:51 -08:00
Guoliang Wang
3c24c99b08 Move users of factory.NewConfigFactory to scheduler.New 2019-01-09 06:40:30 +08:00
Kubernetes Prow Robot
8327e43359
Merge pull request #72645 from liggitt/service-account-test
Wait for propagation of secret deletion
2019-01-07 15:25:31 -08:00
Kubernetes Prow Robot
349ebc78bd
Merge pull request #72200 from sttts/sttts-test-graceful-shutdown
kube-apiserver: test graceful shutdown
2019-01-07 12:09:14 -08:00
Jordan Liggitt
1afce6db13 Wait for propagation of secret deletion 2019-01-07 08:53:06 -05:00
Kubernetes Prow Robot
34ca1301da
Merge pull request #72537 from mortent/FixEvictionsFlake
Fix flaking evictions test
2019-01-04 20:11:32 -08:00
Davanum Srinivas
8c8c01f913
Add debug logs for etcd server in integration tests
Change-Id: Ic1dd8a7c7e0adef27b969007e24c2eb089d6bb12
2019-01-04 15:22:29 -05:00
Kubernetes Prow Robot
18778ea4a1
Merge pull request #72521 from dims/ensure-capture-of-http-and-trace-logs
Ensure we capture http and trace related logs
2019-01-03 15:52:06 -08:00
Morten Torkildsen
4b3078fe9a Fix flaking evictions test 2019-01-03 11:45:29 -08:00
Davanum Srinivas
e6f8e51c50
Ensure we capture http and trace related logs
When we are running apiserver related code, we do not currently capture
the logs from `httplog.NewLogged` and `trace.LogIfLong` since the
default log verbosity is not set. So just make sure we have a minimum
verbosity set in these circumstance.

Change-Id: I64a30029778615e679b244ddba801833218d1573
2019-01-03 11:03:12 -05:00
Dr. Stefan Schimanski
00a717b572 apiserver: start only one compactor per unique storage transport config 2019-01-03 12:01:47 +01:00
Dr. Stefan Schimanski
a2e19f1228 kube-apiserver: add e2e graceful shutdown integration test 2019-01-02 15:26:04 +01:00
Dr. Stefan Schimanski
7b242533a2 apiserver: separate transport setting from storagebackend.Config 2019-01-02 12:52:38 +01:00
Kubernetes Prow Robot
6e182ed5ea
Merge pull request #71816 from liggitt/service-account-lookup
Look up service accounts from informer before trying live lookup
2018-12-31 21:18:55 -08:00
Kubernetes Prow Robot
65f87b5a4a
Merge pull request #72259 from bsalamat/fix_nominated_node
Fix a race in setting nominated node and the scheduling cycle after it.
2018-12-30 00:01:26 -08:00
Bobby (Babak) Salamat
b75672c4ba autogenerated files 2018-12-29 22:54:15 -08:00
Jordan Liggitt
73dcfe12da Stop checking VolumeScheduling feature gate 2018-12-27 17:45:45 -05:00
Bobby (Babak) Salamat
5581497846 Add a test that reproduces the race condition between setting nominated node name of a pod and scheduling cycle of other pods 2018-12-27 02:15:59 -08:00
Kubernetes Prow Robot
eb79f8f279
Merge pull request #69615 from k82cn/update_node_ns
Fixed node namespace to none.
2018-12-23 23:39:09 -08:00
Kubernetes Prow Robot
37dc6789d7
Merge pull request #71978 from denkensk/move-predicate-types
Move predicate types from algorithm to predicates
2018-12-21 19:05:29 -08:00
wangqingcan
b82a1d4600 Move predicate types from algorithm to predicates 2018-12-21 22:26:47 +08:00
wojtekt
73d14dede6 Promote Lease API to v1 2018-12-20 15:39:57 +01:00
Kubernetes Prow Robot
00ca6939cb
Merge pull request #72038 from bowei/change-gce-cloud-provider
Change gce cloud provider
2018-12-19 14:13:55 -08:00
Jordan Liggitt
0ff455e340 generated files 2018-12-19 11:19:12 -05:00
Jordan Liggitt
fd9e9b01b1 Remove uses of extensions/v1beta1 clients 2018-12-19 11:18:53 -05:00
Weibin Lin
842bd1e1ec update deployment, daemonset, replicaset, statefulset to apps/v1 2018-12-19 10:46:45 -05:00
Bowei Du
6ef9105978 Update Bazel 2018-12-18 10:28:02 -08:00
Bowei Du
dfac4f7a2c Update other references 2018-12-18 10:26:46 -08:00
Harry Zhang
797601d99d Fixed outdated bazel 2018-12-17 17:05:49 -08:00
wangqingcan
1081e919e3 Eclass Task 1: clean up old equiv class code
Co-authored-by: Harry Zhang <resouer@gmail.com>
Co-authored-by: Wang Qingcan <wangqingcan@baidu.com>
2018-12-17 17:05:49 -08:00
Kubernetes Prow Robot
e2be7c91d9
Merge pull request #70344 from andrewsykim/consolidate-node-delete
consolidate node deletion logic between kube-controller-manager and cloud-controller-manager
2018-12-17 15:49:16 -08:00
Kubernetes Prow Robot
05183bffe5
Merge pull request #71872 from yuexiao-wang/scheduler-nodeinfo
[scheduler cleanup phase 2]: Rename `pkg/scheduler/cache` to `pkg/scheduler/nodeinfo`
2018-12-12 08:08:33 -08:00
yuexiao-wang
7b6f60f085 modify BUILD
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2018-12-11 11:22:06 +08:00
yuexiao-wang
f3353c358d [scheduler cleanup phase 2]: Rename to
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2018-12-11 11:21:12 +08:00
Krzysztof Siedlecki
04c4bef206 adding 5000 nodes test to scheduler benchmark 2018-12-10 13:54:53 +01:00
Jordan Liggitt
a9dc919f82 Look up service accounts from informer before trying live lookup 2018-12-06 16:48:39 -05:00
andrewsykim
5329f09663 consolidate node deletion logic between node lifecycle and cloud node controller 2018-12-03 13:33:53 -05:00
Bobby (Babak) Salamat
679d88c1a0 Add 'reserve' and 'prebind' plugin tests 2018-11-30 16:09:43 -08:00
Bobby (Babak) Salamat
e60f510e38 Autogenerated files 2018-11-30 16:03:47 -08:00
k8s-ci-robot
8b6d20ab60
Merge pull request #71339 from cofyc/fix71301
Add prebound pvs test cases in integration stress tests
2018-11-30 00:04:08 -08:00
k8s-ci-robot
79e5cb2cb7
Merge pull request #71302 from liggitt/verify-unit-test-feature-gates
Split mutable and read-only access to feature gates, limit tests to readonly access
2018-11-29 21:45:12 -08:00
Wei Huang
ad6e3617d3
update logic of adding default DS pod tolerations
- update DS pod default tolerations: add PIDPressure, remove OutOfDisk
- remove useless tolerations testcases
2018-11-29 01:18:32 -08:00
Yecheng Fu
37b20f0116 refactor volume binding stress tests to test scheduling one pod repeatedly
this helps to detect races between Find/Assume and Bind volumes
2018-11-22 18:02:57 +08:00
Jordan Liggitt
4dca07ef7e Fixup incorrect use of DefaultFeatureGate.Set in tests 2018-11-21 11:51:33 -05:00
Sergei Orlov
21c1bb8830
kubeapiserver: rename '--experimental-encryption-provider-config' to '--encryption-provider-config'.
This change renames the '--experimental-encryption-provider-config'
flag to '--encryption-provider-config'. The old flag is accepted but
generates a warning.

In 1.14, we will drop support for '--experimental-encryption-provider-config'
entirely.

Co-authored-by: Stanislav Laznicka <slaznick@redhat.com>
2018-11-19 16:34:09 +01:00
k8s-ci-robot
46ebebcc4f
Merge pull request #65763 from x13n/audit-logging
Add option to k8s apiserver to reject incoming requests upon audit failure
2018-11-17 04:39:56 -08:00
k8s-ci-robot
f38cc95505
Merge pull request #62692 from mikedanese/trev2
authn: extend authenticator.Token to support audience validation
2018-11-16 20:27:25 -08:00
k8s-ci-robot
39c8219999
Merge pull request #71158 from liggitt/revert-openapi-publish
Revert openapi publish
2018-11-16 18:22:43 -08:00
k8s-ci-robot
1e22f080ec
Merge pull request #67383 from stlaz/enc_config_promotion
Introduce apiserver.config.k8s.io/v1 and use standard method for parsing encryption config file
2018-11-16 16:31:30 -08:00
Mike Danese
effad15ecc patch webhook authenticator to support token review with arbitrary audiences 2018-11-16 19:30:42 -05:00
Jordan Liggitt
8799eb4e2e Revert "Merge pull request #67205 from roycaihw/crd-openapi-spec"
This reverts commit 54ee58b2d6, reversing
changes made to 9e2820e4c9.
2018-11-16 16:36:24 -05:00
David Eads
9b31985b08 fix client-side specification of timeout now that it is honored 2018-11-16 11:43:37 -05:00
k8s-ci-robot
54ee58b2d6
Merge pull request #67205 from roycaihw/crd-openapi-spec
Serve OpenAPI spec for registered CRDs
2018-11-16 05:12:41 -08:00
k8s-ci-robot
1a54fd4319
Merge pull request #71021 from liggitt/node-self-deletion
Remove self-deletion permissions from kubelets
2018-11-16 01:53:31 -08:00
Daniel Kłobuszewski
7a10f4eda7 Add option to k8s apiserver to reject incoming requests upon audit failure 2018-11-16 10:32:49 +01:00
Haowei Cai
4625bf7dad add basic e2e test and integration for CRD openapi 2018-11-15 16:39:49 -08:00
saad-ali
9d4810f25a Bump grpc from 1.7.5 to 1.13.0 2018-11-15 16:39:42 -08:00
k8s-ci-robot
b1a52a38e9
Merge pull request #67257 from pbarker/audit
dynamic audit configuration
2018-11-15 02:42:59 -08:00
k8s-ci-robot
726c07eb26
Merge pull request #69929 from jsafrane/csi-ga
Promote CSIPersistentVolume feature to GA
2018-11-14 20:34:58 -08:00
Patrick Barker
eb89d3dddd adds dynamic audit configuration 2018-11-14 17:54:06 -07:00
k8s-ci-robot
9c304cf0cb
Merge pull request #70157 from mikedanese/trev1
retrofit svcacct token authenticator to support audience validation
2018-11-14 13:16:44 -08:00
Jan Safranek
e95b188656 Generated files 2018-11-14 14:01:16 +01:00
k8s-ci-robot
3e6d414b55
Merge pull request #70967 from mikedanese/fixtropts
Fix broken defaulting and validation in TokenRequest enablement
2018-11-13 22:03:42 -08:00
Jordan Liggitt
8d7cc39031 Remove self-deletion permissions from kubelets 2018-11-14 00:42:06 -05:00
Mike Danese
67bbf753cb retrofit svcacct token authenticator to support audience validation 2018-11-13 20:38:41 -08:00
Mike Danese
06935e1c90 split TokenRequest initialization out of run and into complete and validate 2018-11-13 17:27:13 -08:00
Bobby (Babak) Salamat
1b8e1d9ed8 Disable equivalence cache by default in the scheduler integration tests 2018-11-13 11:23:19 -08:00
Stanislav Laznicka
628d1fef37
autogen files 2018-11-13 18:06:12 +01:00
Slava Semushin
c21cb548e6
Introduce kubeapiserver.config.k8s.io/v1 with EncryptionConfiguration and use a standard method for parsing config file.
Co-authored-by: Stanislav Laznicka <slaznick@redhat.com>
2018-11-13 14:05:21 +01:00
Davanum Srinivas
954996e231
Move from glog to klog
- Move from the old github.com/golang/glog to k8s.io/klog
- klog as explicit InitFlags() so we add them as necessary
- we update the other repositories that we vendor that made a similar
change from glog to klog
  * github.com/kubernetes/repo-infra
  * k8s.io/gengo/
  * k8s.io/kube-openapi/
  * github.com/google/cadvisor
- Entirely remove all references to glog
- Fix some tests by explicit InitFlags in their init() methods

Change-Id: I92db545ff36fcec83afe98f550c9e630098b3135
2018-11-10 07:50:31 -05:00
k8s-ci-robot
e133ab274d
Merge pull request #70515 from davidz627/feature/csiNodeInfo
Add explicit "Installed" field to CSINodeInfo and change update semantics
2018-11-09 06:42:09 -08:00
David Zhu
4621887037 Updated test files with new fields 2018-11-08 19:45:01 -08:00
k8s-ci-robot
be800e623a
Merge pull request #69663 from sttts/sttts-scheduler-secure-serving
scheduler: enable secure port and authn/z
2018-11-08 17:36:14 -08:00
Dr. Stefan Schimanski
1588af4031 kube-scheduler: add secure serving and authn/z integration tests 2018-11-08 16:43:59 +01:00
Dr. Stefan Schimanski
98d8e87120 integration: rename test/integration/{controllermanager -> serving} 2018-11-08 16:43:59 +01:00
Dr. Stefan Schimanski
d91feb6d18 kube-scheduler: move stopCh creation out of scheduler factory code
Enforces clean ownership of the channel.
2018-11-08 16:43:59 +01:00
Davanum Srinivas
43f523d405
Switch to sigs.k8s.io/yaml from ghodss/yaml
Change-Id: Ic72b5131bf441d159012d67a6a3d87088d0e6d31
2018-11-07 13:17:32 -05:00
k8s-ci-robot
7fe59165b6
Merge pull request #70193 from saad-ali/csiCRDAddon
Register CSI CRDs as addon
2018-11-06 23:55:56 -08:00
saad-ali
a679486a5e Register CSI CRDs as addon 2018-11-06 10:58:09 -08:00
k8s-ci-robot
c8604653f0
Merge pull request #70449 from mikedanese/simplcache
remove webhook cache implementation and replace with token cache
2018-11-05 16:32:34 -08:00
Mike Danese
0ec4d6d396 remove webhook cache implementation and replace with the token cache
The striped cache used by the token cache is slightly more sophisticated
however the simple cache provides about the same exact behavior. I used
the striped cache rather than the simple cache because:

* It has been used without issue as the primary token cache.
* It preforms better under load.
* It is already exposed in the public API of the token cache package.
2018-11-05 13:08:45 -08:00
Monis Khan
f39158a310
Add CRDs to etcd storage path test
This change updates the etcd storage path test to exercise custom
resource storage by creating custom resource definitions before
running the test.

Duplicated custom resource definition test logic was consolidated.

Signed-off-by: Monis Khan <mkhan@redhat.com>
2018-11-04 16:54:35 -05:00
k8s-ci-robot
03cbb2c321
Merge pull request #70571 from lichuqiang/provision-test-fix
remove meaningless case in volume binding test
2018-11-02 18:01:48 -07:00
k8s-ci-robot
9fb1153bd8
Merge pull request #70550 from liggitt/cleanup-scale-clients
Drop generated clients for Scale types
2018-11-02 05:29:15 -07:00
lichuqiang
f7dbcce272 remove meaningless case 2018-11-02 15:17:20 +08:00
k8s-ci-robot
4351cea80c
Merge pull request #70046 from cheftako/lintCleanGce
Fixed lint errors for pkg/cloudprovider/providers/gce.
2018-11-01 13:44:06 -07:00
Jordan Liggitt
ff9dc86b3c Drop generated clients for Scale types 2018-11-01 14:49:51 -04:00
zqm19941101
05013135b4
fix typo 2018-10-30 19:27:36 +08:00
walter
735ad9ed63 Fixed lint errors for pkg/cloudprovider/providers/gce.
Fixed minor issues.
Cleaned up from merge errors.
2018-10-29 11:52:24 -07:00
Samuel Davidson
294e02ed4b Revert "limit forbidden error to details of what was forbidden"
This reverts commit ecbd013795.
2018-10-26 15:58:09 -07:00
Kim Min
79599ac419 Prune internal clientset/informer from kubeapiserver admission initializer (#70167)
* externalize pv resize admission controller

* externalize podtolerationrestriction admission controller

* externalize podnodeselector admission controller

* remove internal clientset/informer from kubeapiserver admission initializer

* minor change: fixes scheduler integration test compiliation
2018-10-24 14:47:16 -07:00
k8s-ci-robot
10121e6448
Merge pull request #69898 from Huang-Wei/scheudler-perf-more-cases
add more scheduler benchmark testcases
2018-10-24 14:47:06 -07:00
Wei Huang
5259d09c38
add more scheduler benchmark testcases
- add benchmark test for PodAffinity
- add benchmark test for NodeAffinity
- add 1000-nodes test for PodAntiAffinity/PodAffinity/NodeAffinity
2018-10-24 11:06:32 -07:00
zuoxiu.jm
38ddb4413a update token authn constructor 2018-10-24 16:56:38 +08:00
k8s-ci-robot
4d182cec03
Merge pull request #70105 from mikedanese/trev1
promote --service-account-api-audiences to top level kube-apiserver config
2018-10-22 23:59:34 -07:00
k8s-ci-robot
baa8d800ad
Merge pull request #69582 from mikedanese/trev7
tokenreview: authenticator interface changes
2018-10-22 23:59:04 -07:00
Mike Danese
371b1e7fed promote --service-account-api-audiences to top level kube-apiserver config
The service account authenticator isn't the only authenticator that
should respect API audience. The authentication config structure should
reflect that.
2018-10-22 18:21:37 -07:00
Mike Danese
e5227216c0 rebase authenticators onto new interface. 2018-10-22 10:16:59 -07:00
Monis Khan
c16edb2738
Refactor dry run test to reuse ETCD storage data
This change updates the ETCD storage test so that its data is
exported.  Thus it can be used by other tests.  The dry run test was
updated to consume this data instead of having a duplicate copy.

The code to start a master that can be used for "one of every
resource" style tests was also factored out.  It is reused in the
dry run test as well.

This prevents these tests from drifting in the future and reduces
the long term maintenance burden.

Signed-off-by: Monis Khan <mkhan@redhat.com>
2018-10-19 18:35:56 -04:00
Patrick Barker
b8e1250487 adds dynamic audit api generated 2018-10-16 13:07:27 +00:00
Patrick Barker
381d0a5d14 adds dynamic audit api 2018-10-16 06:46:34 -06:00
k8s-ci-robot
d54e0fc0bc
Merge pull request #69670 from atlassian/simplify-rand-seed
Simplify rand seeding
2018-10-15 13:53:01 -07:00
tanshanshan
b7c7966b9f Move pkg/scheduler/algorithm/well_known_labels.go out 2018-10-13 09:10:00 +08:00
Zhen Wang
e35d808aa2 NodeLifecycleController treats node lease renewal as a heartbeat signal 2018-10-11 16:07:15 -07:00
k8s-ci-robot
94306c12f5
Merge pull request #69057 from denkensk/create-a-new-scheduler-constructor
create-a-new-scheduler-constructor
2018-10-11 13:45:02 -07:00
Mikhail Mazurskiy
55bc668f8d
Seed math/rand in TestMain before tests are executed 2018-10-11 22:07:45 +11:00
k8s-ci-robot
a9fb3f5fc9
Merge pull request #69616 from k82cn/sched_perf_owner
Aligned sched_perf owner.
2018-10-10 20:25:04 -07:00
wangqingcan
a74fd15e62 create a new scheduler constructor 2018-10-10 17:10:10 +08:00
Da K. Ma
f6ad347982 Fixed node namespace to none.
Signed-off-by: Da K. Ma <klaus1982.cn@gmail.com>
2018-10-10 16:17:15 +08:00
Da K. Ma
0064c2c4d4 Aligned sched_perf owner.
Signed-off-by: Da K. Ma <klaus1982.cn@gmail.com>
2018-10-10 16:05:04 +08:00
lichuqiang
db775814e2 add volume topology-aware dynamic provisioning integration case 2018-10-10 09:38:04 +08:00
k8s-ci-robot
664d797245
Merge pull request #69466 from mooncak/fix_test_issues
Remove the duplicated words in test files
2018-10-05 22:18:31 -07:00
mooncake
4894f5583d Remove the duplicated words in test files
Signed-off-by: mooncake <xcoder@tenxcloud.com>
2018-10-05 22:55:16 +08:00
Walter Fender
f3f46d5f5a Moving the cloudprovider interface to staging.
Individual implementations are not yet being moved.
Fixed all dependencies which call the interface.
Fixed golint exceptions to reflect the move.
Added project info as per @dims and
https://github.com/kubernetes/kubernetes-template-project.
Added dims to the security contacts.
Fixed minor issues.
Added missing template files.
Copied ControllerClientBuilder interface to cp.
This allows us to break the only dependency on K8s/K8s.
Added TODO to ControllerClientBuilder.
Fixed GoDeps.
Factored in feedback from JustinSB.
2018-10-04 14:41:20 -07:00
k8s-ci-robot
68536e4382
Merge pull request #68520 from verult/top-auth-integration
Auth integration tests for CSINodeInfo changes
2018-10-03 21:32:01 -07:00
k8s-ci-robot
5dd78df7da
Merge pull request #68982 from aruneli/master
Fixes #65869 Do not listen insecurely if secure port is specified
2018-10-03 17:32:28 -07:00
Cheng Xing
c65d7c9a49 NodeAuthorizer and NodeRestriction integration test for CSINodeInfo permissions 2018-10-03 14:31:16 -07:00
Yu Liao
fc21115c3f Moved staging/src/k8s.io/client-go/tools/bootstrap to staging/src/k8s.io/cluster-bootstrap 2018-10-02 09:46:13 -07:00
k8s-ci-robot
0787715978
Merge pull request #69124 from tanshanshan/httpcode
replace 200 with http.StatusOK
2018-09-27 09:51:48 -07:00
k8s-ci-robot
3d2fcf4155
Merge pull request #68892 from ravisantoshgudimetla/fix-pdb
PDB checks should not be done for terminal pods while evicting
2018-09-26 22:59:14 -07:00
tanshanshan
acdc45628f use http.StatusOK instead of 200 2018-09-27 08:33:27 +08:00
Bobby (Babak) Salamat
c051f0d31a autogenerated files 2018-09-26 14:22:21 -07:00
Bobby (Babak) Salamat
f340f8baf8 Remove PDB and its event handlers from the scheduler cache 2018-09-26 14:22:21 -07:00
Arun
1761031f5f Fixes #65869 Do not listen insecurely if secure port is specified 2018-09-25 19:06:34 -07:00
k8s-ci-robot
0805860dba
Merge pull request #67870 from yue9944882/refactor/externalize-resource-quota-admission-controller
Externalize resource quota admission controller & controller reconciliation
2018-09-25 02:41:40 -07:00
k8s-ci-robot
6b1af84d4a
Merge pull request #64803 from misterikkit/etcd-main
Make integration test work with `go test`.
2018-09-24 19:48:52 -07:00
k8s-ci-robot
2fb9fc2400
Merge pull request #67230 from tanshanshan/schedulertest810
add ns for pod in scheduler integration test
2018-09-24 13:19:55 -07:00
k8s-ci-robot
b223e880d5
Merge pull request #66937 from mortent/CronJobIntegrationTest
Integration test for CronJob
2018-09-24 13:19:09 -07:00
ravisantoshgudimetla
d776f865a2 PDB checks should not be done for terminal pods while evicting
Signed-off-by: ravisantoshgudimetla <ravisantoshgudimetla@gmail.com>
2018-09-20 14:30:34 -04:00
Cheng Xing
8555408f42 Removing CRD installation from attach detach controller 2018-09-18 14:25:15 -07:00
ravisantoshgudimetla
b2e92f1ba2 Fix test cases and build files 2018-09-12 14:19:29 -04:00
Jonathan Basseri
117288e285 Make integration test work with go test.
The EtcdMain function in integration tests is designed to launch an etcd
instance only when running in a bazel test. For non-bazel, we rely on
hack/make-rules/test-integration.sh to bring up the etcd instance.

This patch fixes the following in EtcdMain:
1. If etcd is not found in ${RUNFILES_DIR} then look in ${PATH}.
2. Try to connect to the etcd started by `make test-integraion`; if it
   is up, then don't start etcd.
3. Gracefully shut down etcd after tests.
4. Get a port from the OS instead of deriving it from argv[0].
5. Don't use sync.Once.

The benefit of this change is that integration tests work with `go test`
as well as `make test-integration` without users needing to do anything
special. That makes it much easier to pass go testing flags to tests and
integrate with IDEs.
2018-09-10 14:12:25 -07:00
Kubernetes Submit Queue
323e1375b3
Merge pull request #64954 from k82cn/k8s_61312_2
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Added unschedulable and network-unavailable toleration.

Signed-off-by: Da K. Ma <klaus1982.cn@gmail.com>

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
part of #61312
fixes: https://github.com/kubernetes/kubernetes/issues/67606

**Release note**:

```release-note
If `TaintNodesByCondition` is enabled, add `node.kubernetes.io/unschedulable` and
 `node.kubernetes.io/network-unavailable` automatically to DaemonSet pods.
```
2018-09-09 19:46:37 -07:00
Da K. Ma
e39b510726 Added unschedulable and network-unavailable toleration.
Signed-off-by: Da K. Ma <klaus1982.cn@gmail.com>
2018-09-07 16:53:49 +08:00
Cheng Xing
becc6a9c19 Implemented logic in kubelet for registering node info, including wiring to CSINodeInfo; added unit tests for node updates; updated RBAC, NodeAuthorizer, NodeRestriction. 2018-09-06 19:16:51 -07:00
Kubernetes Submit Queue
c3062bae21
Merge pull request #68233 from luxas/ccm_cleanup
Automatic merge from submit-queue (batch tested with PRs 68171, 67945, 68233). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Move the CloudControllerManagerConfiguration to an API group in `cmd/`

**What this PR does / why we need it**:
This PR is the last piece of https://github.com/kubernetes/kubernetes/issues/67233.
It moves the `CloudControllerManagerConfiguration` to its own `cloudcontrollermanager.config.k8s.io` config API group, but unlike the other components this API group is "private" (only available in `k8s.io/kubernetes`, which limits consumer base), as it's located entirely in `cmd/` vs a staging repo.
This decision was made for now as we're not sure what the story for the ccm loading ComponentConfig files is, and probably a "real" file-loading ccm will never exist in core, only helper libraries. Eventually the ccm will only be a library in any case, and implementors will/can use the base types the ccm library API group provides. It's probably good to note that there is no practical implication of this change as the ccm **cannot** read ComponentConfig files. Hencec the code move isn't user-facing.

With this change, we're able to remove `pkg/apis/componentconfig`, as this was the last consumer. That is hence done in this PR as well (so the move is easily visible in git, vs first one "big add" then a "big remove"). The only piece of code that was used was the flag helper structs, so I moved them to `pkg/util/flag` that I think makes sense for now.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
ref: kubernetes/community#2354

**Special notes for your reviewer**:

This PR builds on top of (first two commits, marked as `Co-authored by: @stewart-yu`) https://github.com/kubernetes/kubernetes/pull/67689

**Release note**:

```release-note
NONE
```
/assign @liggitt @sttts @thockin @stewart-yu
2018-09-05 21:36:41 -07:00
Kubernetes Submit Queue
ca43f007a3
Merge pull request #67731 from gnufied/fix-csi-attach-limit
Automatic merge from submit-queue (batch tested with PRs 68161, 68023, 67909, 67955, 67731). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Fix csi attach limit

Add support for volume limits for CSI.

xref: https://github.com/kubernetes/community/pull/2051

```release-note
Add support for volume attach limits for CSI volumes
```
2018-09-05 14:51:55 -07:00
Lucas Käldström
7e10810ed0
Move CloudControllerManagerConfiguration from pkg/apis/componentconfig to cmd/cloud-controller-manager/app/apis/config 2018-09-05 14:02:25 +03:00
Michelle Au
e124159990 Add scheduler option for bind timeout 2018-09-04 17:25:23 -07:00
Michelle Au
8091c7975b Integration and e2e tests 2018-09-04 16:30:14 -07:00
Morten Torkildsen
7e62f73414 Integration test for CronJob 2018-09-03 08:55:40 -07:00
Kubernetes Submit Queue
6309ded22e
Merge pull request #67864 from k82cn/k8s_67823
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Taint node in paralle.

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

**Release note**:
```release-note
None
```
2018-09-02 01:02:34 -07:00
Kubernetes Submit Queue
da25aaa39e
Merge pull request #68081 from silveryfu/image-locality-tests-new
Automatic merge from submit-queue (batch tested with PRs 63437, 68081). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Enable ImageLocalityPriority by default with integration tests

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

This PR is a follow-up to [#63842](https://github.com/kubernetes/kubernetes/issues/63842). It moves the ImageLocalityPriority function to default priority functions of the default algorithm provider and adds integration tests for the updated scheduling policy.

- Compared to [#64662](https://github.com/kubernetes/kubernetes/pull/64662), this PR does note provide e2e test due to concerns about a large image may add too much overhead to the testing infrastructure and pipeline. We should add e2e tests in the future with the use of large enough image(s) in following PRs. 

- Compared to [#64662](https://github.com/kubernetes/kubernetes/pull/64662), this PR simplifies the code changes and keeps code changes under test/integration/scheduler/.

- The PR contains a bug fix for [#65745](https://github.com/kubernetes/kubernetes/pull/65745) - caught by the integration test - where the image states are not properly cloned to the scheduler's cachedNodeInfoMap. We might split this fix into a separate PR.

The integration test covers what follows: a pod requiring a large image (~= 3GB) is submitted to the cluster and there is a single node in the cluster has the same large image; the pod should get scheduled to that node. We might also consider whether more scenarios are desired.

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

**Special notes for your reviewer**:

Kindly ping @resouer and @bsalamat 

**Release note**:

```release-note
None
```
2018-09-01 16:58:33 -07:00
Kubernetes Submit Queue
62315e88c0
Merge pull request #67069 from sttts/sttts-cloud-ctrl-mgr-secure-ports
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

cloud-ctrl-mgr: enable secure port 10258

This PR enables authn+authz (delegated to the kube-apiserver) and the secure port 10258 for the cloud-controller-manager. In addition, the insecure port is disabled.

This is the counterpart PR to https://github.com/kubernetes/kubernetes/pull/64149.

Moreover, it adds integration test coverage for the `--port` and `--secure-port` flags, plus the testserver infrastructure to tests flags in general inside integration tests.

```release-note
Enable secure serving on port 10258 to cloud-controller-manager (configurable via `--secure-port`). Delegated authentication and authorization have to be configured like for aggregated API servers.
```
2018-09-01 11:35:09 -07:00
Klaus Ma
85a19b109a Taint node in paralle.
Signed-off-by: Klaus Ma <klaus1982.cn@gmail.com>
2018-09-01 09:57:02 +08:00
Kubernetes Submit Queue
f685eb5d64
Merge pull request #61858 from mikedanese/svcacctpod
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

svcacct: pass pod information in user.Info.Extra() when available

For https://github.com/kubernetes/kubernetes/issues/59670 but won't fix until we move to the new token volume source.

ref #58790

```release-note
UserInfo derived from service account tokens created from the TokenRequest API now include the pod name and UID in the Extra field.
```
2018-08-31 17:56:12 -07:00
Kubernetes Submit Queue
85300f4f5d
Merge pull request #67803 from saad-ali/csiClusterReg3
Automatic merge from submit-queue (batch tested with PRs 64283, 67910, 67803, 68100). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

CSI Cluster Registry and Node Info CRDs

**What this PR does / why we need it**:
Introduces the new `CSIDriver` and `CSINodeInfo` API Object as proposed in https://github.com/kubernetes/community/pull/2514 and https://github.com/kubernetes/community/pull/2034

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes https://github.com/kubernetes/features/issues/594

**Special notes for your reviewer**:
Per the discussion in https://groups.google.com/d/msg/kubernetes-sig-storage-wg-csi/x5CchIP9qiI/D_TyOrn2CwAJ the API is being added to the staging directory of the `kubernetes/kubernetes` repo because the consumers will be attach/detach controller and possibly kubelet, but it will be installed as a CRD (because we want to move in the direction where the API server is Kubernetes agnostic, and all Kubernetes specific types are installed).

**Release note**:

```release-note
Introduce CSI Cluster Registration mechanism to ease CSI plugin discovery and allow CSI drivers to customize Kubernetes' interaction with them.
```

CC @jsafrane
2018-08-31 16:46:41 -07:00
Kubernetes Submit Queue
d8502e0614
Merge pull request #68130 from k82cn/k8s_68126
Automatic merge from submit-queue (batch tested with PRs 68051, 68130, 67211, 68065, 68117). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Wait for Scheduler cache empty.

Signed-off-by: Klaus Ma <klaus1982.cn@gmail.com>

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

**Release note**:
```release-note
None
```
2018-08-31 15:32:37 -07:00
saad-ali
fdeb895d25 Automatically install CRDs during controller init 2018-08-31 12:25:59 -07:00
Jan Safranek
7d673cb8f0 Pass new CSI API Client and informer to Volume Plugins 2018-08-31 12:25:59 -07:00
Mike Danese
43eaeb8c6c svcacct: pass pod information in user.Info.Extra() when available
Fixes https://github.com/kubernetes/kubernetes/issues/59670
2018-08-31 11:54:50 -07:00
Dr. Stefan Schimanski
f6b0c9359b controller-managers: generalize authn/z test to cloud-controller-manager 2018-08-31 20:52:22 +02:00
Klaus Ma
26142e614c Wait for Scheduler cache empty.
Signed-off-by: Klaus Ma <klaus1982.cn@gmail.com>
2018-08-31 19:42:10 +08:00
Silvery Fu
3e438d7083 Add integration tests for image locality priority 2018-08-31 01:28:18 -07:00
Dr. Stefan Schimanski
8aa0eefce8 kube-controller-manager: disable authn/z on insecure port
This is the old behaviour and we did not intent to change it due to enabled authn/z in general.
As the kube-apiserver this sets the "system:unsecured" user info.
2018-08-30 20:17:29 +02:00
Dr. Stefan Schimanski
e209b643a7 kube-controller-manager: add test server and test serving 2018-08-30 20:16:39 +02:00
lichuqiang
4c43d626f2 related test update 2018-08-29 10:30:16 +08:00
Kubernetes Submit Queue
fdb5707194
Merge pull request #64097 from damemi/hpa-metrics-specificity
Automatic merge from submit-queue (batch tested with PRs 67894, 64097). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

HPA metrics specificity improvements

**What this PR does / why we need it**:
Improves available specificity for HPA metrics by adding metric selector fields for metrics of Pods and Objects. 

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Implements this KEP: https://github.com/kubernetes/community/pull/2055

**Special notes for your reviewer**:
Need to add/update tests?

**Release note**:

```release-note
Introduces autoscaling/v2beta2 and custom_metrics/v1beta2, which implement metric selectors for Object and Pods metrics, as well as allowing AverageValue targets on Objects, similar to External metrics.
```

/assign @DirectXMan12
2018-08-27 13:48:13 -07:00
Kubernetes Submit Queue
d0f42e248c
Merge pull request #67894 from deads2k/server-04-storage
Automatic merge from submit-queue (batch tested with PRs 67894, 64097). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

remove dead protobuf tags from test

The protobuf tags on this object are deceptive.  The test doesn't actually verify proto and in fact requires using json instead.  This makes for weird errors when you try to "fix" it.

/assign @enj 
@kubernetes/sig-api-machinery-pr-reviews 

```release-note
NONE
```
2018-08-27 13:48:10 -07:00
Mike Dame
dd7e81a8cd Add dry run test for hpa v2beta2 2018-08-27 11:37:22 -04:00
Mike Dame
77d7f9cfa2 Generate files and modifications for autoscaling/v2beta2 and custom_metrics/v1beta2 2018-08-27 11:07:53 -04:00
David Eads
a66b438bad remove dead protobuf tags from test 2018-08-27 10:40:47 -04:00
Kubernetes Submit Queue
7b96c818df
Merge pull request #67256 from apelisse/dry-run-integration
Automatic merge from submit-queue (batch tested with PRs 67362, 67256, 67809). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Dry run integration

Implement an integration test for dry-run. Also, this turns on the knob to allow dry-run requests, so let's be careful.

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

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-08-27 07:38:00 -07:00
yue9944882
7f1ef6672c align imports for test 2018-08-27 21:50:30 +08:00
Michael Taufen
1b7d06e025 Kubelet creates and manages node leases
This extends the Kubelet to create and periodically update leases in a
new kube-node-lease namespace. Based on [KEP-0009](https://github.com/kubernetes/community/blob/master/keps/sig-node/0009-node-heartbeat.md),
these leases can be used as a node health signal, and will allow us to
reduce the load caused by over-frequent node status reporting.

- add NodeLease feature gate
- add kube-node-lease system namespace for node leases
- add Kubelet option for lease duration
- add Kubelet-internal lease controller to create and update lease
- add e2e test for NodeLease feature
- modify node authorizer and node restriction admission controller
to allow Kubelets access to corresponding leases
2018-08-26 16:03:36 -07:00
Antoine Pelisse
35f72c5a1d dry-run: Create integration test 2018-08-25 06:03:06 -07:00
Di Xu
7f8a59162b auto-generated 2018-08-24 10:58:09 +08:00
Di Xu
7c68c585f4 use external KubeSchedulerConfiguration 2018-08-24 10:58:09 +08:00
Kubernetes Submit Queue
166a1356e8
Merge pull request #62420 from mikedanese/jose-bump
Automatic merge from submit-queue (batch tested with PRs 67707, 62420). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

svcacct: support jose.OpaqueSigner and push errors to token generator creation

```release-note
NONE
```
2018-08-23 15:39:59 -07:00
Mike Danese
e68f14a249 jwt: support opaque signer and push errors to token generator creation 2018-08-23 12:21:56 -07:00
Kubernetes Submit Queue
c4f355a2ad
Merge pull request #66971 from tnozicka/informer-watcher
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

#50102 Task 2: Add UntilWithSync

**What this PR does / why we need it**:
This is a split off from https://github.com/kubernetes/kubernetes/pull/50102 to go in smaller pieces.

Introduces UntilWithSync based on informer.

**Needs https://github.com/kubernetes/kubernetes/pull/66906 first**
/hold

**Release note**:
```release-note
NONE
```

/priority important-soon
/kind bug
(bug after the main PR which is this split from)
2018-08-23 07:26:25 -07:00
Kubernetes Submit Queue
687553a47a
Merge pull request #67576 from yue9944882/externalize-secret-serviceaccount-informer
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Externalize serviceaacount admission controller

ref: #66680

this pull externalizes serviceaccount admission controller in which secret & serviceaccount informers will be completely replaced.

/sig api-machinery

**Release note**:

```release-note
NONE
```
2018-08-22 19:19:07 -07:00
Hemant Kumar
4b17a48def Implement support for updating volume limits
Create a new predicate to count CSI volumes
2018-08-22 19:36:00 -04:00
yue9944882
17306b540b externalize serviceaacount admission controller
remove unused internal serviceaccount util
2018-08-22 11:41:54 +08:00
Kubernetes Submit Queue
f077d6736b
Merge pull request #67658 from soltysh/staging_cli_runtime
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Create cli-runtime staging repository

**What this PR does / why we need it**:
This PR creates a designated repository for CLI helpers, which are used for:
- kubectl itself
- kubectl plugins
- commands that want to mimic kubectl behavior

/assign @deads2k @juanvallejo 
@seans3 @pwittrock fyi

**Release note**:
```release-note
Create cli-runtime staging repository
```
2018-08-21 16:20:55 -07:00
Kubernetes Submit Queue
c94ececccc
Merge pull request #67672 from dims/add-labels-to-owners-files
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add Labels to various OWNERS files

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

Will reduce the burden of manually adding labels. Information pulled
from:
https://github.com/kubernetes/community/blob/master/sigs.yaml

Change-Id: I17e661e37719f0bccf63e41347b628269cef7c8b

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-08-21 14:37:21 -07:00
Kubernetes Submit Queue
138fdc3d77
Merge pull request #67497 from yue9944882/refactor/externalize-node-informer-clientset
Automatic merge from submit-queue (batch tested with PRs 67661, 67497, 66523, 67622, 67632). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Externalize node informers for node authz

the pull will completely externalize node authz together with #67194

ref: #66680

**Release note**:

```release-note
NONE
```
2018-08-21 13:00:01 -07:00
Davanum Srinivas
9b43d97cd4
Add Labels to various OWNERS files
Will reduce the burden of manually adding labels. Information pulled
from:
https://github.com/kubernetes/community/blob/master/sigs.yaml

Change-Id: I17e661e37719f0bccf63e41347b628269cef7c8b
2018-08-21 13:59:08 -04:00
yue9944882
f624a4efb8 externalize node admission
fixes internal pod annotation reference

completely strip internal informers from authz initialization
2018-08-21 23:33:03 +08:00
Maciej Szulik
5b55e1f8ed
Create cli-runtime staging repository 2018-08-21 17:08:30 +02:00
Jordan Liggitt
ecbd013795
limit forbidden error to details of what was forbidden 2018-08-20 16:40:29 -04:00
Kubernetes Submit Queue
8c1bfeb0cf
Merge pull request #66733 from bsalamat/subset_nodes
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add a feature to the scheduler to score fewer than all nodes in every scheduling cycle

**What this PR does / why we need it**:
Today, the scheduler scores all the nodes in the cluster in every scheduling cycle (every time a posd is attempted). This feature implements a mechanism in the scheduler that allows scoring fewer than all nodes in the cluster. The scheduler stops searching for more nodes once the configured number of feasible nodes are found. This can help improve the scheduler's performance in large clusters (several hundred nodes and larger).
This PR also adds a new structure to the scheduler's cache, called NodeTree, that allows scheduler to iterate over various nodes in different zones in a cluster. This is needed to avoid scoring the same set of nodes in every scheduling cycle.

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

**Special notes for your reviewer**:
This is a large PR, but broken into a few logical commits. Reviewing would be easier if you review by commits.

**Release note**:

```release-note
Add a feature to the scheduler to score fewer than all nodes in every scheduling cycle. This can improve performance of the scheduler in large clusters.
```
2018-08-17 17:21:32 -07:00
Bobby (Babak) Salamat
2860743c86 Autogenerated files 2018-08-17 11:18:52 -07:00
Bobby (Babak) Salamat
abb70aee98 Add a scheduler config argument to set the percentage of nodes to score 2018-08-17 11:18:51 -07:00
Kubernetes Submit Queue
80b73d70a8
Merge pull request #66963 from Lion-Wei/integration
Automatic merge from submit-queue (batch tested with PRs 66920, 67316, 67363, 67528, 66963). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

integration test run PreShutdownHooks before close.

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

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

**Special notes for your reviewer**:
Run `PreShutdownHooks` before close master.

**Release note**:
```release-note
NONE
```
2018-08-17 10:37:20 -07:00
Dr. Stefan Schimanski
e8300dea52 pkg/util/metrics: idem-potent registration of RateLimiterMetric and never cleanup 2018-08-17 09:15:33 +02:00
Mike Danese
45cfde8580 test/integration: use correct import path 2018-08-15 18:49:03 -04:00
Kubernetes Submit Queue
c1f7df2b0e
Merge pull request #65309 from tnozicka/add-ds-recreate-backoff
Automatic merge from submit-queue (batch tested with PRs 62441, 66702, 67254, 67421, 65309). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add backoff for DS's pod deletion to limit fighting with kubelet failing the pod repeatedly

**What this PR does / why we need it**:
Limits consequences of DS controller on hot loop fighting with kubelet.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes https://github.com/kubernetes/kubernetes/issues/65240

**Release note**:
```release-note
DaemonSet controller is now using backoff algorithm to avoid hot loops fighting with kubelet on pod recreation when a particular DaemonSet is misconfigured.
```

TODO:
 - [x] Export the backoff settings as args or constants
 - [x] Add test a case

/cc @mfojtik 
(Will add more folks when it's ready, to avoid spamming them.)
2018-08-15 15:30:27 -07:00
Tomas Nozicka
b0b1629e8d Update Bazel 2018-08-15 16:03:42 +02:00
Tomas Nozicka
63656da296 Add backoff for DS's pod deletion to limit fighting with kubelet failing the pod repeatedly 2018-08-15 16:03:39 +02:00
Tomas Nozicka
dc2cfd5d20 Update Bazel 2018-08-15 13:34:31 +02:00
Tomas Nozicka
866cc1acab Add UntilWithSync (informer based) 2018-08-15 13:34:31 +02:00
Kubernetes Submit Queue
330cf37e0a
Merge pull request #67325 from nilebox/discovery-test-wait
Automatic merge from submit-queue (batch tested with PRs 67294, 67320, 67335, 67334, 67325). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add wait to discovery integration test to fix flakiness

**What this PR does / why we need it**:
Reduce the flakiness of the discovery test that was introduced in #66932  (see cherry-pick PR #67154 for report on flaky failure and suggestions).

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-08-15 00:07:21 -07:00
Kubernetes Submit Queue
b6f0aed056
Merge pull request #66906 from tnozicka/rename-until
Automatic merge from submit-queue (batch tested with PRs 67071, 66906, 66722, 67276, 67039). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

#50102 Task 1: Move apimachinery/pkg/watch.Until into client-go/tools/watch.UntilWithoutRetry

**What this PR does / why we need it**:
This is a split off from https://github.com/kubernetes/kubernetes/pull/50102 to go in smaller pieces.

Moves `apimachinery/pkg/watch.Until` into `client-go/tools/watch.UntilWithoutRetry` and adds context so it is cancelable.

**Release note**:
```release-note
NONE
```

**Dev release note**:
```dev-release-note
`apimachinery/pkg/watch.Until` has been moved to `client-go/tools/watch.UntilWithoutRetry`.
While switching please consider using the new `client-go/tools/watch.UntilWithSync` or `client-go/tools/watch.Until`.
```

/cc @smarterclayton @kubernetes/sig-api-machinery-pr-reviews 
/milestone v1.12
/priority important-soon
/kind bug
(bug after the main PR which is this split from)
2018-08-14 22:43:19 -07:00
Kubernetes Submit Queue
1f86c1cf26
Merge pull request #61212 from charrywanganthony/duplicated_import
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

remove duplicated import

**Release note**:

```release-note
NONE
```
2018-08-14 20:18:00 -07:00
Kubernetes Submit Queue
3956bba384
Merge pull request #67315 from mortent/FixFlakeDaemonsetTest
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Fix flakiness in daemonset TestLaunchWithHashCollisiion

**What this PR does / why we need it**: Addresses flakiness in test/integration/daemonset TestLaunchWithHashCollision. It makes sure the test waits for the pod to be added to the daemonset before updating the daemonset. The should avoid the race where the daemonset gets updated in between the calls to get and update in the test.

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

**Special notes for your reviewer**:
@janetkuo 

**Release note**:

```release-note
NONE
```
2018-08-14 15:06:19 -07:00
Kubernetes Submit Queue
cd786bda64
Merge pull request #66863 from cofyc/fix64549
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

attachdetach controller: attach volumes immediately when Pod's PVCs are bound

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

Let attachdetach controller to attach volumes immediately when Pod's PVCs are bound.

Current attachdetach controller calls `util.ProcessPodVolume` to add pod volumes into `desiredStateOfWorld` on these events:

- podAdd event
- podUpdate event
- podDelete event
- periodical `desiredStateOfWorldPopulator.findAndAddActivePod`

But if a pod is created with PVCs not bound, no volumes will be added into `desiredStateOfWorld` [because PVCs not bound](https://github.com/kubernetes/kubernetes/blob/v1.12.0-alpha.0/pkg/controller/volume/attachdetach/util/util.go#L99). When pv controller binds PVCs successfully, attachdetach controller will not add pod volumes immediately because it does not watch on PVC events.

It will wait until a pod update event is triggered (normally will not happen because no new status will be reported by kubelet) or `desiredStateOfWorldPopulator.findAndAddActivePod` is called (maybe 0~3 minutes later, see [timer configs](https://github.com/kubernetes/kubernetes/blob/v1.12.0-alpha.0/pkg/controller/volume/attachdetach/attach_detach_controller.go)).

In bad case, pod start time will be very long (~3 minutes + ~2 minutes (kubelet max exponential backoff)), for example: https://github.com/kubernetes/kubernetes/issues/64549#issuecomment-409440546.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
attachdetach controller attaches volumes immediately when Pod's PVCs are bound
```
2018-08-14 13:46:35 -07:00
Morten Torkildsen
d6ffcae31d Fix flakiness in daemonset TestLaunchWithHashCollisiion 2018-08-13 13:54:51 -07:00
Yecheng Fu
17ab4c36ce attachdetach controller: attach volumes immediately when Pod's PVCs are bound
- Add integration test for this feature
2018-08-14 01:03:21 +08:00
Nail Islamov
38895a56a8
Add wait to discovery integration test to fix flakiness 2018-08-14 01:03:03 +10:00
Kubernetes Submit Queue
6274590518
Merge pull request #66656 from wackxu/fixappversion
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

 use apps/v1 version for scheduler

/kind cleanup

**Release note**:

```release-note
NONE
```
2018-08-11 23:25:33 -07:00
Kubernetes Submit Queue
1f55bbbe6a
Merge pull request #67247 from cofyc/fix67246
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add integration test for scheduler "on PVC add" event handling

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

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-08-11 03:36:52 -07:00
tanshanshan
98880edbf3 add ns for pod in integration test 2018-08-11 11:53:14 +08:00
Yecheng Fu
253dea88b6 Add integration test for scheduler "on PVC add" event handling 2018-08-10 17:53:56 +08:00
Tomas Nozicka
4d7747a5a3 Update Bazel 2018-08-10 09:55:41 +02:00
Tomas Nozicka
3d4a02abb5 Rename Until to UntilWithoutRetry and move to using context so it's
cancelable
2018-08-10 09:55:41 +02:00
Wei Huang
deb6d85470
ensure ScheduleDSPods respects tainted nodes
- add PodToleratesNodeTaints to nodeSelectionPredicates()
- add integration testcases
2018-08-09 18:01:51 -07:00
Kubernetes Submit Queue
e26f5d19d4
Merge pull request #66476 from mortent/IntegrationTestForDaemonSetHashCollision
Automatic merge from submit-queue (batch tested with PRs 67090, 67159, 66866, 62111, 66476). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Fix to handle hash collisions correctly for DaemonSets

**What this PR does / why we need it**: This adds an integration test for the case where there is a hash collision when creating a ControllerRevision for a DaemonSet. It also fixes a shadowed variable that prevented this functionality from working as intended.

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

**Special notes for your reviewer**:
/sig apps

**Release note**:

```release-note
Fixes issue when updating a DaemonSet causes a hash collision.
```
2018-08-09 16:30:58 -07:00
Kubernetes Submit Queue
44d6de79e7
Merge pull request #67116 from yue9944882/refactor/node-admission-controller-externalize
Automatic merge from submit-queue (batch tested with PRs 65297, 67179, 67116, 67011, 66842). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Externalize node admission controller

**Release note**:

```release-note
NONE
```



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

/sig api-machinery

under unbrella: #66680

We start with injecting external informer/lister into node admission controller for that it's slightly simpler than the others.

Here is the thing I actually did in this pull:

1. Enable plugin initializer to inject external/internal clientset/informers into the admission controllers.
2. Receive external informer in node admission controller.
3. Create a `AdmissionConfig` following how we did in `AuthenticationConfig` and `AuthorizationConfig` and creates the actual plugin initializers and the admission post-start hook in its `New()` method
2018-08-09 08:39:31 -07:00
yue9944882
bc1fb1f7e8 node authz/ad externalization 2018-08-09 10:57:30 +08:00
Morten Torkildsen
a93ea43e15 Fix to handle hash collisions correctly for DaemonSet 2018-08-08 13:43:43 -07:00
Kubernetes Submit Queue
28d649c2f5
Merge pull request #66932 from nilebox/discovery-include-unavailable
Automatic merge from submit-queue (batch tested with PRs 66394, 66888, 66932). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Include unavailable apiservices in discovery response

**What this PR does / why we need it**:
Include unavailable apiservices into `apis/` discovery endpoint response to fix namespace deletion https://github.com/kubernetes-incubator/service-catalog/issues/2254

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes https://github.com/kubernetes-incubator/service-catalog/issues/2254

**Special notes for your reviewer**:

**Release note**:


```release-note
kube-apiserver now includes all registered API groups in discovery, including registered extension API group/versions for unavailable extension API servers.
```
2018-08-08 07:00:14 -07:00
Kubernetes Submit Queue
15c2dd906e
Merge pull request #66888 from yue9944882/refactor/promote-informers-into-master-cfg
Automatic merge from submit-queue (batch tested with PRs 66394, 66888, 66932). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Promote internal/external informers into master.Config

**Release note**:

```release-note
NONE
```
xref #66386

Shorten `BuildGenericConfig`'s return list. 
Put the internal and external informers into master.Config. Previous art:


[60614d5cdc/staging/src/k8s.io/apiserver/pkg/server/config.go (L196))
2018-08-08 07:00:08 -07:00
Kubernetes Submit Queue
6800f9e144
Merge pull request #66653 from hzxuzhonghu/dynamic-watch
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

add watch integration test for dynamic client

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

Add watch to dynamic client integration test


**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-08-08 05:12:11 -07:00
Kubernetes Submit Queue
28b2b21287
Merge pull request #65891 from CaoShuFeng/audit_v1_stable
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

upgrade Audit api version to stable

Partial Fix: https://github.com/kubernetes/kubernetes/issues/65266

TODO:
    use v1 version of advanced audit policy in [kubeadm](86b9a53226/cmd/kubeadm/app/util/audit/utils.go (L29)), [gce script](86b9a53226/cluster/gce/gci/configure-helper.sh (L743)), [kubemark](86b9a53226/test/kubemark/resources/start-kubemark-master.sh (L349))



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

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

**Special notes for your reviewer**:

**Release note**:

```release-note
audit.k8s.io api group is upgraded from v1beta1 to v1.
Deprecated element metav1.ObjectMeta and Timestamp are removed from audit Events in v1 version.
Default value of option --audit-webhook-version and --audit-log-version will be changed from `audit.k8s.io/v1beta1` to `audit.k8s.io/v1` in release 1.13
```
2018-08-08 02:17:24 -07:00
Nail Islamov
d4690f4aec
Include unavailable API services in discovery response 2018-08-08 07:26:27 +03:00
yue9944882
6bac6fafa0 promote informers into master.Config
review:

1. move informers into master extra config
2. move one post start hook into New()

fixes npe from master integration test
2018-08-08 09:35:45 +08:00
Davanum Srinivas
6cd8bd62fe
e2e test harness - use busybox from dockerhub
Use the same pattern everywhere in the e2e test
harness, use busybox (from dockerhub) instead
of using the one from k8s.gcr.io registry.

Change-Id: I57c3b867408c1f9478a8909c26744ea0368ff003
2018-08-07 11:22:16 -04:00
Lion-Wei
e0285f4a67 fix integration test cleanup 2018-08-03 18:33:38 +08:00
Antoine Pelisse
71970d6475 dry-run: Update DynamicClient to pass Create/Update options 2018-08-02 10:38:31 -07:00
David Eads
2eb1083b9b update etcd storage test to use a complete apiserver will all servers aggregated 2018-08-02 08:45:07 -04:00
David Eads
3da02fb09b switch etcstorage to use dynamic client 2018-08-02 08:45:07 -04:00
David Eads
29f68813d3 use table driven tests to reduce nesting in etcdstorage test 2018-08-02 08:45:07 -04:00
David Eads
1a4a2ab430 update etcdstorage test to use discovery, not scheme 2018-08-02 08:45:07 -04:00
Chao Wang
39a4730db6 remove duplicated import 2018-08-01 13:27:42 +08:00
Kubernetes Submit Queue
f4d8220df5
Merge pull request #65616 from cofyc/fix56163
Automatic merge from submit-queue (batch tested with PRs 65570, 65616). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Retry scheduling on StorageClass events

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

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

**Special notes for your reviewer**:

I have taken over #60006.
It's hard to test in e2e, because we cannot know reschedule of pod is triggered by which event (periodically service/node events will move pods to active queue too). ~~I'll add integration tests for this functionality after [this PR](https://github.com/kubernetes/kubernetes/pull/65296) get merged.~~ (already added)

**Release note**:

```release-note
NONE
```
2018-07-31 19:18:00 -07:00
Cao Shufeng
858e4508c4 add an integration test for advanced audit feature 2018-07-31 11:10:51 +08:00
Kubernetes Submit Queue
2bee858a7b
Merge pull request #66284 from stewart-yu/stewart-sharedtype-move
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Move the` k8s.io/kubernetes/pkg/util/pointer` package to` k8s.io/utils/pointer`

**What this PR does / why we need it**:
Move `k8s.io/kubernetes/pkg/util/pointer` to  `shared utils` directory, so that we can use it  easily.
Close #66010 accidentally, and can't reopen it, so the same as #66010 

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-07-30 19:50:36 -07:00
xuzhonghu
b7f645a5ef replace framework.RunAMaster with kubeapiservertesting.StartTestServer 2018-07-28 10:33:39 +08:00
Weibin Lin
08fced46f3 fix a duplicate case in TestUpdateNodeObjects 2018-07-28 09:47:10 +08:00
stewart-yu
f1343af5d7 auto-generated file 2018-07-28 07:54:17 +08:00
Kubernetes Submit Queue
630c780f37
Merge pull request #66333 from hzxuzhonghu/audit
Automatic merge from submit-queue (batch tested with PRs 66333, 65542). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add String method to audit.Backend interface

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

Add `String()` method to `audit.Backend` interface.  Should enforce backend to implement this method.
Because https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apiserver/pkg/audit/union.go#L65

We encountered this issue when we upgrade recently and we implemented our private backend.

**Release note**:

```release-note
NONE
```
2018-07-27 07:24:02 -07:00
stewart-yu
55251c716a update the import file for move util/pointer to k8s.io/utils 2018-07-27 19:47:02 +08:00
xushiwei 00425595
fed8572745 use apps/v1 version for scheduler 2018-07-26 17:37:29 +08:00
xuzhonghu
b4a73d50c0 add watch integration test for dynamic client 2018-07-26 16:17:38 +08:00
Kubernetes Submit Queue
f1b66116c2
Merge pull request #66315 from Huang-Wei/62109-integration-test
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

test(scheduler): add more integration tests for TaintNodesByCondition

- refactor test cases to table driven testing style
- more scenarios are covered for TaintNodesByCondition

part of #62109



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

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-07-25 18:54:23 -07:00
Wei Huang
243c7ff11b test(scheduler): add more integration tests for TaintNodesByCondition
- refactor test cases to table driven testing style
- more scenarios are covered for TaintNodesByCondition
- update bazel stuff
2018-07-25 16:09:02 -07:00
Lion-Wei
534aed7ea7
Update ttlcontroller_test.go 2018-07-25 11:30:04 +08:00
Yecheng Fu
c868b5bc88 Test rescheduling on various events.
- Add resyncPeriod parameter for setupCluster to make resync period of
scheduler configurable.
- Add test case for static provisioning and delay binding storage class.
Move pods into active queue on PV add/update events.
- Add a stress test with scheduler resync to detect possible race
conditions.
2018-07-20 09:54:46 +08:00
xuzhonghu
416a478cf6 Add String method to audit.Backend interface 2018-07-18 17:55:01 +08:00
Kubernetes Submit Queue
86b53ff74d
Merge pull request #66193 from tianshapjq/testcase-erase-useless-func-replicaset_test.go
Automatic merge from submit-queue (batch tested with PRs 66212, 66256, 66263, 66193). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

remove the unused verifyRemainingObjects function

**What this PR does / why we need it**:
erase useless function when reading code

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

**Special notes for your reviewer**:

**Release note**:

```release-note
none
```
2018-07-17 03:33:15 -07:00
Kubernetes Submit Queue
0e1eec5eed
Merge pull request #64559 from AdamDang/patch-10
Automatic merge from submit-queue (batch tested with PRs 63877, 64559, 65952). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Typo fix in returned message: formating->formatting

Line 98: formating->formatting
2018-07-16 17:00:06 -07:00
tianshapjq
fb3a6dc49f remove the unused verifyRemainingObjects function 2018-07-16 15:15:56 +08:00
Kubernetes Submit Queue
0200dd08b0
Merge pull request #66094 from janetkuo/hash-safe-encode
Automatic merge from submit-queue (batch tested with PRs 66094, 65676). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Safe encode template hash value to make it consistent with resource name

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

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

**Special notes for your reviewer**: It's safe to change the function that generates template hash label, because this value is only used when creating a resource and never updated or compared. Therefore, it won't break existing workloads after k8s upgrade/downgrade. Note that we've changed hash before when introducing hash collision avoidance mechanism. 
@kubernetes/sig-apps-pr-reviews 

**Release note**:

```release-note
NONE
```
2018-07-13 16:04:00 -07:00
Janet Kuo
666a41c2ea Safe encode template hash value to make it consistent with resource name 2018-07-13 09:52:26 -07:00
Antoine Pelisse
03b1e14101 dry-run: Create new options for Update/Create and pass it along 2018-07-12 07:18:37 -07:00
Kubernetes Submit Queue
f6bbf1f6f8
Merge pull request #65830 from sttts/sttts-apiserver-readwrite-port
Automatic merge from submit-queue (batch tested with PRs 65830, 65780, 65961). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

apiserver: get rid of ReadWritePort in config

Executing removal TODO by making the read write port logic explicit, and not hidden deep in the secure serving code.

Preparation for https://github.com/kubernetes/kubernetes/pull/65832
2018-07-09 09:35:02 -07:00
Dr. Stefan Schimanski
6bb3aba23d kube-apiserver: fix tests which don't use tls yet 2018-07-09 15:01:18 +02:00
David Eads
340802b079 name runtime.Schemes so we can see which one fails 2018-07-06 14:08:14 -04:00
Dr. Stefan Schimanski
42f1e81488 apiextensions-apiserver: add pkg/cmd/server/testing pkg for integration bootstrapping
In analogy to kube-apiserver.
2018-07-05 17:34:16 +02:00
Kubernetes Submit Queue
0e6d3f2abe
Merge pull request #65150 from jennybuckley/create-on-update-authorizer
Automatic merge from submit-queue (batch tested with PRs 65677, 65711, 65150, 65726). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

 Add additional authorization check for create-on-update

**What this PR does / why we need it**:
Currently it is possible for a user who is only authorized to update objects to send a PUT request for an object that doesn't currently exist, and if that resource allows create on update, it will all them to create the object. This PR fixes that bug and adds a test case which fails on master, but succeeds when the additional authorization check is done.

/sig api-machinery
/kind bug
/cc @liggitt @lavalamp 

**Release note**:
```release-note
LimitRange and Endpoints resources can be created via an update API call if the object does not already exist. When this occurs, an authorization check is now made to ensure the user making the API call is authorized to create the object. In previous releases, only an update authorization check was performed.
```
2018-07-03 16:35:11 -07:00
jennybuckley
cc5c17e554 Add additional authorization check for create-on-update 2018-07-03 11:20:16 -07:00
Kubernetes Submit Queue
75c8b56dcb
Merge pull request #64575 from immutableT/in-memory-domain-socket
Automatic merge from submit-queue (batch tested with PRs 64575, 65120, 65463, 65434, 65522). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add support for Linux Abstract Socket Namespace for KMS provider plugin.

**What this PR does / why we need it**:
Currently, kube-apiserver and kms-plugin interact via a Unix Domain Socket. The current implementation, assumes that such a Domain Socket is supported via a socket file, which is in turn is supported via a volume shared between kube-apiserver and kms-plugin containers.
However, Linux supports Abstract Socket Namespace, where a socket does not need to be back-up by a file. In golang, such sockets are created by prefixing a socket's name with @.

Benefits of using Linux Abstract Socket Namespace:
1. Don't need to worry about possible collisions with existing files.
2. Simpler configuration of master's manifest - no need to setup a shared volume between kube-apiserver and kms-plugin containers.
3. Don't need to remember to unlink the socket when KMS Plugin shuts down.
4. Creates a possibility to run KMS Plugin without access to file system.

This PR adds the ability to define a KMS endpoint as: unix:///@kms-provider.sock

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-06-28 02:20:09 -07:00
Kubernetes Submit Queue
6d3bba7391
Merge pull request #64246 from wojtek-t/lease_object_type
Automatic merge from submit-queue (batch tested with PRs 64246, 65489, 65443). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Create "Lease" API in the new "coordination.k8s.io" api group

Part of "Efficient Node heartbeats" KEP:
https://github.com/kubernetes/community/blob/master/keps/0009-node-heartbeat.md

Part of: https://github.com/kubernetes/kubernetes/issues/14733

```release-note
NONE
```
2018-06-27 08:17:10 -07:00
wojtekt
c79b54db9f Enable coordination api group 2018-06-27 13:30:13 +02:00
Kubernetes Submit Queue
2da49321e6
Merge pull request #63653 from WanLinghao/token_expiry_limit
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add limit to the TokenRequest expiration time

**What this PR does / why we need it**:
A new API TokenRequest has been implemented.It improves current serviceaccount model from many ways.
This patch adds limit to TokenRequest expiration time.


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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-06-27 00:31:08 -07:00
immutablet
0100891168 Add support for linux abstract socket namespace. 2018-06-25 09:41:14 -07:00
Kubernetes Submit Queue
75339d33cf
Merge pull request #64936 from wgliang/master.scheduler_perf_test
Automatic merge from submit-queue (batch tested with PRs 64122, 64936, 65288, 65383). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

fix integer divide by zero panic

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

fix integer divide by zero panic when time.Since(start) < 1s

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-06-22 19:03:16 -07:00
Jeff Grafton
23ceebac22 Run hack/update-bazel.sh 2018-06-22 16:22:57 -07:00
Jeff Grafton
a725660640 Update to gazelle 0.12.0 and run hack/update-bazel.sh 2018-06-22 16:22:18 -07:00
Kubernetes Submit Queue
06ea14a5d6
Merge pull request #63471 from ceshihao/taint_behavior_consistent
Automatic merge from submit-queue (batch tested with PRs 65032, 63471, 64104, 64672, 64427). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Make taint behavior consistent for NoSchedule

**What this PR does / why we need it**:
Make taint behavior consistent.
If `TaintNodesByCondition ` is enable, taint node with `NotReady:NoSchedule`.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
None
```
2018-06-20 04:23:13 -07:00
WanLinghao
f16470c3f1 This patch adds limit to the TokenRequest expiration time. It constrains a TokenRequest's expiration time to avoid extreme value which could harm the cluster. 2018-06-14 09:31:50 +08:00
Guoliang Wang
2417f95308 fix integer divide by zero panic 2018-06-09 09:26:19 +08:00
lichuqiang
bccc8fe979 Provision interface change 2018-06-05 16:35:16 +08:00
Kubernetes Submit Queue
d373eaa4f3
Merge pull request #63724 from ravisantoshgudimetla/priority-e2e-beta
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Modify e2e tests to use priorityClass beta client version & switch priorityClass to beta

**What this PR does / why we need it**:
/cc @bsalamat @aveshagarwal @liggitt 

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

**Special notes for your reviewer**:
Once #57963 merges, this could go in.

**Release note**:

```release-note
Modify e2e tests to use priorityClass beta version & switch priorityClass feature to beta
```
2018-06-04 23:07:34 -07:00
Kubernetes Submit Queue
6466794b77
Merge pull request #64481 from immutableT/transormer-metrics-2
Automatic merge from submit-queue (batch tested with PRs 64481, 64569). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Instrument envelop transformer.

**What this PR does / why we need it**:
Add metrics for envelope transformer: 
   transformation_operation_count
   transformation_failures_count
   envelope_transformation_cache_misses_count
   data_key_generation_latencies_microseconds
   data_key_generation_failures_count

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-06-03 13:13:03 -07:00
Kubernetes Submit Queue
a0a4cc73db
Merge pull request #63223 from k82cn/kep548_working
Automatic merge from submit-queue (batch tested with PRs 64057, 63223, 64346, 64562, 64408). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Schedule DaemonSet Pods in scheduler.

Signed-off-by: Da K. Ma <klaus1982.cn@gmail.com>

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

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

**Special notes for your reviewer**:

**Release note**:

```release-note
`ScheduleDaemonSetPods` is an alpha feature (since v1.11) that causes DaemonSet Pods
to be scheduler by default scheduler, instead of Daemonset controller. When it is enabled,
the `NodeAffinity` term (instead of `.spec.nodeName`) is added to the DaemonSet Pods;
this enables the default scheduler to bind the Pod to the target host. If node affinity
of DaemonSet Pod already exists, it will be replaced.

DaemonSet controller will only perform these operations when creating DaemonSet Pods;
and those operations will only modify the Pods of DaemonSet, no changes are made to the
`.spec.template` of DaemonSet.
```
2018-06-02 02:10:08 -07:00
Da K. Ma
9fd848e5ec Updated integration test. 2018-06-02 08:39:28 +08:00
immutablet
695c3e32ad Add metrics for envelop transformer:
transformation_operation_count
    transformation_failures_count
    envelope_transformation_cache_misses_count
    data_key_generation_latencies_microseconds
    data_key_generation_failures_count
2018-06-01 23:00:08 +00:00
Kubernetes Submit Queue
5710943612
Merge pull request #63839 from wgliang/master.movepkg
Automatic merge from submit-queue (batch tested with PRs 63348, 63839, 63143, 64447, 64567). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Move pkg/scheduler/schedulercache -> pkg/scheduler/cache

**What this PR does / why we need it**:
Move pkg/scheduler/schedulercache -> pkg/scheduler/cache

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

**Special notes for your reviewer**:

In order to prevent name conflicts still rename the `cache` to `schedulercache`.

**Release note**:

```release-note
NONE
```
2018-06-01 12:12:15 -07:00
AdamDang
0bc1aee1d4
Typo fix in returned message: formating->formatting
formating->formatting
2018-05-31 23:10:59 +08:00
Guoliang Wang
761cf41427 Move pkg/scheduler/schedulercache -> pkg/scheduler/cache 2018-05-31 22:55:34 +08:00
Mike Danese
dc9e3f1b3e svcacct: validate min and max expiration seconds on TokenRequest 2018-05-30 17:32:49 -07:00
Kubernetes Submit Queue
deb632e727
Merge pull request #64204 from sttts/sttts-unify-NewNoxuInstance
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

apiextensions: unify mono- and multi-versioned test helpers

The mono-versioned helpers are a special case of the multi-versioned ones.

Fixes part of https://github.com/kubernetes/kubernetes/issues/64136.
2018-05-25 04:49:37 -07:00
Kubernetes Submit Queue
413ca86deb
Merge pull request #64060 from resouer/fix-knob
Automatic merge from submit-queue (batch tested with PRs 64060, 63904, 64218, 64208, 64247). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Remove knob of equiv class in perf test

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

The ecache knob is controlled by feature gate now:
```go

// createSchedulerConfigurator create a configurator for scheduler with given informer factory and default name.
func createSchedulerConfigurator(
	clientSet clientset.Interface,
	informerFactory informers.SharedInformerFactory,
) scheduler.Configurator {
	// Enable EnableEquivalenceClassCache for all integration tests.
	utilfeature.DefaultFeatureGate.Set("EnableEquivalenceClassCache=true")
```
We don't need to pass a flag (and it is not used).

**Release note**:

```release-note
NONE
```
2018-05-24 17:01:11 -07:00
Kubernetes Submit Queue
fa354b3f68
Merge pull request #64174 from liggitt/correct-openapi-extensions
Automatic merge from submit-queue (batch tested with PRs 64174, 64187, 64216, 63265, 64223). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Correctly identify types served in the kube-apiserver openapi doc

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

Split out from https://github.com/kubernetes/kubernetes/pull/63893

```release-note
The kube-apiserver openapi doc now includes extensions identifying APIService and CustomResourceDefinition kinds
```
2018-05-24 09:41:09 -07:00
Kubernetes Submit Queue
5fe35cdbf9
Merge pull request #61419 from enisoc/apps-v1-deploy
Automatic merge from submit-queue (batch tested with PRs 62756, 63862, 61419, 64015, 64063). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Use apps/v1 Deployment/ReplicaSet in controller and kubectl

This updates the Deployment controller and integration/e2e tests to use apps/v1, as part of #55714.

This also requires updating any other components that use the `deployment/util` package, most notably `kubectl`. That means client versions 1.11 and above will only work with server versions 1.9 and above. This is well within our client-server version skew policy of +/-1 minor version.

However, this PR *only* updates the parts of `kubectl` that used `deployment/util`. So although kubectl now requires apps/v1, it still also depends on extensions/v1beta1. Migrating other parts of kubectl to apps/v1 is beyond the scope of this PR, which was just to change the Deployment controller and fix all the fallout.

```release-note
kubectl: This client version requires the `apps/v1` APIs, so it will not work against a cluster version older than v1.9.0. Note that kubectl only guarantees compatibility with clusters that are +/-1 minor version away.
```
2018-05-23 18:14:13 -07:00
Dr. Stefan Schimanski
818147d6fb apiextensions: make CreateNewCustomResourceDefinition return created CRD 2018-05-23 21:41:55 +02:00
Jordan Liggitt
43551e8208
Correctly identify types served in the kube-apiserver openapi doc 2018-05-22 20:57:18 -04:00
Kubernetes Submit Queue
b5cd7d81bd
Merge pull request #62933 from bsalamat/fix_pdb
Automatic merge from submit-queue (batch tested with PRs 63914, 63887, 64116, 64026, 62933). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Fix preemption tests that use PDB

**What this PR does / why we need it**:
Scheduler integration tests that test preemption in presence of PDB had an issue causing PDB status not getting updated. This PR fixes the issue.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

/sig scheduling

xref/ #57057
2018-05-22 17:36:22 -07:00
Anthony Yeh
680bc4b4b5
test/integration: Use apps/v1 Deployment/ReplicaSet.
This must be done at the same time as the controller update,
since they share code.
2018-05-22 13:43:07 -07:00
Kubernetes Submit Queue
2ff0bc2b8a
Merge pull request #63967 from deads2k/rbac-06-external
Automatic merge from submit-queue (batch tested with PRs 62025, 63851, 64077, 63967, 63991). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

switch rbac to external

The overall trajectory of the project is towards external types.  Having all helpers agree on the version they operate on makes life much easier.  We've already written one RBAC controller (role aggregation) and more may follow.  `v1` has been around for a while now and we know that any future changes have to reliably roundtrip through it.  This pull switches all the core helpers over to use the external types.

@kubernetes/sig-auth-pr-reviews 

```release-note
`kubectl auth reconcile` only works with rbac.v1
```
2018-05-22 08:40:26 -07:00
David Eads
092714ea0f switch rbac to external 2018-05-22 08:17:05 -04:00
Kubernetes Submit Queue
2a989c60ff
Merge pull request #63221 from mtaufen/dkcfg-live-configmap
Automatic merge from submit-queue (batch tested with PRs 63881, 64046, 63409, 63402, 63221). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Kubelet responds to ConfigMap mutations for dynamic Kubelet config

This PR makes dynamic Kubelet config easier to reason about by leaving less room for silent skew scenarios. The new behavior is as follows:
- ConfigMap does not exist: Kubelet reports error status due to missing source
- ConfigMap is created: Kubelet starts using it
- ConfigMap is updated: Kubelet respects the update (but we discourage this pattern, in favor of incrementally migrating to a new ConfigMap)
- ConfigMap is deleted: Kubelet keeps using the config (non-disruptive), but reports error status due to missing source
- ConfigMap is recreated: Kubelet respects any updates (but, again, we discourage this pattern)

This PR also makes a small change to the config checkpoint file tree structure, because ResourceVersion is now taken into account when saving checkpoints. The new structure is as follows:
```
- dir named by --dynamic-config-dir (root for managing dynamic config)
| - meta
  | - assigned (encoded kubeletconfig/v1beta1.SerializedNodeConfigSource object, indicating the assigned config)
  | - last-known-good (encoded kubeletconfig/v1beta1.SerializedNodeConfigSource object, indicating the last-known-good config)
| - checkpoints
  | - uid1 (dir for versions of object identified by uid1)
    | - resourceVersion1 (dir for unpacked files from resourceVersion1)
    | - ...
  | - ...
```


fixes: #61643

```release-note
The dynamic Kubelet config feature will now update config in the event of a ConfigMap mutation, which reduces the chance for silent config skew. Only name, namespace, and kubeletConfigKey may now be set in Node.Spec.ConfigSource.ConfigMap. The least disruptive pattern for config management is still to create a new ConfigMap and incrementally roll out a new Node.Spec.ConfigSource.
```
2018-05-21 17:05:42 -07:00
Michael Taufen
b5648c3f61 dynamic Kubelet config reconciles ConfigMap updates 2018-05-21 09:03:58 -07:00
Kubernetes Submit Queue
680e00a656
Merge pull request #63692 from msau42/debug-scheduler
Automatic merge from submit-queue (batch tested with PRs 60012, 63692, 63977, 63960, 64008). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Only override objects from informer when version has increased.

**What this PR does / why we need it**:
We don't want an informer resync to override assumed volumes if the version has not increased.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-05-18 23:35:17 -07:00
Harry Zhang
923fb8ed39 remove knob of equiv class in perf test 2018-05-18 17:17:03 -07:00
Michelle Au
2142737276 Only override objects from informer when version has increased.
Add more logging and tests to volume scheduler.
2018-05-17 16:46:20 -07:00
Kubernetes Submit Queue
98bab89fab
Merge pull request #63927 from deads2k/cli-60-factory-prune
Automatic merge from submit-queue (batch tested with PRs 63871, 63927, 63966, 63957, 63844). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

 start splitting polymorphic functions out of the factory

the polymorphic behavior in `kubectl` has been gathered in the factory, but with the new kubeconfigflags and interfaces, it can actually be re-written as a set of helper calls.

These functions are special.  They are indications of areas of flexibility that we eventually need to build generically.  In addition, unit tests make heavy use of injection. For these reasons we aren't inlining them.  Instead we'll extra to a polymorphic package and have them as assignable functions for mocking.

Individual commands should support injection for cleaner mocking and we'll be able to use the package to hunt internal dependencies.

@kubernetes/sig-cli-maintainers 
@soltysh @juanvallejo 

```release-note
NONE
```
2018-05-17 13:40:19 -07:00
Bobby (Babak) Salamat
a0b0c152c9 autogenerated files 2018-05-17 07:44:46 -07:00
Kubernetes Submit Queue
b3837d004a
Merge pull request #63469 from wojtek-t/allow_list_and_watch_secrets
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Allow for listing & watching individual secrets from nodes

This PR:
- propagates value of `metadata.name` field from fieldSelector to `name` field in RequestInfo (for list and watch requests)
- authorizes list/watch for requests for single secrets/configmaps coming from nodes

As an example:
```
/api/v1/secrets/namespaces/ns?fieldSelector=metadata.name=foo =>
  requestInfo.Name = "foo",
  requestInfo.Verb = "list"
/api/v1/secrets/namespaces/ns?fieldSelector=metadata.name=foo&watch=true =>
  requestInfo.Name = "foo",
  requestInfo.Verb = "list"
```

```release-note
list/watch API requests with a fieldSelector that specifies `metadata.name` can now be authorized as requests for an individual named resource
```
2018-05-17 07:09:43 -07:00
David Eads
0db40da909 update factory interface to overlap with lower RESTClientGetter 2018-05-17 08:27:53 -04:00
Bobby (Babak) Salamat
37e77f148d Fix PDB preemption tests. 2018-05-16 17:18:46 -07:00
juanvallejo
876629f690 move ConfigFlags to pkg/kubectl/genericclioptions 2018-05-16 11:31:48 -04:00
Kubernetes Submit Queue
f2ea83bef8
Merge pull request #63550 from juanvallejo/jvallejo/move-cached-discovery
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

move cached_discovery to client-go/discovery

**Release note**:
```release-note
NONE
```

Moves the cmd/util CachedDiscoveryClient to client-go

cc @soltysh @deads2k
2018-05-15 10:47:01 -07:00
juanvallejo
57f308ae60 restore old cached client behavior 2018-05-15 10:37:53 -04:00
juanvallejo
4059355743 move cached_discovery to client-go/discovery 2018-05-15 10:20:56 -04:00
wojtekt
f344c5c062 Requires single name for list and watch 2018-05-15 14:19:21 +02:00
Dr. Stefan Schimanski
a3a52a8cf7 Revert "Revert "scheduler: align with ctrl-managers and apiservers, add https+auth in options""
This reverts commit 7b93d81a97.
2018-05-15 13:09:55 +02:00
ravisantoshgudimetla
441b6d4465 Build files generated 2018-05-14 18:15:34 -04:00
ravisantoshgudimetla
f3441a5c20 Update e2e to use priorityClass beta 2018-05-14 18:13:41 -04:00
Kubernetes Submit Queue
a1b54f3c99
Merge pull request #63100 from ravisantoshgudimetla/priority-beta-api
Automatic merge from submit-queue (batch tested with PRs 55511, 63372, 63400, 63100, 63769). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Create pkg/scheduling/apis/v1beta1 and move priorityClass to beta 

**What this PR does / why we need it**:
This is for creating pkg/apis/scheduling/v1beta1 so that priorityClasses could be moved to beta.

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

**Special notes for your reviewer**:
/cc @bsalamat @aveshagarwal 

**Release note**:

```release-note
The `PriorityClass` API is promoted to `scheduling.k8s.io/v1beta1`
```
2018-05-14 14:35:21 -07:00
ravisantoshgudimetla
1db5990013 Move scheduling api to beta 2018-05-12 02:01:04 -04:00
Da K. Ma
2dc5266e84 Removed unused namespace in UT helper func.
Signed-off-by: Da K. Ma <klaus1982.cn@gmail.com>
2018-05-12 08:47:09 +08:00
Kubernetes Submit Queue
92ba95c39c
Merge pull request #63446 from deads2k/client-08-remove-old
Automatic merge from submit-queue (batch tested with PRs 63367, 63718, 63446, 63723, 63720). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

finish new dynamic client and deprecate old dynamic client

Builds on a couple other pulls.  This completes the transition to the new dynamic client.

@kubernetes/sig-api-machinery-pr-reviews 
@caesarxuchao @sttts 

```release-note
The old dynamic client has been replaced by a new one.  The previous dynamic client will exist for one release in `client-go/deprecated-dynamic`.  Switch as soon as possible.
```
2018-05-11 14:49:16 -07:00
Kubernetes Submit Queue
5a54555f59
Merge pull request #63049 from andrewsykim/kcm-nodeipam
Automatic merge from submit-queue (batch tested with PRs 63049, 59731). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

re-enable nodeipam in kube-controller-manager

**What this PR does / why we need it**:
Re-enables nodeipam controller for external clouds. Also does a small refactor so that we don't need to pass in `allocateNodeCidr` into the controller. 

In v1.10 we made a change (9187b343e1 (diff-f11913dc67d80d36b3d06a93f61c49cf) in https://github.com/kubernetes/kubernetes/pull/57492) where nodeipam would be disabled for any cluster that sets `--cloud-provider=external`. The original intention behind this was that the nodeipam controller is cloud specific for some clouds (only GCE at the moment) so it should be moved to the CCM (cloud controller manager). After some discussions with wg-cloud-provider it makes sense to re-enable nodeipam controller in KCM and have GCE CCM enable its own cloud-specific IPAM controller as part of [Initialize()](https://github.com/kubernetes/kubernetes/blob/master/pkg/cloudprovider/cloud.go#L33-L35). This would allow for GCE to run nodeipam in both KCM (by setting --cloud-provider=gce and --allocate-node-cidr) and in the CCM (once implemented in `Initialize()`) without disabling nodeipam in the KCM for all external clouds and avoids having to implement nodeipam in CCM. 

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

**Special notes for your reviewer**:


**Release note**:
```release-note
Re-enable nodeipam controller for external clouds. 
```
2018-05-11 11:07:12 -07:00
David Eads
fd044d152e fix dynamic client name 2018-05-11 13:12:09 -04:00
Jordan Liggitt
736f5e2349
Revert "authz: nodes should not be able to delete themselves"
This reverts commit 35de82094a.
2018-05-11 09:37:21 -04:00
David Eads
d8924bc1c9 move old dynamic client to deprecated-client 2018-05-11 08:00:46 -04:00
David Eads
82e32d2a32 add subresource support for the dynamic client 2018-05-11 08:00:03 -04:00
Kubernetes Submit Queue
c3afbe845c
Merge pull request #63289 from k82cn/k8s_63287
Automatic merge from submit-queue (batch tested with PRs 63669, 63511, 63561, 63289). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Cleanup DaemonSet after each integration test.

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

**Release note**:

```release-note
None
```
2018-05-10 14:25:19 -07:00
Jordan Liggitt
8161033be4
Make node restriction admission pod lookups use an informer 2018-05-10 07:53:46 -04:00
Da K. Ma
b44e61f080 Cleanup DaemonSet after each integration test.
Signed-off-by: Da K. Ma <klaus1982.cn@gmail.com>
2018-05-10 10:57:02 +08:00
Kubernetes Submit Queue
b2fe2a0a6d
Merge pull request #59847 from mtaufen/dkcfg-explicit-keys
Automatic merge from submit-queue (batch tested with PRs 63624, 59847). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

explicit kubelet config key in Node.Spec.ConfigSource.ConfigMap

This makes the Kubelet config key in the ConfigMap an explicit part of
the API, so we can stop using magic key names.
    
As part of this change, we are retiring ConfigMapRef for ConfigMap.


```release-note
You must now specify Node.Spec.ConfigSource.ConfigMap.KubeletConfigKey when using dynamic Kubelet config to tell the Kubelet which key of the ConfigMap identifies its config file.
```
2018-05-09 17:55:13 -07:00
ceshihao
842ae0bc22 Make taint behavior consistent, taint node with NotReady:NoSchedule 2018-05-09 13:36:05 +00:00
Michael Taufen
c41cf55a2c explicit kubelet config key in Node.Spec.ConfigSource.ConfigMap
This makes the Kubelet config key in the ConfigMap an explicit part of
the API, so we can stop using magic key names.

As part of this change, we are retiring ConfigMapRef for ConfigMap.
2018-05-08 15:37:26 -07:00
David Eads
c5445d3c56 simplify api registration 2018-05-08 18:33:50 -04:00
Kubernetes Submit Queue
51d75a7b1e
Merge pull request #63444 from deads2k/client-07-gc-dynamic
Automatic merge from submit-queue (batch tested with PRs 63526, 60371, 63444). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

update garbage collection to use the new dynamic client

Update GC to use the new and easy to use dynamic client.  This is one of two remaining stragglers.

@kubernetes/sig-api-machinery-pr-reviews 
@caesarxuchao @ironcladlou 

```release-note
NONE
```
2018-05-08 15:24:11 -07:00
David Eads
dd97a7bc59 move client based restmappers to client-go 2018-05-08 08:11:56 -04:00
Kubernetes Submit Queue
37ef3232b9
Merge pull request #63472 from k82cn/k8s_63427_2
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Cleanup Pods in TestNominatedNodeCleanUp.

Signed-off-by: Da K. Ma <klaus1982.cn@gmail.com>


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

**Release note**:
```release-note
None
```
2018-05-08 01:34:08 -07:00
Kubernetes Submit Queue
81b96b822e
Merge pull request #63373 from juanvallejo/jvallejo/begin-wiring-config-flags-struct
Automatic merge from submit-queue (batch tested with PRs 63373, 63338). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Wire ConfigFlags struct through cmdutil.Factory

**Release note**:
```release-note
NONE
```

Continues the Flags struct pattern established with PrintFlags.
Wires ConfigFlags through the client_access_factory

cc @deads2k @soltysh
2018-05-07 12:22:07 -07:00
David Eads
cf4f7aab65 update garbage collection to use the new dynamic client 2018-05-07 09:01:39 -04:00
Da K. Ma
5257dfcd15 Cleanup Pods in TestNominatedNodeCleanUp.
Signed-off-by: Da K. Ma <klaus1982.cn@gmail.com>
2018-05-07 15:15:06 +08:00
juanvallejo
3ca222b2d9 wire config flags through factory 2018-05-04 17:02:20 -04:00
Kubernetes Submit Queue
bac31d698c
Merge pull request #62990 from hzxuzhonghu/dynamic-restMapper-namespace-controller
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add dynamic RESTMapper to ControllerContext and make it generic

Add RESTMapper to ControllerContext and make it generic.

**Release note**:

```release-note
NONE
```
2018-05-04 13:33:03 -07:00
Kubernetes Submit Queue
484f62a568
Merge pull request #63333 from deads2k/api-14-snip
Automatic merge from submit-queue (batch tested with PRs 63421, 63432, 63333). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

update tests to be specific about the versions they are testing

When setting up tests, you want to rely on your own scheme.  This eliminates coupling to floating versions which gives unnecessary flexibility in most cases and prevents testing all the versions you need.

@liggitt  scrubs unnecessary deps.

```release-note
NONE
```
2018-05-04 10:52:10 -07:00
Wojciech Tyczynski
7b93d81a97
Revert "scheduler: align with ctrl-managers and apiservers, add https+auth in options" 2018-05-03 21:05:00 +02:00
David Eads
9a48066749 update restmapping to indicate fully qualified resource 2018-05-01 16:34:49 -04:00
David Eads
94e3d94d67 update tests to be specific about the versions they are testing instead of floating 2018-05-01 13:18:41 -04:00
Kubernetes Submit Queue
f03f83a20a
Merge pull request #63206 from deads2k/api-11-restmapper
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

remove incorrect static restmapper from type registry

A RESTMapping can only be determined by inspecting a server since discovery is the authoritative source of mapping decisions.  This removes a deceptive method from the type registry and makes the old logic available for existing tests in a separate, clearly labeled package.

@kubernetes/sig-api-machinery-pr-reviews @kubernetes/sig-cli-maintainers 

```release-note
NONE
```
2018-05-01 08:10:37 -07:00
Kubernetes Submit Queue
8e99d621e9
Merge pull request #63253 from deads2k/client-05-dynamic-update
Automatic merge from submit-queue (batch tested with PRs 63152, 63253). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

make dynamic client slightly easier to use and add fakes

Tweaks the dynamic client to make it more "normal" for resources to namespaces.  Adds a fake dynamic client.

@kubernetes/sig-api-machinery-pr-reviews 
/assign @hzxuzhonghu
/assign @sttts 


```release-note
NONE
```
2018-05-01 07:36:12 -07:00
David Eads
cb4ce3392d update etcd to skip kinds, not resources so we can use a live mapping 2018-05-01 07:52:51 -04:00
David Eads
1cb797e355 acknowledge that creation of a restmapper can fail and that we cannot have a default 2018-05-01 07:52:51 -04:00
Kubernetes Submit Queue
535426bf73
Merge pull request #63307 from liggitt/revert-volume-event-test
Automatic merge from submit-queue (batch tested with PRs 55971, 63307). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Revert "fixtodo:validate events on PVCs in integration volume binding test"

This reverts commit 910fd1953e.

Events are not a reliable message bus... they throttle, deduplicate, and drop events over fairly conservative rate limit targets.

This commit caused test flakes, so reverting.

Fixes #63302

```release-note
NONE
```
2018-04-30 15:29:08 -07:00
Jordan Liggitt
7d7079f89a
Remove event recorder TODO 2018-04-30 13:38:50 -04:00
Jordan Liggitt
bc5ed29300
Revert "fixtodo:validate events on PVCs in integration volume binding test"
This reverts commit 910fd1953e.
2018-04-30 13:17:20 -04:00
David Eads
5ff923c7f9 make dynamic client slightly easier to use 2018-04-30 08:54:30 -04:00
Dr. Stefan Schimanski
24bc981918 Update bazel 2018-04-28 22:36:13 +02:00
Dr. Stefan Schimanski
abc8c98e35 scheduler: align plumbing with controller-manager and apiservers 2018-04-28 22:36:13 +02:00
hzxuzhonghu
7f93d11f9e Add RESTMapper to ControllerContext and make it generic for controllers 2018-04-28 09:58:43 +08:00
Kubernetes Submit Queue
bbcd21e0ab
Merge pull request #60890 from rphillips/tests/lease_endpoint
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

apiserver: master count and lease endpoint test

**What this PR does / why we need it**: Adds a test to make sure master count and lease endpoint reconcilers work well together, so we can bump LeaseEndpoint to beta. Based on Jordan's comment https://github.com/kubernetes/kubernetes/pull/58474#issuecomment-369954890. 

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Issue: #57617
Followup PR: #58474

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
/cc @kubernetes/sig-cluster-lifecycle-api-reviews @kubernetes/sig-cluster-lifecycle-api-reviews
2018-04-27 16:54:16 -07:00
Ryan Phillips
efe19e4acb master count and lease endpoint tests 2018-04-27 13:03:31 -05:00
Kubernetes Submit Queue
7884cc5453
Merge pull request #63250 from deads2k/cli-39-typer
Automatic merge from submit-queue (batch tested with PRs 63251, 59166, 63250, 63180, 63169). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

divide statically known typer from dynamically derived restmapper

The CLI factory conflated a statically known typer and a dynamically derived restmapper. This produced confusion and unnecessary indirection.  This pull separates dynamically known from statically known.

A future pull will continue the separation of in the builder to indicate the points of variability for clients, which should logically be limited to a negotiated serializer for decoding and an object typer.

@kubernetes/sig-cli-maintainers 
/assign @soltysh 
/assign @juanvallejo 


```release-note
NONE
```
2018-04-27 10:45:13 -07:00
Kubernetes Submit Queue
6b9cf21d9f
Merge pull request #63203 from deads2k/api-07-versioninterface
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

remove versioning interface

Builds on prior restmapping/converter separation to completely remove the versioning interface which isn't needed.

intersection of @kubernetes/sig-api-machinery-pr-reviews and @kubernetes/sig-cli-maintainers  again

```release-note
NONE
```
2018-04-27 09:15:13 -07:00
Kubernetes Submit Queue
b75d6464c8
Merge pull request #63189 from hzxuzhonghu/master
Automatic merge from submit-queue (batch tested with PRs 61804, 63189). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

make use of simple dynamic client instead of deprecated client pool

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

Use simple dynamic client through all integration test.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-04-27 08:44:07 -07:00
David Eads
5432ef5c45 divide statically known typer from dynamically derive restmapper 2018-04-27 11:15:05 -04:00
David Eads
e2fc5cf259 remove versioning interface 2018-04-27 07:56:42 -04:00
xuzhonghu
393324497f make use of simple dynamic client in test 2018-04-27 13:38:58 +08:00
Kubernetes Submit Queue
fd6b01f4bf
Merge pull request #62929 from hanxiaoshuai/fixtodo0421
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

fixtodo:validate events on PVCs in integration volume binding test

**What this PR does / why we need it**:
fixtodo:validate events on PVCs in integration volume binding test
**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-04-26 18:35:49 -07:00
Kubernetes Submit Queue
6625d353c7
Merge pull request #63105 from deads2k/api-06-mapper
Automatic merge from submit-queue (batch tested with PRs 62937, 63105, 63031, 63174). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

rest mappings cannot logically be object converters

A `RESTMapping` in the general sense cannot be a `ObjectConverter` since the conversions are compiled, but the RESTMappings are discovered.   This starts isolating the bad assumptions into `kubectl` where they are used and removes the other bad `RESTMapping` use I found in the REST API installer that uses a mapping to determine scopes instead of using the metadata provided during API registration.

intersection of @kubernetes/sig-api-machinery-bugs and @kubernetes/sig-cli-maintainers 
@sttts @pwittrock @soltysh 

```release-note
NONE
```
2018-04-26 16:40:12 -07:00
Kubernetes Submit Queue
6aad80cce3
Merge pull request #63146 from liggitt/remove-patch-retry
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

collapse patch conflict retry onto GuaranteedUpdate

xref https://github.com/kubernetes/kubernetes/issues/63104

This PR builds on https://github.com/kubernetes/kubernetes/pull/62868

1. When the incoming patch specified a resourceVersion that failed as a precondition, the patch handler would retry uselessly 5 times. This PR collapses onto GuaranteedUpdate, which immediately stops retrying in that case.

2. When the incoming patch did not specify a resourceVersion, and persisting to etcd contended with other etcd updates, the retry would try to detect patch conflicts with deltas from the first 'current object' retrieved from etcd and fail with a conflict error in that case. Given that the user did not provide any information about the starting version they expected their patch to apply to, this does not make sense, and results in arbitrary conflict errors, depending on when the patch was submitted relative to other changes made to the resource. This PR changes the patch application to be performed on the object retrieved from etcd identically on every attempt.

fixes #58017
SMP is no longer computed for CRD objects

fixes #42644
No special state is retained on the first attempt, so the patch handler correctly handles the cached storage optimistically trying with a cached object first

/assign @lavalamp

```release-note
fixed spurious "unable to find api field" errors patching custom resources
```
2018-04-26 10:55:27 -07:00
David Eads
6900f8856f rest mappings cannot logically be object converters 2018-04-26 12:47:25 -04:00
Da K. Ma
2c10d15ae5 Do not schedule pod to the node under PID pressure.
Signed-off-by: Da K. Ma <klaus1982.cn@gmail.com>
2018-04-26 10:07:42 +08:00
Jordan Liggitt
fbd6f38084
collapse patch conflict retry onto GuaranteedUpdate
builds on #62868

1. When the incoming patch specified a resourceVersion that failed as a precondition,
the patch handler would retry uselessly 5 times. This PR collapses onto GuaranteedUpdate,
which immediately stops retrying in that case.

2. When the incoming patch did not specify a resourceVersion, and persisting to etcd
contended with other etcd updates, the retry would try to detect patch conflicts with
deltas from the first 'current object' retrieved from etcd and fail with a conflict error
in that case. Given that the user did not provide any information about the starting version
they expected their patch to apply to, this does not make sense, and results in arbitrary
conflict errors, depending on when the patch was submitted relative to other changes made
to the resource. This PR changes the patch application to be performed on the object retrieved
from etcd identically on every attempt.

fixes #58017
SMP is no longer computed for CRD objects

fixes #42644
No special state is retained on the first attempt, so the patch handler correctly handles
the cached storage optimistically trying with a cached object first
2018-04-25 21:55:13 -04:00
Kubernetes Submit Queue
6251402266
Merge pull request #63040 from misterikkit/ecache-race
Automatic merge from submit-queue (batch tested with PRs 62432, 62868, 63040). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

scheduler: fix race condition in equivalence cache

**What this PR does / why we need it**:
This adds an equivalence cache test to exercise the race condition observed in https://github.com/kubernetes/kubernetes/issues/62921 and then fixes the race.

The `Cache` interface needed a new method to check whether a `NodeInfo` is stale, and `genericScheduler` needed some plumbing to make the `Cache` object available to `podFitsOnNode()`.

The solution is, right before writing to the eCache, check the scheduler cache to see if the current `NodeInfo` object is out of date. If the node is out of date, then don't write to the eCache. If the `NodeInfo` is stale, it is because of a cache update that should also invalidate the eCache entry. That invalidation either happens before `podFitsOnNode()` acquires the eCache lock (original bug, so we don't do the write) or blocks until we release that lock (removing the potentially bad entry).

Fixes #62921 

**Special notes for your reviewer**:

**Release note**:

equivalence cache is still alpha, so no release note.
```release-note
NONE
```
/sig scheduling
/assign bsalalamat
/assign resouer
2018-04-25 12:56:14 -07:00
Jonathan Basseri
02d657827c Test race condition in equivalence cache.
Add a unit test that invalidates equivalence cache during a scheduling
cycle. This exercises the bug described in
https://github.com/kubernetes/kubernetes/issues/62921
2018-04-25 10:18:40 -07:00
David Eads
3632037e60 add easy to use dynamic client 2018-04-25 08:55:26 -04:00
Kubernetes Submit Queue
6fbca94fae
Merge pull request #63010 from deads2k/api-04-metadataaccessor
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

remove confusing flexibility for metadata interpretation

Metadata accessors are coded in.  This means that we don't need to inject flexibility, the flexibility is already present based on what your code relies up.  This removes the per-individual resource injection which simplifies all calling code.

intersection of @kubernetes/sig-api-machinery-pr-reviews @kubernetes/sig-cli-maintainers 

```release-note
NONE
```
2018-04-24 17:59:12 -07:00
Kubernetes Submit Queue
15b61bc006
Merge pull request #62818 from mikedanese/selfdelete
Automatic merge from submit-queue (batch tested with PRs 62590, 62818, 63015, 62922, 63000). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

authz: nodes should not be able to delete themselves

@kubernetes/sig-auth-pr-reviews 

```release-note
kubelets are no longer allowed to delete their own Node API object. Prior to 1.11, in rare circumstances related to cloudprovider node ID changes, kubelets would attempt to delete/recreate their Node object at startup. If a legacy kubelet encounters this situation, a cluster admin can remove the Node object:
* `kubectl delete node/<nodeName>`
or grant self-deletion permission explicitly:
* `kubectl create clusterrole self-deleting-nodes --verb=delete --resource=nodes`
* `kubectl create clusterrolebinding self-deleting-nodes --clusterrole=self-deleting-nodes --group=system:nodes`
```
2018-04-24 14:22:13 -07:00
Kubernetes Submit Queue
817aac84b6
Merge pull request #63017 from liggitt/webhook_test
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Make integration test etcd store unique

Ensures each test gets a distinct spot in etcd to avoid cross-test pollution

Fixes flakes seen in the etcd_storage_path_test


```release-note
NONE
```
2018-04-24 10:09:59 -07:00
Kubernetes Submit Queue
18f6d75fcf
Merge pull request #62993 from WanLinghao/sa_token_fix
Automatic merge from submit-queue (batch tested with PRs 63033, 62993). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

fix a bug in serviceaccount validate.

**What this PR does / why we need it**:
As the patch shows, the original idea here is to make sure that the bounded object is still exists in 
cluster. But the compare is wrong.
It could cause recreate object validate through bug. 
For example, a user requests a token which bounded with Pod A. The token should become invalid after Pod A's deletion. But if someone create a Pod with same name with Pod A, the token would be valid which should be not.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-04-24 06:48:12 -07:00
WanLinghao
198b9e482c fix a error in serviceaccount validate.
This error is a human-writing error.
	Small as it is, it could cause recreate Object validate
	through bug.
	This patch fix it.
2018-04-24 14:48:37 +08:00
hangaoshuai
910fd1953e fixtodo:validate events on PVCs in integration volume binding test 2018-04-24 10:41:11 +08:00
andrewsykim
0a164760dc renable nodeipam in kube-controller-manager 2018-04-23 22:28:37 -04:00
Bobby (Babak) Salamat
a073dfdbd9 Fix scheduler Pod informers to receive events when pods are scheduled by other schedulers. 2018-04-23 11:07:53 -07:00
Bobby (Babak) Salamat
719a56fa67 Added test for scheduler informers 2018-04-23 11:07:53 -07:00
David Eads
0710f72c65 remove confusing flexibility for metadata interpretation 2018-04-23 13:31:55 -04:00
Jordan Liggitt
5d11dc2524
Make integration test etcd store unique 2018-04-23 13:02:04 -04:00
Kubernetes Submit Queue
bdd6ff40db
Merge pull request #62765 from wgliang/master.pob-name-conflict
Automatic merge from submit-queue (batch tested with PRs 61324, 62880, 62765). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

-Fix the name could cause a conflict if an object with the same name …

…is created in a different namespace

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

Using the name could cause a conflict if an object with the same name is created in a different namespace

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

**Special notes for your reviewer**:
/assign @bsalamat 

**Release note**:
```
NONE
```
2018-04-20 17:23:23 -07:00
Kubernetes Submit Queue
9c25da64f0
Merge pull request #62649 from liggitt/loopback-routing
Automatic merge from submit-queue (batch tested with PRs 50899, 62649). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Ensure webhook service routing resolves kubernetes.default.svc correctly

Going through the normal endpoint resolve path isn't correct in multi-master scenarios

The auth wrapper is pulling from LoopbackClientConfig, the service resolver should do the same

```release-note
Fixes the kubernetes.default.svc loopback service resolution to use a loopback configuration.
```
2018-04-20 15:34:12 -07:00
Mike Danese
35de82094a authz: nodes should not be able to delete themselves 2018-04-20 10:22:07 -07:00
Jordan Liggitt
d421affd2d
loopback webhook integration test 2018-04-20 12:30:27 -04:00
Guoliang Wang
df49a4b8c6 -Fix the name could cause a conflict if an object with the same name is created in a different namespace 2018-04-20 11:37:46 +08:00
Kubernetes Submit Queue
1e39d68ecb
Merge pull request #62243 from resouer/fix-62068
Automatic merge from submit-queue (batch tested with PRs 59592, 62308, 62523, 62635, 62243). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Separate pod priority from preemption

**What this PR does / why we need it**:
Users request to split priority and preemption feature gate so they can use priority separately.

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

**Special notes for your reviewer**:

~~I kept use `ENABLE_POD_PRIORITY` as ENV name for gce cluster scripts for backward compatibility reason. Please let me know if other approach is preffered.~~

~~This is a potential **break change** as existing clusters will be affected, we may need to include this in 1.11 maybe?~~

TODO: update this doc https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/

[Update] Usage: in config file for scheduler:
```yaml
apiVersion: componentconfig/v1alpha1
kind: KubeSchedulerConfiguration
...
disablePreemption: true
```

**Release note**:

```release-note
Split PodPriority and PodPreemption feature gate
```
2018-04-19 14:50:27 -07:00
Harry Zhang
d36fc30233 Add integration test for disable preemption 2018-04-18 10:41:23 -07:00
Mike Danese
f427531179 boring 2018-04-18 09:55:57 -07:00
Kubernetes Submit Queue
b37564d9f2
Merge pull request #62659 from enj/enj/i/gc_admission_dynamic_restmapper
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Use a dynamic RESTMapper for admission plugins

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

This change updates the REST mapper used by all admission plugins to be backed by cached discovery information.  This cache is updated every ten seconds via a post start hook and will not attempt to update on calls to `RESTMapping`.  It solely relies on the hook to keep the cache in sync with discovery.

This prevents issues with the `OwnerReferencesPermissionEnforcement` admission plugin when it is used with custom resources that set `blockOwnerDeletion`.

**Which issue(s) this PR fixes**:
`Fixes #...`

**Special notes for your reviewer**:

There are probably other ways the post start hook could be wired.

**Release note**:

```release-note
NONE
```

Signed-off-by: Monis Khan <mkhan@redhat.com>

@kubernetes/sig-api-machinery-misc
2018-04-18 08:51:37 -07:00
Kubernetes Submit Queue
42f6687a1c
Merge pull request #60536 from immutableT/transformer_metrics
Automatic merge from submit-queue (batch tested with PRs 62748, 60536, 62300, 62661, 62731). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Instrument transformer.go with latency metrics.

**What this PR does / why we need it**:
Instrument transformer.go with latency metrics - allowing to measure performance impact of adding KMS Providers.
**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
"NONE"
```
2018-04-17 19:53:15 -07:00
Monis Khan
300751393b
Use a dynamic RESTMapper for admission plugins
This change updates the REST mapper used by all admission plugins to
be backed by cached discovery information.  This cache is updated
every ten seconds via a post start hook and will not attempt to
update on calls to RESTMapping.  It solely relies on the hook to
keep the cache in sync with discovery.

This prevents issues with the OwnerReferencesPermissionEnforcement
admission plugin when it is used with custom resources that set
blockOwnerDeletion.

Signed-off-by: Monis Khan <mkhan@redhat.com>
2018-04-17 09:59:41 -04:00
Kubernetes Submit Queue
752c72bbc5
Merge pull request #62472 from sttts/sttts-sample-apiserver-conversion
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

sample-apiserver: add v1beta1 with advanced conversion example from v1alpha1

Follow-up of discussion in https://github.com/kubernetes/kubernetes/pull/60594.
2018-04-17 05:47:59 -07:00
Dr. Stefan Schimanski
145167f908 Generated files 2018-04-17 11:44:29 +02:00
Dr. Stefan Schimanski
0bb9261eb8 sample-apiserver: add v1beta1 with advanced conversion example from v1alpha1 2018-04-17 11:43:58 +02:00
immutablet
bfcb3cd91f Instrument transformer.go with latency metrics. 2018-04-16 11:33:10 -07:00
Slava Semushin
ff636f25c0 Move podsecuritypolicy registry to policy package. 2018-04-16 17:21:52 +02:00
Harry Zhang
4f0bd4121e Disable pod preemption by config 2018-04-12 21:11:51 -07:00
Kubernetes Submit Queue
622789d8f3
Merge pull request #62230 from msau42/redo-integration
Automatic merge from submit-queue (batch tested with PRs 61549, 62230, 62055, 61082, 62212). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Create StorageClass for each volume binding test case

**What this PR does / why we need it**:
Use a different StorageClass for each test case so that subsequent test cases don't accidentally bind to PVs created in previous test cases.  The alternative solution of waiting for all the resources to be fully deleted added a significant amount of time to the test, so I prefer using this storage class approach.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-04-10 18:19:09 -07:00
Michelle Au
12fd0a8aca Create StorageClass for each volume binding test case 2018-04-09 17:18:49 -07:00
AnubhaKushwaha
32bc319f4b Added test to check object size 2018-04-08 23:10:23 +05:30
Manjunath A Kumatagi
1bb810e749 Use pause manifest image 2018-04-06 11:00:50 +05:30
Dr. Stefan Schimanski
9f906618f0 apiserver: enforce shared RequestContextMapper in delegation chain 2018-04-05 14:41:56 +02:00
Kubernetes Submit Queue
8438cbe669
Merge pull request #60483 from hzxuzhonghu/kube-apiserver-runoptions
Automatic merge from submit-queue (batch tested with PRs 58420, 60483). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Kube apiserver ServerRunOptions set default called before use

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

move `ServerRunOptions` set default function  `defaultOptions` out of `CreateKubeAPIServerConfig`, it should be called before real use `CreateNodeDialer`. So move it to cobra.Command just after kube-apiserver flags parsed.

Similarly `ServerRunOptions.Validate` move there too.

**Release note**:

```release-note
NONE
```
2018-04-04 05:03:08 -07:00
Kubernetes Submit Queue
b6c721d7ac
Merge pull request #61959 from satyasm/ipam-perf-cloud-mock
Automatic merge from submit-queue (batch tested with PRs 61959, 62037). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Support custom test configurations

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

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

**Special notes for your reviewer**:

**Release note**:

```release-note
Support custom test configuration for IPAM performance integration tests
```
2018-04-04 02:45:05 -07:00
hzxuzhonghu
b8460bd849 deduplicate server startup code in tls integration test 2018-04-04 11:21:19 +08:00
hzxuzhonghu
8cce8bdc85 make kube-apiserver ServerRunOptions setdefault and Validate before use 2018-04-04 11:19:55 +08:00
Kubernetes Submit Queue
fb795a3b80
Merge pull request #61404 from hzxuzhonghu/fix-webhook-crd-bug
Automatic merge from submit-queue (batch tested with PRs 61404, 61025). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

bug fix: create/update CRD panic when mutating webhook configured

apiextentions apiserver use its own scheme to create a admission chain before creating the apiextensions apiserver config.
Fixes #61355

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-04-03 07:31:04 -07:00
hzxuzhonghu
4c26831147 apiserver's webhook admission use its own scheme 2018-04-03 20:42:38 +08:00
Kubernetes Submit Queue
817869e78a
Merge pull request #62030 from deads2k/server-10-remove-dead
Automatic merge from submit-queue (batch tested with PRs 61498, 62030). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

remove kube-apiserver option that is always force to true

All production flows forced the controllers to true. I don't think that test code should be depending on it either.  Removing the option.

```release-note
NONE
```
2018-04-03 02:02:07 -07:00
Christoph Blecker
710c8563b4
Fix go vet errors 2018-04-02 17:57:44 -07:00
Satyadeep Musuvathy
86aa5ae9c8 Support custom test configurations 2018-04-02 10:29:36 -07:00
David Eads
ee5bc39c4c remove kube-apiserver option that is always force to true 2018-04-02 12:19:34 -04:00
Mikhail Mazurskiy
468655b76a
Use typed events client directly 2018-04-01 18:57:29 +10:00
Harry Zhang
2fae40d886 Update bazel 2018-03-31 00:31:32 -07:00
Harry Zhang
187c5bc91e Use initTest for integration to start scheduler
Fix import path

Fix configurator name
2018-03-31 00:28:08 -07:00
Harry Zhang
782a092e2e Use feature gate in integration
Clean up unused import
2018-03-31 00:28:08 -07:00
Kubernetes Submit Queue
8a783b0664
Merge pull request #59768 from barney-s/sts-integration
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Adding integration tests for statefulset

**What this PR does / why we need it**:
Creates a base statefulset integration test framework.
Basic tests added.


**Which issue(s) this PR fixes**:
None

**Special notes for your reviewer**:
Cloned pull/52583 and updated it to work with latest API changes.

**Release note**:
None.
2018-03-30 09:35:01 -07:00
Kubernetes Submit Queue
6360192eab
Merge pull request #61847 from mengqiy/patch_conflict
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

fix patch conflict detection in apiserver

Patching conflict for merging list with mergeKey is not determined in the correct way. 

```release-note
None
```
2018-03-30 07:55:12 -07:00
Mengqi Yu
ff18af452d fix patch conflict detection in apiserver 2018-03-29 20:05:58 -07:00
Kubernetes Submit Queue
5ae7bba496
Merge pull request #60100 from mtaufen/node-authz-nodeconfigsource
Automatic merge from submit-queue (batch tested with PRs 61829, 61908, 61307, 61872, 60100). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

node authorizer sets up access rules for dynamic config

This PR makes the node authorizer automatically set up access rules for
dynamic Kubelet config.

I also added some validation to the node strategy, which I discovered we
were missing while writing this.

This PR is based on another WIP from @liggitt.

```release-note
The node authorizer now automatically sets up rules for Node.Spec.ConfigSource when the DynamicKubeletConfig feature gate is enabled.
```
2018-03-29 17:37:18 -07:00
Kubernetes Submit Queue
3cb73605aa
Merge pull request #61863 from satyasm/ipam-perf-cloud-mock
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Fix 61854, skip for short tests

**What this PR does / why we need it**:
Skip for short tests, so as to avoid running for every PR.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
Disable ipamperf integration tests as part of every PR verification.
```
2018-03-28 17:57:59 -07:00
Barni S
42190c350e Adding integration tests for statefulset 2018-03-28 19:24:48 -04:00
Satyadeep Musuvathy
9d9a45893c Fix 61854, skip for short tests 2018-03-28 15:27:21 -07:00
Kubernetes Submit Queue
db8552dfed
Merge pull request #56363 from hzxuzhonghu/test-opt
Automatic merge from submit-queue (batch tested with PRs 61848, 61188, 56363, 61357, 61838). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

reduce garbage_collector test cases running time

**What this PR does / why we need it**:
test cases in test\integration\garbagecollector\garbage_collector_test.go wait.Poll interval is too long. So the case running time is too long. 
**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-03-28 13:52:10 -07:00
Kubernetes Submit Queue
2ba2cc1321
Merge pull request #61615 from janetkuo/rm-adopt-hash
Automatic merge from submit-queue (batch tested with PRs 61790, 61808, 60339, 61615, 61757). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Deployment to stop adding pod-template-hash labels/selector on adoption

**What this PR does / why we need it**: This is a blocker for #55714, because ReplicaSet selector becomes immutable in `apps/v1`. With controller ref, Deployment's ReplicaSets and Pods can avoid fighting with each others without unique label/selector (pod-template-hash), so it's safe to stop adding hash label/selector on adoption. 

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

**Special notes for your reviewer**: This is a behavioral change to Deployment controller that will affect all versions of Deployment APIs (`apps/v1`, `extensions/v1beta1`, `apps/v1beta1`, `apps/v1beta2`). 

**Release note**:

```release-note
Deployment will stop adding pod-template-hash labels/selector to ReplicaSets and Pods it adopts. Resources created by Deployments are not affected (will still have pod-template-hash labels/selector). 
```
2018-03-28 09:39:18 -07:00
Kubernetes Submit Queue
2bc231eb57
Merge pull request #61143 from satyasm/ipam-perf-cloud-mock
Automatic merge from submit-queue (batch tested with PRs 61402, 61143, 61427, 60592). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Performance tests and fix for IPAM controller.

Tests the four modes of allocations. Can be run using
./test-performance.sh under tests/integration/ipamperf
directory. See ./test-performance.sh -h for supported flags.



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

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

**Special notes for your reviewer**:
Please see the implementation  notes comment block in cloud.go for core details of how 
the mocking works. README.md has details on how the tests can be run on the 
command line.

**Release note**:

```release-note
Performance test framework and basic tests for the IPAM controller, to simulate behavior
of the four supported modes under lightly loaded and loaded conditions, where load is 
defined as the number of operations to perform as against the configured kubernetes
API server QPS.
```
2018-03-27 15:33:09 -07:00
Michael Taufen
ab8dc12333 node authorizer sets up access rules for dynamic config
This PR makes the node authorizer automatically set up access rules for
dynamic Kubelet config.

I also added some validation to the node strategy, which I discovered we
were missing while writing this.
2018-03-27 08:49:45 -07:00
Kubernetes Submit Queue
2fdcfeae51
Merge pull request #61166 from hzxuzhonghu/authz-flag-validate
Automatic merge from submit-queue (batch tested with PRs 60519, 61099, 61218, 61166, 61714). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

kube-apiserver add BuiltInAuthorizationOptions validation

Validate BuiltInAuthorizationOptions after flags parsed. 

**Release note**:

```release-note
NONE
```
2018-03-26 23:20:14 -07:00
Janet Kuo
7899fb477d Only check hash labels of non-adopted resources in integration tests 2018-03-26 17:08:31 -07:00
hzxuzhonghu
755df0461d validate authorization flags in BuiltInAuthorizationOptions.Validate 2018-03-26 20:37:02 +08:00
Kubernetes Submit Queue
02856b6656
Merge pull request #60996 from deads2k/server-09-metrics
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

update metrics to true like it is for kube-apiserver

The kube-apiserver always hardcoded to true, but nothing else knew too.  I changed the default to true (I can't think of why you wouldn't want it even if you don't often use it).

@kubernetes/sig-api-machinery-bugs 
@MikeSpreitzer see if this fixes you?
2018-03-25 04:33:24 -07:00
Kubernetes Submit Queue
f389b0a02b
Merge pull request #61515 from crimsonfaith91/revert-59013-ds-integration-3
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Revert "add rolling update daemonset existing pod adoption integration test"

Reverts kubernetes/kubernetes#59013
2018-03-24 02:34:23 -07:00
Satyadeep Musuvathy
77da96c7f6 Performance tests and fix for IPAM controller.
Tests the four modes of allocations. Can be run using
./test-performance.sh under tests/integration/ipamperf
directory. See ./test-performance.sh -h for supported flags.
2018-03-22 13:21:22 -07:00
David Eads
456fd386dc update metrics to true like it is for kube-apiserver 2018-03-22 10:27:31 -04:00
Kubernetes Submit Queue
2a3144e377
Merge pull request #61367 from enisoc/apps-v1-rs
Automatic merge from submit-queue (batch tested with PRs 60980, 61273, 60811, 61021, 61367). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Use apps/v1 ReplicaSet in controller and tests.

This updates the RS/RC controller and RS integration/e2e tests to use apps/v1 ReplicaSet, as part of #55714.

It does *not* update the Deployment controller, nor its integration/e2e tests, to use apps/v1 ReplicaSet. That will be done in a separate PR (#61419) because Deployment has many more tendrils embedded throughout the system.

```release-note
Conformance: ReplicaSet must be supported in the `apps/v1` version.
```

/assign @janetkuo
2018-03-22 02:08:27 -07:00
Jun Xiang Tee
1bbb9e5217
Revert "add rolling update daemonset existing pod adoption integration test" 2018-03-21 19:39:40 -07:00
Kubernetes Submit Queue
bd745a4080
Merge pull request #59013 from crimsonfaith91/ds-integration-3
Automatic merge from submit-queue (batch tested with PRs 59536, 61104, 61030, 59013, 61169). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

add rolling update daemonset existing pod adoption integration test

**What this PR does / why we need it**:
This PR adds rolling update DaemonSet existing pod adoption integration test. It also shifts all helper functions to a new utility file.

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

**Release note**:
```release-note
NONE
```
2018-03-21 03:43:21 -07:00
Kubernetes Submit Queue
a5a3bc93f1
Merge pull request #61104 from hzxuzhonghu/AlwaysAdmit-stop-using
Automatic merge from submit-queue (batch tested with PRs 59536, 61104, 61030, 59013, 61169). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

stop using AlwaysAdmit admission

`AlwaysAdmit ` was deprecated, and stop using it in test.

**Release note**:

```release-note
NONE
```
2018-03-21 03:43:14 -07:00
Kubernetes Submit Queue
dbea6f6372
Merge pull request #61085 from hzxuzhonghu/unversioned-cleanup
Automatic merge from submit-queue (batch tested with PRs 60919, 60953, 61085, 61083, 60971). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

remove unused `pkg/api/unversioned`

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

clean code, see #61084 

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-03-20 20:34:31 -07:00
Kubernetes Submit Queue
14e3efe26a
Merge pull request #58717 from resouer/extender-interface
Automatic merge from submit-queue (batch tested with PRs 60759, 60531, 60923, 60851, 58717). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Implement preemption for extender with a verb and new interface

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

This is an alternative way of implementing #51656

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

**Special notes for your reviewer**:

We will also want to compare with #56296 to see which one is the best solution. See: https://github.com/kubernetes/kubernetes/pull/56296#discussion_r163381235

cc @ravigadde @bsalamat 

**Release note**:

```release-note
Implement preemption for extender with a verb and new interface
```
2018-03-20 15:34:41 -07:00
Anthony Yeh
c4c6e4bbb8
hack/update-bazel.sh 2018-03-20 11:15:36 -07:00
Anthony Yeh
f3ba27a500
ReplicaSet: Use apps/v1 RS in integration test. 2018-03-20 11:15:36 -07:00
Anthony Yeh
b27836032a
ReplicaSet: Use apps/v1 RS in e2e test. 2018-03-20 09:10:40 -07:00
Kubernetes Submit Queue
7ab554ce43
Merge pull request #60666 from immutableT/kms_mock_flake_issue
Automatic merge from submit-queue (batch tested with PRs 60574, 60666, 60831, 60877, 60357). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Remove potential sources of flakes for kms_transformation_test.go.

**What this PR does / why we need it**:
Remove potential sources for flakes in TestKMSPlugin test.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #
#60614
**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-03-20 08:34:35 -07:00
Da K. Ma
b23db30765 Added unscheduable taint.
Signed-off-by: Da K. Ma <klaus1982.cn@gmail.com>
2018-03-16 09:13:08 +08:00
immutablet
04a6613fb5 Instrument transformer.go with latency metrics. 2018-03-15 14:13:24 -07:00
Jun Xiang Tee
92070eba3d add rolling update daemonset existing pod adoption integration test 2018-03-14 14:00:38 -07:00
xuzhonghu
70d5af6e7b stop using AlwaysAdmit admission 2018-03-13 20:02:56 +08:00
hzxuzhonghu
f12647e16d pkg/api/unversioned related cleanup 2018-03-13 17:20:16 +08:00
immutablet
b28e8919b3 Remove potential sources of flakes for kms_transformation_test.go. 2018-03-05 08:34:14 -08:00
Harry Zhang
71603f2f85 Add preemption in scheduler extender
Add verb and preemption for scheduler extender

Update bazel

Use simple preemption in extender

Use node name instead of v1.Node

Fix support method

Fix preemption dup

Remove uneeded logics

Remove nodeInfo from param to extender

Update bazel for scheduler types

Mock extender cache with nodeInfo

Add nodeInfo as extender cache

Choose node name or node based on cache flag

Always return meta victims in result
2018-03-02 17:12:02 -08:00
immutablet
e54864f53d Instrument transformer.go with latency metrics. 2018-03-02 10:01:44 -08:00
Kubernetes Submit Queue
875f8c308f
Merge pull request #60557 from hanxiaoshuai/fixtodo0228
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

fix todo:Get rid of this duplicate function IsRetryableAPIError in favour of the one in test/utils

**What this PR does / why we need it**:
fix todo:Get rid of this duplicate function IsRetryableAPIError in favour of the one in test/utils
**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-03-01 06:03:40 -08:00
Kubernetes Submit Queue
b92807f997
Merge pull request #60580 from soltysh/table_converter
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

 Add missing table converters for server side printing 

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

/assign @smarterclayton @juanvallejo 
/kind bug

**Release note**:
```release-note
None
```
2018-03-01 05:23:37 -08:00
Jordan Liggitt
ed2f4e0426
Relax time tolerance on KMS test, limit to platforms with unix sockets available 2018-02-28 22:42:27 -05:00
hangaoshuai
126a0667c5 fix todo:Get rid of this duplicate function IsRetryableAPIError in favour of the one in test/utils 2018-03-01 09:48:00 +08:00
Maciej Szulik
1b5f38293f
Add integration test for server side printing 2018-02-28 17:27:48 +01:00
Kubernetes Submit Queue
b2f1b3d59c
Merge pull request #60514 from satyasm/ipam-perf
Automatic merge from submit-queue (batch tested with PRs 60475, 60514, 60506, 59903, 60319). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Refactor reusable parts of scheduler perf test

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

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

**Special notes for your reviewer**:

**Release note**:

```release-note
None
```

/cc @shyamjvs
2018-02-28 07:20:21 -08:00
Kubernetes Submit Queue
1aee9fd9ff
Merge pull request #60332 from yguo0905/sched
Automatic merge from submit-queue (batch tested with PRs 60236, 60332, 57375, 60451, 57408). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

kube-scheduler: Support extender managed extended resources in kube-scheduler

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

This is the continuation of https://github.com/kubernetes/kubernetes/pull/58851.

- This PR adds new extender configurations in scheduler policy config.
    - A set of extended resource names can be specified in an extender config. They are the resources that are managed by the extender. The scheduler will only send pods to the extender if the pod requests at least one of the extended resources in the set.
    - An `IgnoredByScheduler` flag can be set along with each of such resources. If this flag is set to true, the scheduler will not check the resource in the `PodFitsResources` predicate.
- This PR also changes the default behavior of the `PodFitsResources` predicate. Now, by default, `PodFitsResources` will ignore the extended resources that are not in node status. This is required to support extender managed extended resources (including cluster-level resources) on node. Note that in kube-scheduler we override the default behavior by not ignoring such missing extended resources.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes https://github.com/kubernetes/kubernetes/issues/53616 https://github.com/kubernetes/kubernetes/issues/58850 

**Special notes for your reviewer**:

**Release note**:

```
Support extender managed extended resources in kube-scheduler
```
2018-02-28 01:12:24 -08:00
Kubernetes Submit Queue
efdc6802b6
Merge pull request #60236 from immutableT/kms-mock
Automatic merge from submit-queue (batch tested with PRs 60236, 60332, 57375, 60451, 57408). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Adding Data Encryption Key (DEK) Key Encryption Key (KEK) integration…

… tests via KMS Plugin Mock.



**What this PR does / why we need it**:
Adding integration tests between KubeAPI and KMS Plugin.
Concretely, this test verifies the following integration contracts:
1. Raw records in ETCD that were processed by KMS Provider should be prefixed with k8s:enc:kms:v1:grpc-kms-provider-name:
2. Data Encryption Key (DEK) should be generated by envelopeTransformer and passed to KMS gRPC Plugin
3. KMS gRPC Plugin should encrypt the DEK with a Key Encryption Key (KEK) and pass it back to envelopeTransformer
4. The payload (ex. Secret) should be encrypted via AES CBC transform
5. Prefix-EncryptedDEK-EncryptedPayload structure should be deposited to ETCD

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-02-28 01:12:21 -08:00
Yang Guo
8d880506fe Support cluster-level extended resources in kubelet and kube-scheduler
Co-authored-by: Yang Guo <ygg@google.com>
Co-authored-by: Chun Chen <chenchun.feed@gmail.com>
2018-02-27 17:25:30 -08:00
Mike Danese
024f57affe implement token authenticator for new id tokens 2018-02-27 17:20:46 -08:00
alex
c3be7e189a Adding Data Encryption Key (DEK) Key Encryption Key (KEK) integration tests via KMS Plugin Mock. 2018-02-27 15:53:40 -08:00
Satyadeep Musuvathy
68e18a6a36 Refactor common parts of scheduler_perf into reusable utils 2018-02-27 13:30:18 -08:00
Kubernetes Submit Queue
513e67ac02
Merge pull request #55019 from mikedanese/svcacct
Automatic merge from submit-queue (batch tested with PRs 59365, 60446, 60448, 55019, 60431). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

auth: allow nodes to create tokens for svcaccts of pods

ref https://github.com/kubernetes/kubernetes/issues/58790

running on them. nodes essentially have the power to do this today
but not explicitly. this allows agents using the node identity to
take actions on behalf of local pods.

@kubernetes/sig-auth-pr-reviews @smarterclayton 

```release-note
The node authorizer now allows nodes to request service account tokens for the service accounts of pods running on them.
```
2018-02-27 10:50:46 -08:00
wackxu
b3ba80b223 update bazel 2018-02-27 20:23:36 +08:00
wackxu
f737ad62ed update import 2018-02-27 20:23:35 +08:00
Mike Danese
b43cd7307d noderestriction: restrict nodes TokenRequest permission
nodes should only be able to create TokenRequests if:
* token is bound to a pod
* binding has uid and name
* the pod exists
* the pod is running on that node
2018-02-26 13:46:19 -08:00
Kubernetes Submit Queue
8df7e8591e
Merge pull request #60260 from msau42/refactor-tests
Automatic merge from submit-queue (batch tested with PRs 60396, 60384, 60395, 60387, 60260). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Refactor and add volume scheduling tests

**What this PR does / why we need it**:
* Combines pv node affinity negative tests into the same file as the rest of volume scheduling tests
* Adds some more test cases around binding failure scenarios

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-02-26 00:01:43 -08:00
Mike Danese
b2ceeedd67 tokenrequest: tokens bound to pods running as other svcaccts 2018-02-24 22:18:24 -08:00
Kubernetes Submit Queue
15e34b13c4
Merge pull request #60324 from mikedanese/id-test1
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

integration: refactor, cleanup, and add more tests for TokenRequest

ref #58790

```release-note
NONE
```
2018-02-24 19:30:56 -08:00
Michelle Au
7167c47411 Add more test cases for volume binding in the scheduler 2018-02-23 15:28:34 -08:00
Mike Danese
32bf28daed integration: refactor, cleanup, and add more tests for TokenRequest 2018-02-23 14:59:35 -08:00
Kenneth Owens
5e8ec4f9e9 generated code 2018-02-23 08:06:42 -08:00
Kenneth Owens
22fb5c4762 Update e2e and integration to use apps/v1 for DaemonSet 2018-02-23 08:06:42 -08:00
Michelle Au
47b012ec8b Refactor tests 2018-02-22 16:19:30 -08:00
Kubernetes Submit Queue
270148d7d9
Merge pull request #58684 from hzxuzhonghu/default-enabled-admission
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

set default enabled admission plugins by official document

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

https://kubernetes.io/docs/admin/admission-controllers/#is-there-a-recommended-set-of-admission-controllers-to-use

recommend  running the following set of admission controllers 
```
If you previously had not set the `--admission-control` flag, your cluster behavior may change (to be more standard).  See [https://kubernetes.io/docs/admin/admission-controllers/] for explanation of admission control.
```

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

**Special notes for your reviewer**:

**Release note**:

```release-note
Set default enabled admission plugins `NamespaceLifecycle,LimitRanger,ServiceAccount,PersistentVolumeLabel,DefaultStorageClass,DefaultTolerationSeconds,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota`
```
2018-02-22 05:24:44 -08:00
Kubernetes Submit Queue
8b94ae8ca8
Merge pull request #58111 from mikedanese/id-registry
Automatic merge from submit-queue (batch tested with PRs 60158, 60156, 58111, 57583, 60055). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

add support for /token subresource in serviceaccount registry

I'm planning on implementing the registry bits (this) in one PR and followup with an authenticator that supports new id tokens.

https://github.com/kubernetes/kubernetes/issues/58790

@kubernetes/sig-auth-pr-reviews 

```release-note
NONE
```
2018-02-21 22:10:31 -08:00
Kubernetes Submit Queue
d32c1d7bf5
Merge pull request #59824 from immutableT/kms-integration-test
Automatic merge from submit-queue (batch tested with PRs 54191, 59374, 59824, 55032, 59906). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Extracting common logic related to integration testing of storage transforms

**What this PR does / why we need it**:
This is a pre-staging/refactoring PR for a larger PR that adds integration test for gRPC KMS Plugin.
Concretely, this PR extracts the common logic necessary to setup and run integration tests for storage transforms.

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

**Special notes for your reviewer**:
Envelope Transform (KMS Plugin Integration tests) leverages this common logic, and will be submitted after this PR.

**Release note**:

```release-note
NONE
```
2018-02-21 19:40:37 -08:00
hzxuzhonghu
27f3fd2d79 set default enabled admission plugins by official document 2018-02-22 11:02:02 +08:00
Kubernetes Submit Queue
687c651dfd
Merge pull request #59884 from mikedanese/remove-deprecated-proxy
Automatic merge from submit-queue (batch tested with PRs 58716, 59977, 59316, 59884, 60117). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

remove deprecated /proxy paths

These were deprecated in v1.2.
ref https://github.com/kubernetes/kubernetes/issues/59885
```release-note
kube-apiserver: the root /proxy paths have been removed (deprecated since v1.2). Use the /proxy subresources on objects that support HTTP proxying.
```

@kubernetes/sig-api-machinery-api-reviews
2018-02-21 15:40:45 -08:00
alex
c29f16dfb2 Extracting common logic related to integration testing of storage transforms. 2018-02-21 14:14:34 -08:00
Mike Danese
8ad1c6655b add support for /token subresource in serviceaccount registry 2018-02-21 13:16:51 -08:00
Kubernetes Submit Queue
237007b615
Merge pull request #59934 from mikedanese/jwt-auth
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

svcacct: make token authenticator fully generic

so it can be used for both new and legacy svcacct tokens. Also move the
legacy validator into legacy.go.

part of https://github.com/kubernetes/kubernetes/issues/58790

```release-note
NONE
```
2018-02-20 18:40:59 -08:00
Kubernetes Submit Queue
f8298702ff
Merge pull request #54933 from php-coder/psp_introduce_new_api_group
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Introduce PodSecurityPolicy in the policy/v1beta1 API group

Types/constants are completely the same as in `extensions/v1beta1` except that they are located outside of the `extensions` API group.

**What this PR does / why we need it**:
This is the first step for migrating PSP-related stuff away of `extensions` group. See #43214 for more information.

Also it related to https://github.com/kubernetes/features/issues/5

**Example**:
```console
$ cat restricted2.yaml 
apiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:
  name: restricted2
...
$ kubectl create -f restricted.yaml 
podsecuritypolicy "restricted2" created
$ kubectl get psp restricted2 -o yaml
apiVersion: extensions/v1beta1
kind: PodSecurityPolicy
...
```

**Release note**:
```release-note
The `PodSecurityPolicy` API has been moved to the `policy/v1beta1` API group. The `PodSecurityPolicy` API in the `extensions/v1beta1` API group is deprecated and will be removed in a future release.
```
2018-02-20 15:44:50 -08:00
Mike Danese
7b4722964d remove deprecated /proxy paths
These were depercated in v1.2.
2018-02-20 14:42:19 -08:00
Kubernetes Submit Queue
6ba46963f8
Merge pull request #59391 from msau42/topology-beta
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Move volume scheduling and local storage to beta

**What this PR does / why we need it**:
* Move the feature gates and APIs for volume scheduling and local storage to beta
* Update tests to use the beta fields
@kubernetes/sig-storage-pr-reviews 

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

**Special notes for your reviewer**:

**Release note**:

```release-note
ACTION REQUIRED: VolumeScheduling and LocalPersistentVolume features are beta and enabled by default.  The PersistentVolume NodeAffinity alpha annotation is deprecated and will be removed in a future release.
```
2018-02-20 13:26:07 -08:00
Mike Danese
2862fb333a svcacct: make token authenticator fully generic
so it can be used for both new and legacy svcacct tokens. Also move the
legacy validator into legacy.go.
2018-02-20 12:30:42 -08:00
Slava Semushin
379683d9f4 Introduce PodSecurityPolicy in the policy/v1beta1 API group.
PSP are completely the same as in extensions/v1beta1 except that they
are located outside of the extensions API group.
2018-02-19 20:14:28 +01:00
Michelle Au
c7884550b2 Add VolumeNodeAffinity to PersistentVolumeSpec 2018-02-16 17:54:10 -08:00
Jeff Grafton
ef56a8d6bb Autogenerated: hack/update-bazel.sh 2018-02-16 13:43:01 -08:00
Kubernetes Submit Queue
a0bdf35ac2
Merge pull request #59817 from shyamjvs/add-retries-to-node-create-util-function
Automatic merge from submit-queue (batch tested with PRs 59800, 59817, 59711). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add retries to PrepareNodes utility function

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

/cc @wojtek-t 

```release-note
NONE
```
2018-02-14 08:40:39 -08:00
Shyam Jeedigunta
a03b24bd03
Add retries to PrepareNodes utility function 2018-02-14 15:47:53 +01:00
Marcin Owsiany
93d8bf3492 update-bazel.sh 2018-02-14 14:22:18 +01:00
Marcin Owsiany
b1be35ebf1 Save benchmark data in perfdash-friendly format. 2018-02-14 14:22:18 +01:00
Kubernetes Submit Queue
bd6b71d015
Merge pull request #59582 from sttts/sttts-ctrl-mgr-auth
Automatic merge from submit-queue (batch tested with PRs 59653, 58812, 59582, 59665, 59511). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

controller-manager: switch to options+config pattern and add https+auth

This PR switch the {kube,cloud}-controller-managers to use the Options+Config struct pattern for bootstrapping, as we use it throughout all apiservers. This allows us to easily plug in https and authn/z support.

Fixes parts of https://github.com/kubernetes/kubernetes/issues/59483

This is equivalent to https://github.com/kubernetes/kubernetes/pull/59408 after squashing.

```release-note
Deprecate insecure HTTP port of kube-controller-manager and cloud-controller-manager. Use `--secure-port` and `--bind-address` instead.
```
2018-02-13 11:12:47 -08:00
Kubernetes Submit Queue
da0e30a278
Merge pull request #58937 from hzxuzhonghu/pass-listener
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

pass listener in integration test

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

pass listener to `SecureServingOptions` to prevent port in use flake.
partially fix #58936

**Special notes for your reviewer**:

/assign @liggitt @sttts @caesarxuchao 

**Release note**:

```release-note
NONE
```
2018-02-13 06:22:53 -08:00
hzxuzhonghu
468b8bf021 run update bazel 2018-02-13 20:46:44 +08:00
hzxuzhonghu
a6c43c6a5c pass listener in integration test to prevent port in use flake 2018-02-13 20:46:43 +08:00
Kubernetes Submit Queue
fd553ca8e2
Merge pull request #53766 from liggitt/ui-redirect
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Remove /ui/ redirect

The existing kube-apiserver hard-codes `/ui` to redirect to an optional add-on, which is not appropriate. It does not work in the following scenarios:
* https-enabled dashboards
* the dashboard is deployed to a different namespace or service name
* the dashboard is not installed at all
* authorization is enabled and does not allow access to /ui

This PR removes the hard-coded `/ui` redirect.

```release-note
apiserver: the /ui kube-dashboard redirect has been removed. Follow instructions specific to your deployment to access kube-dashboard
```
2018-02-13 04:29:18 -08:00
Dr. Stefan Schimanski
4e0114b0dd apiserver: make SecureServingOptions and authz/n options re-usable 2018-02-13 11:16:38 +01:00
Kubernetes Submit Queue
ae0f45e855
Merge pull request #59645 from hanxiaoshuai/cleanup0209
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

remove unused function printIndentedJson and printAllPods in test/integration/scheduler

**What this PR does / why we need it**:
remove unused function printIndentedJson and printAllPods in test/integration/scheduler
**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-02-12 20:59:13 -08:00
Jordan Liggitt
f8e206e802
Remove /ui/ redirect 2018-02-12 10:54:33 -05:00
hangaoshuai
7d6b721044 remove unused function printIndentedJson and printAllPods in test/integration/scheduler 2018-02-11 11:42:31 +08:00
Di Xu
48388fec7e fix all the typos across the project 2018-02-11 11:04:14 +08:00
Kubernetes Submit Queue
c179b8a05c
Merge pull request #58437 from tossmilestone/scheduler-golint
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Enable golinting for scheduler packages.

**What this PR does / why we need it**:
Enable golinting for scheduler packages

**Which issue(s) this PR fixes**:
Fixes #58234 

**Special notes for your reviewer**:
- `pkg/scheduler/api` and `pkg/scheduler/api/v1` are not removed from `hack/.golint_failures`, because there are auto-generated go files by `deepcopy-gen` in the package, which have golint errors and are not suggested manually edited.
- Please help to refine the comments if there are error or inaccurate descriptions. Thanks! 

**Release note**:

```release-note
Enable golint for `pkg/scheduler` and fix the golint errors in it.
```
2018-02-08 21:02:24 -08:00
Kubernetes Submit Queue
24f387127a
Merge pull request #58854 from liggitt/prefer-v1-storage
Automatic merge from submit-queue (batch tested with PRs 59580, 58854). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Prefer apps/v1 storage for daemonsets, deployments, replicasets, statefulsets

The workload API objects went GA in 1.9. This means we can safely begin persisting them in etcd in apps/v1 format in 1.10.

xref #43214

```release-note
DaemonSet, Deployment, ReplicaSet, and StatefulSet objects are now persisted in etcd in apps/v1 format
```
2018-02-08 16:58:32 -08:00
Kubernetes Submit Queue
c15ae2fff7
Merge pull request #59360 from immutableT/envelop_encryption_benchmark
Automatic merge from submit-queue (batch tested with PRs 59190, 59360). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Adding benchmarks to envelop encryption integration tests

**What this PR does / why we need it**:
Adding benchmarks for envelop encryption integration tests.
Allows to estimate how envelop encryption may impact the performance of KubeAPI server.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-02-08 13:31:31 -08:00
alex
cfdea234c3 Adding benchmarks to envelop encryption integration tests 2018-02-08 10:57:58 -08:00
Kubernetes Submit Queue
fb340a4695
Merge pull request #57824 from thockin/gcr-vanity
Automatic merge from submit-queue (batch tested with PRs 57824, 58806, 59410, 59280). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

2nd try at using a vanity GCR name

The 2nd commit here is the changes relative to the reverted PR.  Please focus review attention on that.

This is the 2nd attempt.  The previous try (#57573) was reverted while we
figured out the regional mirrors (oops).
    
New plan: k8s.gcr.io is a read-only facade that auto-detects your source
region (us, eu, or asia for now) and pulls from the closest.  To publish
an image, push k8s-staging.gcr.io and it will be synced to the regionals
automatically (similar to today).  For now the staging is an alias to
gcr.io/google_containers (the legacy URL).
    
When we move off of google-owned projects (working on it), then we just
do a one-time sync, and change the google-internal config, and nobody
outside should notice.
    
We can, in parallel, change the auto-sync into a manual sync - send a PR
to "promote" something from staging, and a bot activates it.  Nice and
visible, easy to keep track of.

xref https://github.com/kubernetes/release/issues/281

TL;DR:
  *  The new `staging-k8s.gcr.io` is where we push images.  It is literally an alias to `gcr.io/google_containers` (the existing repo) and is hosted in the US.
  * The contents of `staging-k8s.gcr.io` are automatically synced to `{asia,eu,us)-k8s.gcr.io`.
  * The new `k8s.gcr.io` will be a read-only alias to whichever regional repo is closest to you.
  * In the future, images will be promoted from `staging` to regional "prod" more explicitly and auditably.

 ```release-note
Use "k8s.gcr.io" for pulling container images rather than "gcr.io/google_containers".  Images are already synced, so this should not impact anyone materially.
    
Documentation and tools should all convert to the new name. Users should take note of this in case they see this new name in the system.
```
2018-02-08 03:29:32 -08:00
tossmilestone
3fdacfead5 Fix golint errors in pkg/scheduler based on golint check 2018-02-08 15:22:47 +08:00
Tim Hockin
3586986416 Switch to k8s.gcr.io vanity domain
This is the 2nd attempt.  The previous was reverted while we figured out
the regional mirrors (oops).

New plan: k8s.gcr.io is a read-only facade that auto-detects your source
region (us, eu, or asia for now) and pulls from the closest.  To publish
an image, push k8s-staging.gcr.io and it will be synced to the regionals
automatically (similar to today).  For now the staging is an alias to
gcr.io/google_containers (the legacy URL).

When we move off of google-owned projects (working on it), then we just
do a one-time sync, and change the google-internal config, and nobody
outside should notice.

We can, in parallel, change the auto-sync into a manual sync - send a PR
to "promote" something from staging, and a bot activates it.  Nice and
visible, easy to keep track of.
2018-02-07 21:14:19 -08:00
Kubernetes Submit Queue
5a4b160cf0
Merge pull request #59281 from bsalamat/nominated_node
Automatic merge from submit-queue (batch tested with PRs 59010, 59212, 59281, 59014, 59297). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Replace nominateNodeName annotation with PodStatus.NominatedNodeName

**What this PR does / why we need it**:
Replaces nominateNodeName annotation with PodStatus.NominatedNodeName in scheudler's logic. We don't expect any logic/behavior changes.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

ref #57471

/sig scheduling
cc: @k82cn @aveshagarwal @resouer
2018-02-07 15:27:43 -08:00
Kubernetes Submit Queue
40d7080555
Merge pull request #59212 from crimsonfaith91/fix-ca
Automatic merge from submit-queue (batch tested with PRs 59010, 59212, 59281, 59014, 59297). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

fix deployment's collision avoidance mechanism

**What this PR does / why we need it**:
This PR modifies deployment's collision avoidance mechanism to take into account a replicaset's `.Labels` field change. This ensures that the mechanism can be triggered when the user updates only the `.Labels` field of the replicaset without modifying the replicaset's PodTemplateSpec.

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

**Release note**:
```release-note
NONE
```
2018-02-07 15:27:40 -08:00
Kubernetes Submit Queue
1f6251444b
Merge pull request #51042 from soltysh/request_timeout
Automatic merge from submit-queue (batch tested with PRs 59276, 51042, 58973, 59377, 59472). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Allow passing request-timeout from NewRequest all the way down

**What this PR does / why we need it**:
Currently if you pass `--request-timeout` it's not passed all the way down to the actual request object. There's a separate field on the `Request` object that allows setting that timeout, but it's not taken from that flag. 

@smarterclayton @deads2k ptal, this is coming from https://github.com/openshift/origin/pull/13701
2018-02-07 12:00:44 -08:00
Jun Xiang Tee
18289cc0df fix deployment's collision avoidance mechanism 2018-02-07 11:28:43 -08:00
Kubernetes Submit Queue
5cecc6ec68
Merge pull request #59350 from jsafrane/recycler-wait
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Do not recycle volumes that are used by pods

**What this PR does / why we need it**:
Recycler should wait until all pods that use a volume are finished.

Consider this scenario:

1. User creates a PVC that's bound to a NFS PV.
2. User creates a pod that uses the PVC
3. User deletes the PVC.

Now the PV gets `Released` (the PVC does not exists) and recycled, however the PV is still mounted to a running pod. PVC protection won't help us, because it puts finalizers on PVC that is under user's control and user can remove it.

This PR checks that there is no pod that uses a PV before it recycles it.

**Release note**:

```release-note
NONE
```

/sig storage
2018-02-07 10:01:32 -08:00
Maciej Szulik
7da1002091 Allow passing request-timeout from NewRequest all the way down to actual request 2018-02-07 16:02:26 +01:00
Kubernetes Submit Queue
1f3c66fba7
Merge pull request #59437 from mikedanese/id-api
Automatic merge from submit-queue (batch tested with PRs 58444, 59283, 59437, 59325, 59449). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

authentication: remove TokenRequest from authentication.k8s.io/v1beta1

We don't actually need v1beta1 TokenRequest so should we leave the API group sparse?

https://github.com/kubernetes/kubernetes/issues/58790

```release-note
NONE
```
2018-02-06 22:42:38 -08:00
Kubernetes Submit Queue
4b01601a07
Merge pull request #59363 from yguo0905/sched-config
Automatic merge from submit-queue (batch tested with PRs 59394, 58769, 59423, 59363, 59245). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

kube-scheduler: Use default predicates/prioritizers if they are unspecified in the policy config

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

The scheduler has built-in default sets of predicate/prioritizer that are applied on pod scheduling. It can also take a policy config file where predicate/prioritizer and extender settings can be specified. The current behavior is that if we want to configure an extender using the policy config, we have to also provide the default predicate/prioritizer settings. Otherwise, the empty predicate/prioritizer sets will be used.

This is inconvenient, and it's hard to keep the policy config up to date with the scheduler's defaults. This PR changes the scheduler to use the default predicate/prioritizer sets if they are unspecified in the policy config. But an empty list would bypass non-mandatory predicates/prioritizers.

This will change the behavior of a policy config that does not specify (but not empty list) predicate/prioritizer, but it's unlike someone is using such config in practice.

**Special notes for your reviewer**:

I think it makes sense to have this in 1.9 as well because
- It's safe, given the scope of this change and the fact that it's very unlikely that someone is using a policy config with empty predicates/prioritizers.
- Compared with the risk, asking users to provide the default predicate/prioritizer sets for is error-prone and may cause other issues.

**Release note**:

```release-note
kube-scheduler: Use default predicates/prioritizers if they are unspecified in the policy config
```

/sig scheduling
/assign @bsalamat
/cc @vishh
2018-02-06 21:34:46 -08:00
Mike Danese
33a8f39a03 authentication: remove TokenRequest from authentication.k8s.io/v1beta1
We don't actually need that type so leave the API group sparse.
2018-02-06 14:07:08 -08:00
Yang Guo
f69eaa3b18 kube-scheduler: Use default predicates/prioritizers if policy config does not specify them 2018-02-06 13:01:33 -08:00
Mike Danese
48959be848 add minimal types for service account TokenRequest API 2018-02-05 11:39:27 -08:00
Jan Safranek
c96c0495f4 Pass pod informer to PV controller 2018-02-05 15:40:25 +01:00
Kubernetes Submit Queue
61f58ebfb2
Merge pull request #55439 from crimsonfaith91/revamp
Automatic merge from submit-queue (batch tested with PRs 55439, 58564, 59028, 59169, 59259). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

add basic functionality deployment integration tests

**What this PR does / why we need it**:
This PR adds basic deployment integration tests.

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

**Release note**:

```release-note
NONE
```
2018-02-02 17:17:33 -08:00
Kubernetes Submit Queue
bdde196191
Merge pull request #58999 from tanshanshan/scheduler-msg
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Make predicate errors more human readable

**What this PR does / why we need it**:
Make predicate errors more human readable

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

**Special notes for your reviewer**:

**Release note**:

```release-note

```
2018-02-02 13:36:23 -08:00
Bobby (Babak) Salamat
ec69dd139b autogenerated files 2018-02-02 13:06:33 -08:00
Bobby (Babak) Salamat
bfd950e471 Replace nominateNodeName annotation with PodStatus.NominatedNodeName in scheudler logic 2018-02-02 13:06:33 -08:00
Kubernetes Submit Queue
8363129ee6
Merge pull request #58462 from NickrenREN/va-to-beta
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add V1beta1 VolumeAttachment API

**What this PR does / why we need it**:
Add V1beta1 VolumeAttachment API, co-existing with Alpha API object

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

**Special notes for your reviewer**:

**Release note**:
```release-note
Add V1beta1 VolumeAttachment API, co-existing with Alpha API object
```
2018-02-01 18:50:25 -08:00
Jun Xiang Tee
1334b61029 add basic functionality deployment integration tests 2018-02-01 16:21:07 -08:00
Juan Vallejo
4026356b1c
Revert "fail earlier on discovery failures" 2018-02-01 13:02:10 -05:00
tanshanshan
c389e3cec7 Make predicate errors more human readable 2018-02-01 10:22:53 +08:00
alex
9b86d848ed aesgcm - passing 2018-01-31 10:50:11 -08:00
NickrenREN
7b9d2c046f Use v1beta1 VolumeAttachment 2018-01-31 18:46:11 +08:00
NickrenREN
d45a41807e Add Beta VolumeAttachment API 2018-01-31 17:38:11 +08:00
Kubernetes Submit Queue
ed273fc9bb
Merge pull request #58935 from hzxuzhonghu/cleanup-integration-framework
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

code cleanup in integration test framework

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

code cleanup 

**Special notes for your reviewer**:
/kind cleanup
**Release note**:

```release-note
NONE
```
2018-01-30 06:24:09 -08:00
hzxuzhonghu
d1452cd59f run update bazel 2018-01-29 10:32:29 +08:00
hzxuzhonghu
2c351d9472 code cleanup in integration framework 2018-01-29 10:32:21 +08:00
hzxuzhonghu
d0d1e1dcc4 refactor resource_config.go thoroughly and remove useless code in registry 2018-01-27 16:10:58 +08:00
Jordan Liggitt
e4f3232e54
Prefer apps/v1 storage for daemonsets, deployments, replicasets 2018-01-26 00:37:08 -05:00
Mike Danese
057b7af798 serviceaccount: check token is issued by correct iss before verifying
Right now if a JWT for an unknown issuer, for any subject hits the
serviceaccount token authenticator, we return a errors as if the token
was meant for us but we couldn't find a key to verify it. We should
instead return nil, false, nil.

This change helps us support multiple service account token
authenticators with different issuers.
2018-01-24 20:21:59 -08:00
Kubernetes Submit Queue
621f3f3c0a
Merge pull request #58360 from liggitt/csi-node-authorizer
Automatic merge from submit-queue (batch tested with PRs 58488, 58360). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add get volumeattachment to the node authorizer

Fixes #58355

Adds `get volumeattachment` authorization for nodes to the node authorizer when the CSI feature is enabled

```release-note
NONE
```
2018-01-18 20:55:34 -08:00
Kubernetes Submit Queue
b7100f1ee7
Merge pull request #48859 from victorgp/master
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Support for custom tls cipher suites in api server and kubelet

**What this PR does / why we need it**:
This pull request aims to solve the problem of users not able to set custom cipher suites in the api server.
Several users have requested this given that some default ciphers are vulnerable.
There is a discussion in #41038 of how to implement this. The options are:
- Setting a fixed list of ciphers, but users will have different requirements so a fixed list would be problematic.
- Letting the user set them by parameter, this requires adding a new parameter that could be pretty long with the list of all the ciphers.

I implemented the second option, if the ciphers are not passed by parameter, the Go default ones will be used (same behavior as now).

**Which issue this PR fixes** 
fixes #41038 

**Special notes for your reviewer**:
The ciphers in Go tls config are constants and the ones passed by parameters are a comma-separated list. I needed to create the `type CipherSuitesFlag` to support that conversion/mapping, because i couldn't find any way to do this type of reflection in Go.
If you think there is another way to implement this, let me know.

If you want to test it out, this is a ciphers combination i tested without the weak ones:

```
TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
```

If this is merged i will implement the same for the Kubelet.

**Release note**:
```release-note
kube-apiserver and kubelet now support customizing TLS ciphers via a `--tls-cipher-suites` flag
```
2018-01-17 17:46:40 -08:00
Victor Garcia
d7dbc96c70 Adding support for custom TLS ciphers in api server and kubelet 2018-01-17 12:55:55 -08:00
Kubernetes Submit Queue
48f69ac964
Merge pull request #55595 from guangxuli/move_token_constant_and_helper
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add generic Bootstrap Token constants and helpers to client-go

**What this PR does / why we need it**:
per https://github.com/kubernetes/client-go/issues/114

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

fix  https://github.com/kubernetes/client-go/issues/114

**Special notes for your reviewer**:

**Release note**:

```release-note
none
```
2018-01-17 10:22:25 -08:00
Kubernetes Submit Queue
99fb21f61f
Merge pull request #58149 from CaoShuFeng/duplicated_import_2
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

remove duplicated import

**Release note**:
```release-note
NONE
```
2018-01-17 01:41:36 -08:00
Gavin
f653d02b05 create auto-gen files 2018-01-17 16:23:03 +08:00
Gavin
bb5e156aba Add generic Bootstrap Token constants and helpers to client-go 2018-01-17 16:22:37 +08:00
Jordan Liggitt
ecfd18e2a6
Add get volumeattachments support to Node authorizer 2018-01-17 00:00:18 -05:00
Jordan Liggitt
ba09fadecf
Plumb versioned informers to authz config 2018-01-16 23:30:53 -05:00
Cao Shufeng
4e7398b67b remove duplicated import 2018-01-17 09:34:59 +08:00
David Eads
49f12fa70f fail earlier on discovery failures 2018-01-16 16:02:13 -05:00
p0lyn0mial
dd9de90b0a the changes introduced in this commit plumbs in the generic scaler into kubectl.
note that we don't change the behaviour of kubectl.
For example it won't scale new resources. That's the end goal.
The first step is to retrofit existing code to use the generic scaler.
2018-01-12 09:21:18 +01:00
Eric Chiang
ce0a8303d6 integration: add retries to node authorizer tests 2018-01-10 15:55:18 -08:00
Joe Betz
6a0c69e971 Fix build and test errors from etcd 3.2.13 upgrade 2018-01-07 08:22:08 -08:00
Jonathan Basseri
85c5862552 Fix scheduler refs in BUILD files.
Update references to moved scheduler code.
2018-01-05 15:05:01 -08:00
Jonathan Basseri
30b89d830b Move scheduler code out of plugin directory.
This moves plugin/pkg/scheduler to pkg/scheduler and
plugin/cmd/kube-scheduler to cmd/kube-scheduler.

Bulk of the work was done with gomvpkg, except for kube-scheduler main
package.
2018-01-05 15:05:01 -08:00
Kubernetes Submit Queue
e7070354fe
Merge pull request #57492 from cheftako/node-controller
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Split the NodeController into lifecycle and ipam pieces.

**What this PR does / why we need it**: Separates node controller into ipam and lifecycle components. 

    Prepatory work for removing cloud provider dependency from node
    controller running in Kube Controller Manager. Splitting the node
    controller into its two major pieces life-cycle and CIDR/IP
    management. Both pieces currently need the the cloud system to do their work.
    Removing lifecycles dependency on cloud will be fixed ina followup PR.
    
    Moved node scheduler code to live with node lifecycle controller.
    Got the IPAM/Lifecycle split completed. Still need to rename pieces.
    Made changes to the utils and tests so they would be in the appropriate
    package.
    Moved the node based ipam code to nodeipam.
    Made the relevant tests pass.
    Moved common node controller util code to nodeutil.
    Removed unneeded pod informer sync from node ipam controller.


**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #https://github.com/kubernetes/kubernetes/issues/52369

**Special notes for your reviewer**:

**Release note**:
```release-note
None
```
2018-01-05 07:52:43 -08:00
Kubernetes Submit Queue
afbbd394c1
Merge pull request #57517 from verb/paws-bump
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Bump pause container used by kubelet and tests to 3.1

This updates the version of the pause container used by the kubelet and
various test utilities to 3.1.

**What this PR does / why we need it**: The pause container hasn't been rebuilt in quite a while and needs an update to reap zombies (#50865) and for schema2 manifest (#56253).

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

**Special notes for your reviewer**:

**Release note**:

```release-note
The kubelet uses a new release 3.1 of the pause container with the Docker runtime. This version will clean up orphaned zombie processes that it inherits.
```
2018-01-04 17:06:48 -08:00
Walter Fender
9187b343e1 Split the NodeController into lifecycle and ipam pieces.
Prepatory work fpr removing cloud provider dependency from node
controller running in Kube Controller Manager. Splitting the node
controller into its two major pieces life-cycle and CIDR/IP
management. Both pieces currently need the the cloud system to do their work.
Removing lifecycles dependency on cloud will be fixed ina followup PR.

Moved node scheduler code to live with node lifecycle controller.
Got the IPAM/Lifecycle split completed. Still need to rename pieces.
Made changes to the utils and tests so they would be in the appropriate
package.
Moved the node based ipam code to nodeipam.
Made the relevant tests pass.
Moved common node controller util code to nodeutil.
Removed unneeded pod informer sync from node ipam controller.
Fixed linter issues.
Factored in  feedback from @gmarek.
Factored in feedback from @mtaufen.
Undoing unneeded change.
2018-01-04 12:48:08 -08:00
Lee Verberne
1ea697044a Update pause container version to 3.1
This updates the version of the pause container used by the kubelet and
various test utilities to 3.1.

This also adds a CHANGELOG.md for build/pause
2018-01-04 11:35:29 +01:00
Serguei Bezverkhi
8ef2a87371 Move local PV negative scheduling tests to integratiom
Closes: #56088
2018-01-03 21:05:14 -05:00
Jeff Grafton
efee0704c6 Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
Tim Hockin
e9dd8a68f6 Revert k8s.gcr.io vanity domain
This reverts commit eba5b6092a.

Fixes https://github.com/kubernetes/kubernetes/issues/57526
2017-12-22 14:36:16 -08:00
Jonathan Basseri
46fb8b00a3 Auto generated BUILD file 2017-12-20 14:41:52 -08:00
Jonathan Basseri
03bdef4045 Add scheduler benchmark tests for affinity rules.
This adds new benchmark tests that measure scheduler latency of pods
that use affinity rules. Specifically, this tests affinity rules with
topologyKey="kubernetes.io/hostname".
2017-12-20 12:53:12 -08:00
Jonathan Basseri
3a456bf9cb Set a minimum b.N for scheduler_perf benchmarks.
Under the default behavior of Go benchmark tests, all our scheduler_perf
benchmark tests run with b.N=1, which is lower than we would like. This
adds a lower bound to b.N so that the results are more meaningful.

The alternative to this change is to always run these tests with the
-benchtime flag set to a duration which will force b.N to increase. That
would cause any test setup to be executed repeatedly as b.N ramps up,
and -timout would probably also need to be set higher.
2017-12-20 12:53:12 -08:00
Wojciech Tyczynski
4e8526dc6b
Revert "Version bump to etcd v3.2.11, grpc v1.7.5" 2017-12-19 15:25:06 +01:00
Kubernetes Submit Queue
a7b404ec7f
Merge pull request #57160 from jpbetz/etcd-client-3.2.11
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Version bump to etcd v3.2.11, grpc v1.7.5

Fix https://github.com/kubernetes/kubernetes/issues/56114: Update to etcd client 3.2.11

Version bumps:

- etcd from 3.1.10 to 3.2.11
- grpc from 1.3.0 to 1.7.5
- grpc-gateway from v1.1.0-25-g84398b9 to v1.3.0

TODO:

- [x] Apply etcd [3.2 client upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md)
- [x] Apply grpc API changes in 1.6.0 and 1.7.0 [release notes](https://github.com/grpc/grpc-go/releases)
- [x] bbolt was pulled in transitively, why? We have tests that embed etcd, so we must vendor the etcd server and all it's dependencies.
- [x] Upgrade to containerd v1.0.0? Currently kubernetes depends on containerd v1.0.0-beta.2-159-g27d450a0 which depends on grpc v1.3.0, but  containerd v1.0.0 depends on grpc 1.7.2. Not needed. The containerd grpc upgrade required [no code changes](ce3e32680d).
- [x] Fix all failing tests
- [x] Ensure we can safely upgrade grpc to 1.7.5 given that docker and cAdvisor still depend on grpc 1.3.0 (both in the versions we vend and on master for both projects). Should we hold off on this change until we have a docker release that uses gprc 1.7.x?
- [x] Wait for grpc 1.7.5 to be released (it will include https://github.com/grpc/grpc-go/pull/1747). Once released, bump grpc version in this PR and remove workarounds in `hack/godep-save.sh`.

Transitive dependencies on grpc:
- docker depends on grpc, but according to the package dependency graph (`go list -f '{{ .Deps }}'`) there are no dependencies from kubernetes to grpc via docker packages.
- containerd v1.0.0 depends on grpc 1.7.2, we should upgrade to containerd v1.0.0 soon, this can be done in a separate PR
- cadvisor depends on grpc 1.3.0 on master, it should upgrade it to grpc 1.7.5, this can be done in a separate PR

**Release note**:

```release-note
Upgrade to etcd client 3.2.11 and grpc 1.7.5 to improve HA etcd cluster stability.
```
2017-12-19 02:14:36 -08:00