Commit Graph

3132 Commits

Author SHA1 Message Date
Dave Chen
5144e2ec78 Remove the deprecated metrics from scheduler
Deprecated metrics are removed and suggest to use the Histogram
metrics got from scheduler extension points.

Signed-off-by: Dave Chen <dave.chen@arm.com>
Co-authored-by: wawa0210 <xiaozhang0210@hotmail.com>
2020-12-14 11:31:50 +08:00
Jefftree
32a64cf14c tests for buildOpenAPIModelsForApply 2020-12-10 15:33:18 -08:00
ialidzhikov
bc432124a2 Remove CSINodeInfo feature gate
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>
2020-12-10 09:58:22 +02:00
Kubernetes Prow Robot
65d57211e3
Merge pull request #97068 from chendave/selectors
Add constraint selector to pod template
2020-12-08 22:01:19 -08:00
Kubernetes Prow Robot
74a7fc46c3
Merge pull request #97029 from andrewsykim/routes-controller-allocate-node-cidr-check
cloud-controller-manager: routes controller should not depend on --allocate-node-cidrs
2020-12-08 22:00:50 -08:00
Kubernetes Prow Robot
54de7237f4
Merge pull request #96571 from smarterclayton/fedora_path_2
test/integration/etcd: Use the busybox shim image constant
2020-12-08 17:29:09 -08:00
Kubernetes Prow Robot
83b2c7a1bf
Merge pull request #96311 from thockin/kep-1659-topology-labels
Convert users of old failure-domain labels to new
2020-12-08 17:28:27 -08:00
Kubernetes Prow Robot
9a175b9b2a
Merge pull request #96223 from SataQiu/fix-scheduler-20201104
scheduler: parse Pod's Node affinity once in PreScore phase
2020-12-08 17:28:06 -08:00
Dave Chen
58142288a5 Add constraint selector to pod template
PodTopologySpread plugin will only count the existing pod when that
pod's label matches with `constraint.Selector`, which means all pods
could be scheduled to one topology zone when the constraint does not
have any selector defined.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-12-04 18:04:26 +08:00
Andrew Sy Kim
0c90d8ddd9 test/integration: disable fake cloud routes controllers in cloud-controller-manager secure serving tests
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-12-03 14:03:33 -05:00
SataQiu
2b38078de1 scheduler: parse Pod's Node affinity once in PreScore phase
Signed-off-by: SataQiu <1527062125@qq.com>
2020-11-26 11:19:52 +08:00
Andrew Sy Kim
a5aba23813 test/integration: add helper function serviceHasNodePorts for service load balancer tests
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-11-24 10:00:58 -05:00
Andrew Sy Kim
c1285ac83b test/integration: add integration tests for service.spec.allocateLoadBalancerNodePorts
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-11-24 10:00:58 -05:00
Jordan Liggitt
afd92b3b3e Revert "plumb context with request deadline"
This reverts commit 83f869ee13.
2020-11-19 18:15:04 -05:00
Kubernetes Prow Robot
d0398c395a
Merge pull request #96185 from roycaihw/dedup-owner-references
Apiserver dedups owner references before creating/updating objects
2020-11-19 14:54:52 -08:00
Haowei Cai
7a6afe7989 make sure managedFields are written 2020-11-18 19:21:25 -08:00
Haowei Cai
40a65577c7 generated 2020-11-18 12:48:26 -08:00
Haowei Cai
8bcf34a203 unit and integration tests
apiserver dedups and adds warning in CREATE/UPDATE/PATCH requests;
also handles duplication caused by mutating admission.
2020-11-18 12:46:20 -08:00
Jordan Liggitt
14f7f3201f Add GC integration race test 2020-11-17 10:42:48 -05:00
Kubernetes Prow Robot
147a120948
Merge pull request #82222 from Huang-Wei/0-informer-sync-period
Set 0 sync period in scheduler integration test
2020-11-16 11:16:04 -08:00
Abu Kashem
83f869ee13
plumb context with request deadline
- as soon as a request is received by the apiserver, determine the
timeout of the request and set a new request context with the deadline.
- the timeout filter that times out non-long-running requests should
use the request context as opposed to a fixed 60s wait today.
- admission and storage layer uses the same request context with the
deadline specified.
2020-11-14 11:54:17 -05:00
Kubernetes Prow Robot
05d1b94a70
Merge pull request #96317 from Jefftree/test-ssa
Integrate defaults marker to defaulter-gen
2020-11-13 22:35:03 -08:00
Kubernetes Prow Robot
36f571404f
Merge pull request #96527 from adtac/apfbeta
promote API priority and fairness types and APIs to beta
2020-11-13 19:33:04 -08:00
Antoine Pelisse
d3e641e84e Add default for protocol and test that it works 2020-11-13 17:06:35 -08:00
yue9944882
849be447f5 APF: graduate API and types to beta
Signed-off-by: Adhityaa Chandrasekar <adtac@google.com>
2020-11-13 23:20:39 +00:00
Clayton Coleman
12262c99c4
test/integration/etcd: Use the busybox shim image constant
Instead of hardcoding fedora:latest, use one of our e2e images as
source inside the created pods. This will allow users who test with
this data outside of integration environments to reference a real
image and avoid spurious errors.
2020-11-13 13:48:04 -05:00
Kubernetes Prow Robot
da75c26648
Merge pull request #95978 from roycaihw/storage-version/gc
Storage version garbage collector
2020-11-12 18:36:37 -08:00
Haowei Cai
f675dac440 generated 2020-11-12 16:25:22 -08:00
Haowei Cai
b78effe612 GC integration test 2020-11-12 16:25:06 -08:00
Haowei Cai
59b13500c6 unblock resources that the storage version manager depends on
to avoid deadlock itself
2020-11-12 16:24:58 -08:00
Tim Hockin
4068402459 Change trivial topology labels
In these cases the actual label key is incidental.
2020-11-12 11:21:37 -08:00
Kubernetes Prow Robot
3e43d5b92a
Merge pull request #96292 from wangyx1992/cleanup-scheduler-log-capatilization
cleanup: fix log capitalization in scheduler
2020-11-12 11:20:45 -08:00
Yixiang2019
842cc6b4e2 cleanup: fix log capitalization in scheduler
Signed-off-by: Yixiang2019 <wang.yixiang@zte.com.cn>
2020-11-12 20:10:26 +08:00
Wei Huang
af384f27ed
Fix failures in TestBindPlugin and TestPreemptWithPermitPlugin 2020-11-11 12:56:13 -08:00
Wei Huang
185093bd4e
Set 0 sync period in scheduler integration test 2020-11-11 12:56:13 -08:00
Sergey Kanzhelev
06da0e5e74 GA of RuntimeClass feature gate and API 2020-11-11 19:22:32 +00:00
Kubernetes Prow Robot
c3769096c6
Merge pull request #96439 from Huang-Wei/sched-policy-defaultpreemption
Fix a bug that DefaultPreemption plugin is disabled when using scheduler policy
2020-11-11 07:44:18 -08:00
Wei Huang
47a7c374c6
Fix a bug that DefaultPreemption plugin is disabled when using scheduler policy 2020-11-10 17:48:32 -08:00
Kubernetes Prow Robot
57908e7b8f
Merge pull request #96045 from leilajal/master
tests to check metrics labels
2020-11-10 17:48:32 -08:00
Haowei Cai
bfebc7aefd generated 2020-11-10 15:32:16 -08:00
Haowei Cai
4794ba18ed integration test 2020-11-10 15:32:15 -08:00
Kubernetes Prow Robot
9778f05c7b
Merge pull request #96320 from Huang-Wei/cleanup-annotation-wording
cleanup dated wording "NominatedNodeName annotation"
2020-11-09 20:56:54 -08:00
Kubernetes Prow Robot
4261200724
Merge pull request #93873 from roycaihw/storage-version/handler
Apiserver updates storageversions API and filters certain write requests during bootstrap
2020-11-09 17:30:41 -08:00
Kubernetes Prow Robot
e5194dd936
Merge pull request #96202 from alculquicondor/default-node-affinity
Add AddedAffinity to NodeAffinity Filter and Score plugin
2020-11-09 15:14:55 -08:00
Aldo Culquicondor
3ce145787a Add AddedAffinity to the NodeAffinityArgs
And use it in Filter and Score.

Change-Id: I173d8f2d5578762e9873181d5b44ea30b6dbbbc2
2020-11-09 15:19:15 -05:00
Haowei Cai
b5b93004b5 generated 2020-11-08 18:53:40 -08:00
Chao Xu
fa1805cc5c Add an integration test.
To make sure that the storage version filter can block certain requests until
the storage version updates are completed, and that the apiserver works
properly after the storage version updates are done.
2020-11-08 18:53:40 -08:00
Kubernetes Prow Robot
f43007543c
Merge pull request #96326 from Huang-Wei/cleanup-sched-perf
Update docs and fix redundant logic of scheduler perf
2020-11-08 18:35:37 -08:00
Wei Huang
267acdbe81
Update docs and fix redundant logic of scheduler perf 2020-11-06 23:45:09 -08:00
Kubernetes Prow Robot
281866b35c
Merge pull request #95533 from roycaihw/apiserver-lease-controller
Add kube-apiserver lease controller
2020-11-06 18:09:37 -08:00
Wei Huang
b5eeb8cd0f
cleanup dated wording "NominatedNodeName annotation" 2020-11-06 13:42:01 -08:00
Haowei Cai
39f8daf967 generated 2020-11-06 13:33:08 -08:00
Haowei Cai
3761a00e5b add kube-apiserver-lease-controller poststart hook 2020-11-06 13:33:08 -08:00
Kubernetes Prow Robot
8f6ffb24df
Merge pull request #96236 from adtac/apfsnakecase
APF: use snake_case in metric labels
2020-11-06 02:20:50 -08:00
Tim Hockin
819ff9b087
Use topology labels instead of old beta names (#96033)
* Rename const for topology.../zone

* Rename const for topology.../region

* Rename const for failure-domain.../zone

* Rename const for failure-domain.../region

* Restore old names for compat
2020-11-05 20:26:50 -08:00
Leila Jalali
79e1ba1ae6 minor changes in adding tests for checking metrics labels 2020-11-05 18:42:28 +00:00
Adhityaa Chandrasekar
f9d57a8d5d APF: use snake_case in metric labels
Signed-off-by: Adhityaa Chandrasekar <adtac@google.com>
2020-11-04 22:19:54 +00:00
Leila Jalali
9de601910f minor changes to tests for checking metrics labels based on review comments 2020-11-04 21:23:25 +00:00
Wei Huang
a146cb0aa0
Replace calls to cs.CoreV1().Nodes().Create() with createNode() 2020-11-03 15:25:44 -08:00
Wei Huang
f054765762
Add a function to ensure created nodes are present in scheduler cache 2020-11-03 15:25:44 -08:00
Abu Kashem
53a1307f68
make backoff parameters configurable for webhook
Currently webhook retry backoff parameters are hard coded, we want
to have the ability to configure the backoff parameters for webhook
retry logic.
2020-11-01 10:18:25 -05:00
Kubernetes Prow Robot
bf67247124
Merge pull request #93258 from zshihang/token
mv TokenRequest and TokenRequestProjection to GA
2020-10-30 16:36:51 -07:00
Kubernetes Prow Robot
4b65f70652
Merge pull request #95740 from cici37/moveCCM
Move cloud-controller-manager to staging k8s.io/cloud-provider
2020-10-30 13:48:51 -07:00
Leila Jalali
4cff1311c5 Added tests to check metrics labels 2020-10-30 11:15:50 +00:00
Kubernetes Prow Robot
f2ed1b5580
Merge pull request #96016 from cici37/informer
Move informer_factory to staging
2020-10-30 00:44:06 -07:00
cici37
9465d95ea6 Move CCM to staging k8s.io/cloud-provider 2020-10-29 20:50:23 -07:00
Shihang Zhang
ff641f6eb2 mv TokenRequest and TokenRequestProjection to GA 2020-10-29 20:47:01 -07:00
Kubernetes Prow Robot
ba75a6dbd7
Merge pull request #96012 from khenidak/clusterIPs-labeling
add tests that update services while gate is off
2020-10-29 17:40:45 -07:00
cici37
a91a2cdad6 Move informer_factory to staging 2020-10-29 12:20:33 -07:00
Khaled (Kal) Henidak
7bdc244f4a add tests that update services while gate is off 2020-10-29 18:59:48 +00:00
Kubernetes Prow Robot
1968e96165
Merge pull request #95856 from knight42/refactor/disable-apiserver-insecure-port
refactor(apiserver): disable insecure port
2020-10-29 10:47:58 -07:00
knight42
cfc2b330a7
refactor(apiserver): ignore the insecure flags
Leave the insecure flags intact but stop serving on insecure port.
2020-10-29 23:20:17 +08:00
Antonio Ojea
6526714e9a dualstack endpoints integration tests
add integration tests to verify the behaviour of the endpoints
and endpointslices controller with dual stack services.

Since services can be single or dual stack, endpoints should be
generated for each IP family in the endpoint slice controller.

The legacy endpoint controller only will generate endpoints
in the first IP family configured in the service.

integration fix
2020-10-28 12:02:56 +01:00
Khaled Henidak (Kal)
6675eba3ef
dual stack services (#91824)
* api: structure change

* api: defaulting, conversion, and validation

* [FIX] validation: auto remove second ip/family when service changes to SingleStack

* [FIX] api: defaulting, conversion, and validation

* api-server: clusterIPs alloc, printers, storage and strategy

* [FIX] clusterIPs default on read

* alloc: auto remove second ip/family when service changes to SingleStack

* api-server: repair loop handling for clusterIPs

* api-server: force kubernetes default service into single stack

* api-server: tie dualstack feature flag with endpoint feature flag

* controller-manager: feature flag, endpoint, and endpointSlice controllers handling multi family service

* [FIX] controller-manager: feature flag, endpoint, and endpointSlicecontrollers handling multi family service

* kube-proxy: feature-flag, utils, proxier, and meta proxier

* [FIX] kubeproxy: call both proxier at the same time

* kubenet: remove forced pod IP sorting

* kubectl: modify describe to include ClusterIPs, IPFamilies, and IPFamilyPolicy

* e2e: fix tests that depends on IPFamily field AND add dual stack tests

* e2e: fix expected error message for ClusterIP immutability

* add integration tests for dualstack

the third phase of dual stack is a very complex change in the API,
basically it introduces Dual Stack services. Main changes are:

- It pluralizes the Service IPFamily field to IPFamilies,
and removes the singular field.
- It introduces a new field IPFamilyPolicyType that can take
3 values to express the "dual-stack(mad)ness" of the cluster:
SingleStack, PreferDualStack and RequireDualStack
- It pluralizes ClusterIP to ClusterIPs.

The goal is to add coverage to the services API operations,
taking into account the 6 different modes a cluster can have:

- single stack: IP4 or IPv6 (as of today)
- dual stack: IPv4 only, IPv6 only, IPv4 - IPv6, IPv6 - IPv4

* [FIX] add integration tests for dualstack

* generated data

* generated files

Co-authored-by: Antonio Ojea <aojea@redhat.com>
2020-10-26 13:15:59 -07:00
Kubernetes Prow Robot
237dae5a5e
Merge pull request #95807 from Huang-Wei/postfilter-int-test-flake
Deflake PostFilter integration test
2020-10-23 12:15:16 -07:00
Wei Huang
6e7b20543c
Deflake PostFilter integration test 2020-10-22 13:48:50 -07:00
Aldo Culquicondor
f6fb0bd308 Add integration test for Default PodTopologySpread
Simulating a cluster with 500 nodes in 3 zones, deploying 3, 12 and 27 Pods belonging to the same service.

Change-Id: I16425594012ea7bd24b888acedb12958360bff97
2020-10-22 13:42:50 -04:00
Aldo Culquicondor
87c8349bdc Graduate DefaultPodTopologySpread to beta
And set to enabled by default

Change-Id: Ie4cc4758c52492924cb0663450f2747908cb5882
2020-10-19 16:58:09 -04:00
Kubernetes Prow Robot
cd8b87f25a
Merge pull request #95562 from wojtek-t/fix_metrics
Fix metrics reporting in kube-apiserver
2020-10-15 21:13:25 -07:00
Kubernetes Prow Robot
943b1dbf53
Merge pull request #95495 from deads2k/remove-secondary-retry
remove secondary client retries in e2e tests
2020-10-15 08:06:39 -07:00
David Eads
64c099d670 remove secondary client retries in e2e tests 2020-10-15 08:30:42 -04:00
wojtekt
3d2a80643a Fix metrics reporting in kube-apiserver 2020-10-15 13:50:33 +02:00
Ali
09b2e8f638 Move scheduler interface to pkg/scheduler/framework 2020-10-13 13:13:27 +11:00
Kubernetes Prow Robot
c72b30b3b7
Merge pull request #93534 from everpeace/score-in-preemption-handle
scheduler: expose Run[Pre]ScorePlugins functions to PreemptionHandle(through PluginRunner)
2020-10-09 20:34:47 -07:00
Masashi Honma
bcbd16b94b test-integration: Fix using deprecated default cluster IPs
The integration test for pods produces a warning caused by using deprecated
default cluster IPs.

$ make test-integration WHAT=./test/integration/pods GOFLAGS="-v"
W1007 17:25:28.217410  100721 services.go:37] No CIDR for service cluster IPs specified. Default value which was 10.0.0.0/24 is deprecated and will be removed in future releases. Please specify it using --service-cluster-ip-range on kube-apiserver.

This warning appears 36 times after running all tests. This patch removes all
the warnings.

Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
2020-10-08 20:38:58 +09:00
Kubernetes Prow Robot
777e84e184
Merge pull request #95101 from a1k24/patch-92402-staticcheck
fixes test/integration/ttlcontroller staticcheck
2020-10-07 02:16:42 -07:00
Kubernetes Prow Robot
5549a0d9bb
Merge pull request #95012 from nodo/add-namespace-to-post-based-namespace-creation
Make the creation of namespace using POST and PATCH consistent
2020-10-01 17:37:20 -07:00
Andrea Nodari
3cb510e33e Make the creation of namespace using POST and PATCH consistent
PATCH verb is used when creating a namespace using server-side apply,
while POST verb is used when creating a namespace using client-side
apply.

The difference in path between the two ways to create a namespace led to
an inconsistency when calling webhooks. When server-side apply is used,
the request sent to webhooks has the field "namespace" populated with
the name of namespace being created. On the other hand, when using
client-side apply the "namespace" field is omitted.

This commit aims to make the behaviour consistent and populates the
"namespace" field when creating a namespace using POST verb (i.e.
client-side apply).
2020-10-01 18:05:49 +02:00
Kubernetes Prow Robot
def8fe3b4e
Merge pull request #94685 from verb/ec-admission
Convert to EphemeralContainers for validation in EphemeralContainersREST
2020-09-30 00:29:25 -07:00
a1k24
b3d43207e8 resolve PR comment ( add nil check ) 2020-09-30 11:54:23 +05:30
a1k24
8854924e65 fixes test/integration/ttlcontroller staticcheck 2020-09-30 11:54:23 +05:30
Kubernetes Prow Robot
0f39af90ed
Merge pull request #94364 from wojtek-t/efficient_watch_resumption
Efficient watch resumption
2020-09-25 15:42:48 -07:00
Kubernetes Prow Robot
ccfdc09f35
Merge pull request #91683 from tedyu/mirror-pod-owner-ref
Mirror pod without OwnerReference should not be created
2020-09-25 11:02:48 -07:00
Kubernetes Prow Robot
1f0d71cd0d
Merge pull request #95044 from spiffxp/add-controlplane-type-alias
Rename controlplane.Master struct to Instance
2020-09-24 16:53:20 -07:00
Daniel Smith
13b6a929bc It's an 'Instance' of apiserver 2020-09-24 16:14:29 -04:00
Dave Chen
a9b71c198b Use the exported struct member directly
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-09-24 16:15:11 +08:00
tangwz
518c502f54 scheduler_perf: use time.Ticker in throughput measurement 2020-09-19 09:36:17 +08:00
Matthew Cary
299a296c7a update-bazel
Change-Id: Iebc99ee13587f0cd4c43ab85c7295d458d679d1e
2020-09-18 00:44:39 +00:00
Matthew Cary
f2e23afcf1 Adds filtering of hosts to DialContexts.
The provided DialContext wraps existing clients' DialContext in an attempt to
preserve any existing timeout configuration. In some cases, we may replace
infinite timeouts with golang defaults.

- scaleio: tcp connect/keepalive values changed from 0/15 to 30/30
- storageos: no change
2020-09-18 00:07:32 +00:00
Matthew Cary
74dbf274d9 update storageos vendor for FilteredDial change 2020-09-18 00:07:32 +00:00
Kubernetes Prow Robot
ff1d6e8c1d
Merge pull request #93252 from adtac/scheduler-perf
scheduler_perf: refactor to allow arbitrary workloads
2020-09-17 14:08:46 -07:00
Adhityaa Chandrasekar
71bc9ce9c2 scheduler_perf: refactor to allow arbitrary workloads
Signed-off-by: Adhityaa Chandrasekar <adtac@google.com>
2020-09-17 19:22:20 +00:00
Kubernetes Prow Robot
09b3f6dbb3
Merge pull request #93214 from trashhalo/prefer-error
test: prefer NoError/Error over Nil/NotNil
2020-09-16 15:10:45 -07:00
Kubernetes Prow Robot
e7b9453972
Merge pull request #93537 from timuthy/enhancement.move-resourcequota
Move ResourceQuota admission to k8s.io/apiserver lib
2020-09-15 12:26:58 -07:00
Kubernetes Prow Robot
396dd2555d
Merge pull request #91993 from nodo/89274-change-of-managefields-via-subresources
Do not allow manual changes to manageFields via subresources
2020-09-15 12:26:43 -07:00
wojtekt
af61e8fbdf Test watchcache being updated in multietcd setup 2020-09-15 08:19:13 +02:00
David Eads
c0c033b12f generated 2020-09-14 09:24:41 -04:00
David Eads
c7911a384c remove pod presets 2020-09-14 09:24:40 -04:00
Lee Verberne
bf0a33d1de Use EphemeralContainers for storage validation
When updating ephemeral containers, convert Pod to EphemeralContainers
in storage validation. This resolves a bug where admission webhook
validation fails for ephemeral container updates because the webhook
client cannot perform the conversion.

Also enable the EphemeralContainers feature gate for the admission
control integration test, which would have caught this bug.
2020-09-10 17:24:52 +02:00
Haowei Cai
07506ab384 generated 2020-09-08 19:14:36 -07:00
Chao Xu
86dd4ce3b5 Let kube-apiserver host the storage version API
Co-authored-by: Haowei Cai <haoweic@google.com>
2020-09-08 19:14:36 -07:00
Wei Huang
d8def59871
Initialize scheduler's podInformer in sharedInformerFactory
Scheduler's specific podInfomer is now initialized inside the sahredInformerFactory.
2020-09-08 12:57:17 -07:00
Kubernetes Prow Robot
1f708f6e62
Merge pull request #94112 from damemi/sort-endpoints
Remove canonicalization of endpoints by endpoints controller for better comparison
2020-09-04 22:13:40 -07:00
Stephen Solka
203679cc61 prefer NoError/Error over Nil/NotNil 2020-09-04 18:35:52 -04:00
Tim Usner
70d440bc7e Move ResourceQuota admission to k8s.io/apiserver 2020-09-04 14:53:52 +02:00
Antonio Ojea
0004b199d5 do not mutate endpoints in the apiserver
the endpoints API handler was using the Canonicalize() method to
reorder the endpoints, however, due to differences with the
endpoint controller RepackSubsets(), the controller was considering
the endpoints different despite they were not, generating unnecessary
updates evert resync period.
2020-09-04 08:42:45 -04:00
Kubernetes Prow Robot
f736be5721
Merge pull request #94397 from wojtek-t/stop_setting_selflink
Stop setting SelfLink in kube-apiserver.
2020-09-03 12:31:55 -07:00
Kubernetes Prow Robot
0455c2d5e7
Merge pull request #94407 from lavalamp/big-rename
Control Plane is a better name
2020-09-02 14:49:55 -07:00
Kubernetes Prow Robot
17efe1d627
Merge pull request #93394 from liggitt/shorten-apimachinery-test
Shorten watch restart test, run in parallel
2020-09-02 12:09:06 -07:00
Daniel Smith
a86afc12df update scripts 2020-09-02 10:49:40 -07:00
Daniel Smith
15e0e3e90e rename 2020-09-02 10:48:26 -07:00
Kubernetes Prow Robot
dd6c53d035
Merge pull request #93946 from alexzimmer96/68026-pkg-controller-resourcequota
Refactor pkg/controllers/resourcequota to fix golint errors
2020-09-01 19:41:06 -07:00
wojtekt
2539912a22 Stop setting SelfLink in kube-apiserver. 2020-09-01 20:57:38 +02:00
Kubernetes Prow Robot
044f9102dd
Merge pull request #94054 from vareti/shorten-test-run-time
start kube-apiserver and webhook server only once to shorten the webhook audit test time
2020-08-29 07:11:19 -07:00
Siva
f3ede26e20 start kube-apiserver and webhook server only once to shorten the webhook audit test time 2020-08-28 11:31:46 -05:00
Kubernetes Prow Robot
d9789c4fa3
Merge pull request #93587 from liggitt/daemonset-test-name
Clean up daemonset test names
2020-08-28 06:37:40 -07:00
Kubernetes Prow Robot
936fadb56a
Merge pull request #93380 from yue9944882/apf-int-test-reject
Integration: Ensure no rejections in PL isolation test
2020-08-28 06:37:02 -07:00
Kubernetes Prow Robot
0eeb676468
Merge pull request #93162 from julianvmodesto/before-first-apply-test
Add tests for stopped managed fields tracking
2020-08-28 06:35:35 -07:00
Kubernetes Prow Robot
c143ea4bbf
Merge pull request #90522 from beautytiger/fix/nilranger
cleanup: no need nil check before range
2020-08-27 17:54:31 -07:00
Kubernetes Prow Robot
54d7adc1f5
Merge pull request #93982 from jayunit100/wait_func_cleanup
wait function and util comments and cleanup
2020-08-27 04:49:07 -07:00
Kubernetes Prow Robot
343596b4d9
Merge pull request #92920 from gaurav1086/TestWatchBasedManager_fix_deadlock
[test/kubelet]: Fix deadlock in watch manager test
2020-08-26 20:51:04 -07:00
Rob Scott
3c804502d7
Updating EndpointSliceMirroring controller to listen for Service changes
This fixes a bug that could occur if a custom Endpoints resource was
created before a Service was created.
2020-08-24 17:09:42 -07:00
Alexander Zimmermann
86dc0364f4
Refactored pkg/controllers/resourcequota
* Fixed golint issues
* Removed redundant package import names
* Improved some variables and names

Co-authored-by: Mike Danese <mikedanese@gmail.com>
2020-08-20 14:37:27 +02:00
jay vyas
04b38e9f91 Update wait function w/ descriptions of global node states, TODO for kubelet
API.
2020-08-19 13:55:54 -04:00
Rob Scott
43ce0c53cc
Fixing a flaky EndpointSliceMirroring integration test
This test was trying to create an Endpoints resource that the Endpoints
controller would also attempt to create. This could result in a failure
if the Endpoints controller created the resource before the test did.
2020-08-18 12:52:54 -07:00
Andrea Nodari
c522ee08a3 Do not allow manual changes to manageFields via subresources
If a request tries to change managedFields, the response returns the
managedField of the live object.
2020-08-18 13:33:39 +02:00
Kubernetes Prow Robot
b7d59d37fa
Merge pull request #93721 from gitlawr/speedup-reconciler-tests
Speed up master reconciler tests
2020-08-17 08:38:18 -07:00
gitlawr
11b347ca1d Speed up master reconciler tests
Start apiservers in parallel.
Reduce the number of masters.
Reduce the time for ReconcilerMasterLease.* tests from ~85s to ~41s on
average.
2020-08-17 22:28:30 +08:00
Kubernetes Prow Robot
3647766cbc
Merge pull request #93938 from alculquicondor/revert-node-delete
Keep track of remaining pods when a node is deleted
2020-08-13 13:25:41 -07:00
Aldo Culquicondor
16d7ecfa45 Remove direct accesses to cache's node map
Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: Iebb22fc816926aaa1ddd1e4b2e52f335a275ffaa
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-08-13 14:22:06 -04:00
Kubernetes Prow Robot
fa76242bba
Merge pull request #93730 from adtac/MixedSchedulingBasePod
scheduler_perf/MixedSchedulingBasePod: label nodes for pod affinity
2020-08-12 19:14:14 -07:00
Adhityaa Chandrasekar
59a6e86c0c scheduler_perf: label nodes for pod affinity
3 commits:
  label nodes for pod affinity
  use topology.kubernetes.io/zone label
  use 3 zones in pod affinity rules
2020-08-10 16:07:46 +00:00
Kubernetes Prow Robot
7740b8124c
Merge pull request #93555 from cofyc/fix81368
integration: Wait for PV to be available in TestVolumeProvision
2020-08-09 22:30:20 -07:00
Julian V. Modesto
f2deb2417a Add tests for managed fields tracking.
- Test that client-side apply users don't encounter a conflict with
server-side apply for objects that previously didn't track managedFields
- Test that we stop tracking managed fields with `managedFields: []`
- Test that we stop tracking managed fields when the feature is disabled
2020-08-05 18:22:44 -04:00
Shingo Omura
d0421fa9c3
Fix TestScorePlugin: numScore should be accessed with atomic.LoadInt32 2020-08-04 22:50:13 +09:00
Shingo Omura
ef1fab7642
expose Run[Pre]ScorePlugins functions in PluginRunner interface 2020-08-04 22:50:13 +09:00
Wei Huang
b6b7ab3f73
Deflake scheduler PostBind integration test 2020-08-03 12:30:22 -07:00
Jordan Liggitt
2cea9c5d51 Clean up daemonset test names 2020-07-30 17:33:38 -04:00
Kubernetes Prow Robot
9af4ad5c45
Merge pull request #93550 from Huang-Wei/refix-postfilter-flake
Deflake scheduler PostFilter and Filter integration test
2020-07-30 04:30:31 -07:00
Yecheng Fu
930409c993 integration: Wait for PV to be available 2020-07-30 13:37:20 +08:00
Wei Huang
539272cb73
Deflake scheduler PostFilter and Filter integration test
- Revert "Fix integration test flake on TestFilter and TestPostFilter"
  This reverts commit 94fc18c2dc.
- Relax checking logic on expected Filter/PostFilter counters.
2020-07-29 18:37:47 -07:00
Wei Huang
0e71facefe
Hold Pod in cache until all other cleanup work is completed
- Move "ForgetPod" after "RunReservePluginsUnreserve", so that the cache would hold the pod to
  avoid it's being retried simutaneously until Unreserve is completed.
- Move "assume" ahead of "RunReservePluginsReserve". This is based on the fact that "ForgetPod" is
  the last step of failure path, so "assume" should be reversly treated as the first step. The
  current failure path is like this:
  assume -> reserve -> unreserve -> forgetPod -> recordingFailure
- Make subtests of TestReservePluginUnreserve stateless
2020-07-29 11:27:19 -07:00
Wei Huang
94fc18c2dc
Fix integration test flake on TestFilter and TestPostFilter 2020-07-28 20:51:01 -07:00
Wei Huang
862fdaaf79
Fix an integration test flake on NodeAfffinity ScorePlugin 2020-07-28 08:57:02 -07:00
Kubernetes Prow Robot
8d74486a6a
Merge pull request #93497 from robscott/endpointslicemirroring-integration-fix
Increasing allowed delay for EndpointSlice mirroring integration tests
2020-07-28 04:13:08 -07:00
Rob Scott
eb196be139
Increasing allowed delay for EndpointSlice mirroring integration tests.
The shorter 5s delay had become a source of flakes.
2020-07-27 21:43:15 -07:00
Wei Huang
8936f9e4bf
Fix integration test flake on TestScorePlugin 2020-07-27 18:13:38 -07:00
yue9944882
40f3242cd9 apf integration test: ensure no rejection 2020-07-27 10:42:37 +08:00
Jordan Liggitt
f33dc28094 generated: hack/update-hack-tools.sh && hack/update-vendor.sh 2020-07-25 16:45:02 -04:00
Jordan Liggitt
c778008420 Shorten watch restart test, run in parallel 2020-07-23 17:17:29 -04:00
Jordan Liggitt
8f9be8af13 Stabilize integration test names 2020-07-22 11:58:54 -04:00
hasheddan
a70b78e49a
Skip failing scheduler integration tests until they can be run successfully
The IPAM and scheduler performance tests are currently causing
integration-master job to fail because of timeouts. They were not
previously running as part of integration-master, so we can disable them
without loss of test coverage. They should be re-enabled as part of fix
for #93112.

Signed-off-by: hasheddan <georgedanielmangum@gmail.com>
2020-07-15 10:28:35 -05:00
Kubernetes Prow Robot
6079cebfae
Merge pull request #90187 from julianvmodesto/last-applied-updater
Implement server-side apply upgrade and downgrade
2020-07-13 16:45:20 -07:00
Gaurav Singh
22dc4744a0 [test/kubelet]: Fix deadlock in watch manager test
Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>
2020-07-12 10:56:28 -04:00
Kubernetes Prow Robot
888255bf3a
Merge pull request #92879 from liggitt/short-integration-tests
Skip expensive integration tests in short run mode
2020-07-11 20:57:52 -07:00
Kubernetes Prow Robot
49dced762d
Merge pull request #92661 from jpbetz/smd-bump-field-unsetting
Bump to SMD PR#166 to pick up unsetting field changes and add integration tests
2020-07-10 15:41:05 -07:00
Kubernetes Prow Robot
4efed03276
Merge pull request #91637 from robscott/endpointslice-mirroring
Adding new EndpointSlice Mirroring Controller
2020-07-10 10:19:48 -07:00
Joe Betz
3c2842fbc6 Add ownership transfer test 2020-07-09 06:18:59 -07:00
Joe Betz
ec136db9ce Add server side apply unsetting field tests 2020-07-09 06:18:58 -07:00
Kubernetes Prow Robot
94a08e159a
Merge pull request #92387 from pohly/csi-storage-capacity
CSI storage capacity check
2020-07-09 00:04:59 -07:00
Julian V. Modesto
e4368eb67e Implement server-side apply upgrade & downgrade.
- Allow client-side to server-side apply upgrade.

  Ensure that a user can change management of an object from client-side apply to
  server-side apply without conflicts.

- Allow server-side apply to client-side downgrade.

  For an object managed with client-side apply, a user may upgrade to
  managing the object with server-side apply, then decide to downgrade.

  We can support this downgrade by keeping the last-applied-configuration
  annotation for client-side apply updated with server-side apply.
2020-07-08 19:14:03 -04:00
Wei Huang
d65a97848e
codegen 2020-07-08 09:58:42 -07:00
Wei Huang
4b26ef2217
Remove DisablePreemption field from SchedulerConfig v1beta1
DisablePreemption field can be removed as it can be deduced from PostFilterPlugins.
2020-07-08 09:58:42 -07:00
Patrick Ohly
cf735a3bf7 CSIStorageCapacity: integration test
This is similar to the E2E test, it just doesn't need a real cluster.
2020-07-08 08:02:26 +02:00
Jordan Liggitt
1c8c850944 Skip expensive integration tests in short run mode 2020-07-07 14:41:21 -04:00
Jordan Liggitt
dcc536097a Deflake timeout admission test 2020-07-07 13:36:07 -04:00
Rob Scott
85d5a15841
Adding integration and e2e tests to cover EndpointSliceMirroring 2020-07-06 12:43:34 -07:00
Kubernetes Prow Robot
865cbf0bdf
Merge pull request #91517 from gaurav1086/Remove_unnecessary_Sprintfs
cleanup: Remove_unnecessary_Sprintfs
2020-07-05 05:26:49 -07:00
Patrick Ohly
9a66e8e1b5 CSIStorageCapacity: 'make update' 2020-07-03 21:54:14 +02:00
Patrick Ohly
22aeb81e84 CSIStorageCapacity: CSIStorageCapacity API
This adds the CSIStorageCapacity API change for
https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/1472-storage-capacity-tracking
2020-07-03 21:54:14 +02:00
Kubernetes Prow Robot
b6cbe1b8de
Merge pull request #92662 from chelseychen/event-api-fallback
Switch event recorder to use events.k8s.io/v1
2020-07-03 05:03:15 -07:00
Kubernetes Prow Robot
6da40542e7
Merge pull request #92706 from nodo/scheduler-integration-test-add-labels-cleanup
Create nodes with labels instead of adding them later
2020-07-02 17:46:47 -07:00
Chelsey Chen
ade2422883 Switch event recorder to use events.k8s.io/v1 2020-07-02 14:50:41 -04:00
Kubernetes Prow Robot
3f585835d0
Merge pull request #92713 from liggitt/deflake-list-rv-0
Deflake TestListResourceVersion0
2020-07-02 04:18:07 -07:00
Kubernetes Prow Robot
1b871091b9
Merge pull request #91645 from chelseychen/event-api
Promote new Event API to v1
2020-07-02 04:16:46 -07:00
Andrea Nodari
a759fb20ff Create nodes with labels instead of adding them later 2020-07-02 08:56:32 +02:00
Jordan Liggitt
017a6febe5 Deflake TestListResourceVersion0 2020-07-01 13:59:40 -04:00
Jordan Liggitt
5eef60a00a Add warnings capability for admission webhooks 2020-07-01 12:14:06 -04:00
Chelsey Chen
75612c1746 Promote new Event API to v1 2020-07-01 10:50:28 -04:00
Kubernetes Prow Robot
4c853bb28f
Merge pull request #92644 from wojtek-t/informers_readyz
Wait for all informers to sync in /readyz.
2020-07-01 02:54:30 -07:00
Maciej Borsz
3f68000203 Wait for all informers to sync in /readyz. 2020-07-01 07:40:39 +02:00
Andrea Nodari
2e1042f959 Use NodeWrapper to directly initialize node with labels
Using NodeWrapper in the integration tests gives more flexibility when
creating nodes. For instance, tests can create nodes with labels or
with a specific sets of resources.

Also, NodeWrapper initialises a node with a capacity of 32 pods, which
can be overridden by the caller. This makes sure that a node is usable
as soon as it is created.
2020-06-30 17:18:15 +02:00
Kubernetes Prow Robot
281023790f
Merge pull request #92501 from rakeshreddybandi/rename-plugin
Rename DefaultPodTopologySpread plugin #91994
2020-06-29 18:34:58 -07:00
Kubernetes Prow Robot
4fc5c1eda2
Merge pull request #92391 from adtac/adtac/reserve-failure
scheduler: run Unreserve if Reserve fails
2020-06-27 16:04:14 -07:00
RAKESH REDDY BANDI
d44a20f9ca Rename DefaultPodTopologySpread plugin #91994 2020-06-27 13:46:31 -04:00
Kubernetes Prow Robot
27aca3f7c2
Merge pull request #91505 from jpbetz/rv-semantics
Consistent Resource Version Semantics for List
2020-06-27 02:26:17 -07:00
Adhityaa Chandrasekar
1b223b861a scheduler: run Unreserve if Reserve fails
If a reserve plugin's Reserve method returns an error, there could be
previously allocated resources from successfully completed reserve
plugins that must be unallocated by the corresponding Unreserve
operation. Since Unreserve operations are idempotent, this patch runs
the Unreserve operation of ALL reserve plugins when a Reserve operation
fails.
2020-06-26 20:41:33 +00:00
Joe Betz
e214f2408b Add ResourceVersionMatch parameter to make Resource Version semantics consistent for list 2020-06-25 20:49:57 -07:00
Adhityaa Chandrasekar
ec83143342 scheduler: merge Reserve and Unreserve plugins
Previously, separate interfaces were defined for Reserve and Unreserve
plugins. However, in nearly all cases, a plugin that allocates a
resource using Reserve will likely want to register itself for Unreserve
as well in order to free the allocated resource at the end of a failed
scheduling/binding cycle. Having separate plugins for Reserve and
Unreserve also adds unnecessary config toil. To that end, this patch
aims to merge the two plugins into a single interface called a
ReservePlugin that requires implementing both the Reserve and Unreserve
methods.
2020-06-24 21:10:35 +00:00
Yecheng Fu
4627b419b4 tests only 2020-06-23 22:18:33 +08:00
Wei Huang
d99cc01646
Register and enable defaultpreemption plugin
- Enable defaultpreemption as a PostFilter plugin
- Remote legacy hard-coded preemption logic
2020-06-22 17:22:27 -07:00
Ted Yu
9f95fdd3cd Mirror pod without OwnerReference should not be created
Signed-off-by: Ted Yu <yuzhihong@gmail.com>
2020-06-21 08:00:17 -07:00
Ali Farah
a22e115a0e Split scheduler framework implementation into new runtime package 2020-06-22 00:23:43 +10:00
Kubernetes Prow Robot
7a68eac8f7
Merge pull request #91873 from kwiesmueller/fix-crd-update-bug
Fix FieldManager Conversion Error for CRD Updates
2020-06-18 19:04:51 -07:00
Kubernetes Prow Robot
342bcf55e8
Merge pull request #89937 from aojea/portAllocator2
portAllocator sync local data before allocate
2020-06-18 19:03:10 -07:00
Kubernetes Prow Robot
53f3699cf9
Merge pull request #89778 from cmluciano/cml/ingressv1
ingress: Add Ingress to v1 API and update backend to defaultBackend
2020-06-16 23:10:39 -07:00
Kubernetes Prow Robot
e760ecd50f
Merge pull request #92074 from nodo/pod-added-unschedulable-pod-integration-tests
Test pod becoming schedulable when another pod is added or updated
2020-06-16 19:23:33 -07:00
Andrea Nodari
0c23caf8e7 Test a pod becoming schedulable when a scheduled pod is updated 2020-06-16 20:39:58 +02:00
Andrea Nodari
ad0bee482e Add test case for a pod becoming schedulable when another pod is added 2020-06-16 20:29:55 +02:00
Dave Chen
ae735a1189 scheduler_perf: fix the nil pointer dereference
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-06-16 13:23:05 +08:00
Kubernetes Prow Robot
98f250f883
Merge pull request #91307 from yuga711/attach
CSI: Modify VolumeAttachment check to use Informer/Cache
2020-06-15 08:10:10 -07:00
Kubernetes Prow Robot
7151131d79
Merge pull request #73032 from liggitt/kubectl-warning
surface server-side warnings in client-go / kubectl
2020-06-12 17:09:56 -07:00
Kevin
bd961781d7 prevent update handler being called on disallowed CreateOnUpdate 2020-06-12 13:04:17 +00:00
Yecheng Fu
c4138361e4 Fail fast in PreFilter phase and return UnschedulableAndUnresolvable if immediate PVCs are not bound 2020-06-12 10:00:19 +08:00
Jordan Liggitt
e4bb1daecf apiserver: increment metric for deprecated API use 2020-06-11 16:04:19 -04:00
Jayasekhar Konduru
2a89577659 CSI: Modify VolumeAttachment check to use Informer/Cache
Change-Id: Ie70c8b6657c67eefbf13042f36d56ca84a2e42bb
2020-06-11 10:34:09 -07:00
Lukasz Szaszkiewicz
50db32cf8c GC doesn't have to create monitors in the constructor 2020-06-10 14:59:45 +02:00
Wei Huang
51a9dcce22
Revert "Fix an issue that a Pod's nominatedNodeName cannot be cleared when the nominated node is deleted"
This reverts commit 369a9001c6.
2020-06-09 16:47:37 -07:00
Kubernetes Prow Robot
dbfc3aa877
Merge pull request #91748 from apelisse/resetting-managed-fields-and-fieldtype
Resetting managed fields and fieldtype
2020-06-09 14:49:40 -07:00
Kubernetes Prow Robot
11fe6e815f
Merge pull request #91713 from liggitt/csr-v1-manager
CSR v1 - switch controllers
2020-06-09 14:49:30 -07:00
Kubernetes Prow Robot
fc30f8854d
Merge pull request #91849 from knabben/scheduler-integration-pre
Scheduler integration tests standarization
2020-06-08 21:44:26 -07:00
Kubernetes Prow Robot
c5894cadc3
Merge pull request #91828 from knabben/scheduler-integration-test
Scheduler integration framework table-driven tests
2020-06-08 21:44:17 -07:00
Kubernetes Prow Robot
5248bef370
Merge pull request #91750 from Huang-Wei/clear-nnn
Fix an issue that a Pod's nominatedNodeName cannot be cleared upon node deletion
2020-06-08 21:43:58 -07:00
Amim Knabben
fcb41d3d2c Integration framework table-tests standarization 2020-06-08 14:03:54 -04:00
SataQiu
932e61aefa deprecate ResourceLimitsPriorityFunction feature gate in the scheduler
Signed-off-by: SataQiu <1527062125@qq.com>
2020-06-08 22:20:14 +08:00
Amim Knabben
5e679cf51f Scheduler integration tests standarization 2020-06-07 09:47:11 -04:00
Kubernetes Prow Robot
f72299b09f
Merge pull request #91787 from ahg-g/ahg-bench
A benchmark to evaluate overhead of unschedulable pods
2020-06-05 20:49:45 -07:00
Kubernetes Prow Robot
454c13d09c
Merge pull request #91314 from Huang-Wei/postfilter-definition
Scheduler PostFilter definition
2020-06-05 16:53:45 -07:00
Jordan Liggitt
db4ca87d9d Switch CSR approver/signer/cleaner controllers to v1 2020-06-05 18:45:34 -04:00
Kubernetes Prow Robot
3f8bb1bf50
Merge pull request #91685 from liggitt/csr-v1
CertificateSigningRequest v1 API
2020-06-05 15:30:14 -07:00
Wei Huang
69b9ba6012
Introduce PostFilter extension point 2020-06-05 13:23:45 -07:00
Antoine Pelisse
ed2cf6ef2c FieldManager: Reset if we receive nil or a list with one empty item 2020-06-05 12:49:13 -07:00
Abdullah Gharaibeh
36a3ad8752 Added a benchmark to evaluate overhead of unschedulable pods 2020-06-05 15:19:07 -04:00
Kubernetes Prow Robot
4e3dea81c1
Merge pull request #91580 from cofyc/fix90958
Remove KubeSchedulerConfiguration.BindTimeoutSeconds
2020-06-05 08:45:45 -07:00
Jordan Liggitt
e0f5cca410 Copy CSR v1beta1 to v1
* Remove prerelease tags
* Update copyright, package, imports to v1
* Remove signerName, usages, and condition status defaulting
2020-06-05 00:47:24 -04:00
Kubernetes Prow Robot
d585527c70
Merge pull request #91690 from apelisse/ignore-failures
fieldManager: Ignore and log all errors when updating managedFields
2020-06-04 17:59:59 -07:00
Kubernetes Prow Robot
4dfa0912a0
Merge pull request #91734 from nodo/pod-deleted-unschedulable-pod-integration-tests
Add test case for a pod becoming schedulable when another pod is deleted
2020-06-04 13:52:56 -07:00
Antoine Pelisse
5378a788e4 fieldManager: Ignore and log all errors when updating managedFields 2020-06-04 09:32:23 -07:00
Andrea Nodari
e3bca5adc7 Add test case for a pod becoming schedulable when another pod is deleted 2020-06-04 18:11:19 +02:00
Wei Huang
7f178b2831
Adjust weight of PodTopologySpread to 2 in legacy Policy API 2020-06-04 07:35:25 -07:00
Kubernetes Prow Robot
2dc7b68b83
Merge pull request #91598 from Huang-Wei/podtopologyspread-ga
Remove `EvenPodsSpread` featuregate and related logic
2020-06-04 07:05:28 -07:00
Wei Huang
369a9001c6
Fix an issue that a Pod's nominatedNodeName cannot be cleared when the nominated node is deleted 2020-06-03 17:45:06 -07:00
Yecheng Fu
1ff09c0934 Remove BindTimeoutSeconds from KubeSchedulerConfiguration 2020-06-03 09:54:06 +08:00
Kubernetes Prow Robot
a4e7db7cc3
Merge pull request #91336 from nodo/node-changed-unschedulable-pod-integration-tests
Add test case for a pod becoming schedulable when a node is updated
2020-06-02 13:26:17 -07:00
Wei Huang
133dde6358
Remove EvenPodsSpread featuregate and related logic 2020-06-02 11:24:12 -07:00
Kubernetes Prow Robot
d1586ea3f9
Merge pull request #91502 from deads2k/dyn-audit-removal-00
remove --feature-gates=DynamicAuditing
2020-05-29 11:56:20 -07:00
Kubernetes Prow Robot
c8ceeed698
Merge pull request #91191 from denkensk/add-integration-test-nonpreempt
Add integration test for NonPreemption
2020-05-28 22:07:15 -07:00
Alex Wang
505ae6930f add integration-test for NonPreemption 2020-05-29 11:54:03 +08:00
Abdullah Gharaibeh
d650b57141 Added Preemption benchmark 2020-05-28 14:05:52 -04:00
Gaurav Singh
adcd8909fb cleanup: Remove_unnecessary_Sprintfs
Removed unused fmt

Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>
2020-05-28 13:43:13 -04:00
David Eads
e857adbdfd remove-api 2020-05-27 16:58:05 -04:00
David Eads
ed4e6f1026 remove dynamic audit 2020-05-27 15:18:53 -04:00
Andrea Nodari
8a39a2c24e Add test case for a pod becoming schedulable when a node is updated
Also, avoid unnecessary copying when changing node taints
2020-05-25 21:59:36 +02:00
Christopher M. Luciano
2b091f60ca
ingress: Add Ingress to v1 API and update backend to defaultBackend
ingress: use new serviceBackend split

ingress: remove all v1beta1 restrictions on creation

This change removes creation and update restrictions enforced by
k8s 1.18 for not allowing resource backends.

Paths are no longer
required to be valid regex and a PathType is now user-specified
and no longer defaulted.

Also remove all TODOs in staging/net/v1 types

Signed-off-by: Christopher M. Luciano <cmluciano@us.ibm.com>
2020-05-22 11:57:41 -04:00
Kubernetes Prow Robot
6cf4ab3c8c
Merge pull request #91071 from alculquicondor/integration_new_node
Add test case for a pod becoming schedulable when a node is added
2020-05-19 15:22:33 -07:00
Kubernetes Prow Robot
d4ce66fe0b
Merge pull request #90660 from Huang-Wei/synced-sched-err-call
Move unschedulable Pod to internal schedulingQ synchronously
2020-05-16 19:00:06 -07:00
Davanum Srinivas
07d88617e5
Run hack/update-vendor.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:33 -04:00
Davanum Srinivas
442a69c3bd
switch over k/k to use klog v2
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:27 -04:00
Wei Huang
133a02540f
Move unschedulable Pod to internal schedulingQ synchronously
- use in-cache Pod instead of real-time Pod (by calling API server) to mark it as unschedulable
  in internal schedulingQ
- remove the backoff logic as now we don't call API server
- the whole logic is changed to a synchronous call
2020-05-15 19:27:28 -07:00
Brian Pursley
9eb8e7a6d6 Changed scheduler to use patch when updating pod status to avoid potential conflicts 2020-05-14 15:17:53 -04:00
Kubernetes Prow Robot
5bda0c1b3b
Merge pull request #83726 from cofyc/fix56180
scheduler: Move all volume binding code into VolumeBinding plugin
2020-05-14 10:08:23 -07:00
Aldo Culquicondor
c8e2d5ba7c Add test case for a pod becoming schedulable when a node is added
We have little coverage around node addition and removal. Since distinct event handlers interact, it is important to cover this in integration tests.

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-05-14 11:59:41 -04:00
Aldo Culquicondor
35b9ab1227 Remove unnecessary clientset arg from initPausePod
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-05-14 11:47:12 -04:00
Jan Chaloupka
65e9826f79 integration: start informer and scheduler outside of InitTestScheduler
In case two or more controllers share the informers created through InitTestScheduler,
it's not safe to start the informers until all controllers set their informer
indexers. Otherwise, some controller might fail to register their indexers
in time. Thus, it's responsibility of each consumer to make sure all informers
are started after all controllers had time to get initiliazed.
2020-05-13 18:19:43 +02:00
Yecheng Fu
c14b749521 scheduler/volumebinding: move all volume binding logic into VolumeBinding plugin 2020-05-12 10:13:05 +08:00
Wei Huang
fc11871c61
test: Use dedicated informerFactory for node lifecycle controller 2020-05-07 15:01:55 -07:00
Kubernetes Prow Robot
8876563700
Merge pull request #90360 from tnozicka/fix-client-ca-reload
Fix client-ca dynamic reload in apiserver
2020-04-30 01:10:18 -07:00
Tomas Nozicka
b22a170d46 Fix client-ca dynamic reload in apiserver 2020-04-29 16:03:09 +02:00
Aaron Crickenberger
c209fe8439 fix .import-restrictions to work with import-boss --include-test-files
this is mainly to ensure integration tests (which all end in _test)
are properly bossed around for their imports

I had to adjust some of the _test files to adhere to existing
reverse_rules specified elsewhere
2020-04-28 08:41:36 -07:00
Aaron Crickenberger
f306a0dbb4 convert .import-restrictions to yaml
yaml has comments, so we can explain why we have certain rules or
certain prefixes

for those files that weren't already commented yaml, I converted them to
yaml and took a best guess at comments based on the PRs that introduced
or updated them
2020-04-28 08:41:36 -07:00
Guangming Wang
e92a91eb72 cleanup: no need nil check before range 2020-04-27 22:12:12 +08:00
Jordan Liggitt
5efcc9e633 Restore cache-control header filter 2020-04-24 15:38:51 -04:00
Jiajie Yang
ae0e52d28c Monitoring safe rollout of time-bound service account token. 2020-04-22 11:59:16 -07:00
Kubernetes Prow Robot
72cdc8c211
Merge pull request #89256 from yue9944882/integration-test-flowcontrol
Priority-level isolation integration test
2020-04-21 05:42:55 -07:00
Antonio Ojea
e3df13439a fix service allocation concurrency issues
The service allocator is used to allocate ip addresses for the
Service IP allocator and NodePorts for the Service NodePort
allocator. It uses a bitmap backed by etcd to store the allocation
and tries to allocate the resources directly from the local memory
instead from etcd, that can cause issues in environment with
high concurrency.

It may happen, in deployments with multiple apiservers, that the
resource allocation information is out of sync, this is more
sensible with NodePorts, per example:

1. apiserver A create a service with NodePort X
2. apiserver B deletes the service
3. apiserver A creates the service again

If the allocation data of apiserver A wasn't refreshed with the
deletion of apiserver B, apiserver A fails the allocation because
the data is out of sync. The Repair loops solve the problem later,
but there are some use cases that require to improve the concurrency
in the allocation logic.

We can try to not do the Allocation and Release operations locally,
and try instead to check if the local data is up to date with etcd,
and operate over the most recent version of the data.
2020-04-20 09:50:00 +02:00
yue9944882
df5dfb46b7 assert shared concurrency 2020-04-18 01:15:54 +08:00
Kubernetes Prow Robot
b35fdbc037
Merge pull request #89904 from alculquicondor/raw-extension-plugin-args
Use RawExtension and Object for external and internal, respectively, scheduling plugin args
2020-04-15 15:22:59 -07:00
Kubernetes Prow Robot
d0183703cb
Merge pull request #90059 from ahg-g/ahg-nodeinfo2
Cleanup obsolete NodeInfo methods
2020-04-14 17:32:04 -07:00
Aldo Culquicondor
ce05382b58 Use RawExtension and Object for external and internal scheduling plugin args, respectively
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-04-14 13:44:42 -04:00
yue9944882
875407a450 add flowcontrol integration test to import whitelist 2020-04-13 22:33:08 +08:00
yue9944882
30bc0fce48 integration test for priority-level isolation 2020-04-13 22:33:07 +08:00
Kubernetes Prow Robot
b17ddac4df
Merge pull request #78944 from avorima/golint_fix_job
Fix golint errors in pkg/controller/job
2020-04-12 21:57:47 -07:00
Abdullah Gharaibeh
bed9b2f23b Cleanup obsolete NodeInfo methods 2020-04-12 18:13:46 -04:00
Abdullah Gharaibeh
b8ddd00312 scheduler's NodeInfo tracks PodInfos instead of Pods 2020-04-08 17:53:20 -04:00
Kubernetes Prow Robot
007f7ae7dc
Merge pull request #89912 from ahg-g/ahg-fwk
Move scheduler's NodeInfo and Listers types to framework pkg
2020-04-07 12:49:57 -07:00
Abdullah Gharaibeh
a5d8172715 move nodeinfo type to framework pkg 2020-04-07 10:25:24 -04:00
Kubernetes Prow Robot
38f0a8bc74
Merge pull request #89652 from liggitt/relist-timeout
Fix client watch reestablishment handling of client-side timeouts
2020-04-07 01:15:44 -07:00
Kubernetes Prow Robot
821ebaf0c6
Merge pull request #87448 from YuikoTakada/fix_81657_t_integ_dep
Fix static check failures in test/integration/deployment
2020-04-02 21:39:45 -07:00
Abdullah Gharaibeh
ed3fe054df move scheduler nodeinfo to pkg/scheduler/types 2020-03-31 21:02:09 -04:00
Jordan Liggitt
343c1e7636 Fix client watch reestablishment handling of client-side timeouts 2020-03-30 17:48:00 -04:00
Kenichi Omichi
03c7bdcacc Enable import-boss check for integration test
Integration tests imported e2e test code and the dependency made two drawbacks:

- Hard to move test/e2e/framework into staging (#74352)
- Need to run integration tests always even if PRs are just changing e2e test code

This enables import-boss check for blocking such dependency.
2020-03-30 21:09:15 +00:00
Kubernetes Prow Robot
d73907fc25
Merge pull request #89380 from alculquicondor/perf-spreading
Add perf test case for Topology Spreading
2020-03-28 02:43:52 -07:00
Kubernetes Prow Robot
5317a3160c
Merge pull request #89106 from chendave/refactor
Decouple yaml based integration test from legacy test
2020-03-27 12:07:53 -07:00
Kubernetes Prow Robot
c0526c60b3
Merge pull request #89216 from gavinfish/inte-benchmark-e2e
Remove dependency for benchmark integration tests from e2e fw
2020-03-26 18:46:23 -07:00
Dave Chen
49283364bf Decouple yaml based integration test from legacy test
- Move utilities or constants out so that both of them should be able
to run independently.
- Rename the legacy test so that it can eventually be deleted when the
perf dash changes is done
2020-03-27 08:45:59 +08:00
Aldo Culquicondor
9b2ff544ed Fix pod affinity performance test configuration
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-26 15:52:44 -04:00
Aldo Culquicondor
671cd33986 Add perf test cases for topology spreading
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-25 10:06:09 -04:00
Aldo Culquicondor
c9314dde59 Add support for multiple label values in test cases
They are assigned in a round robin fashion

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-25 10:06:09 -04:00
Kubernetes Prow Robot
7e7c4d1021
Merge pull request #89272 from alculquicondor/perf-mixed-pods
Add multiple init pods to scheduler perf test cases
2020-03-25 00:29:02 -07:00
Aldo Culquicondor
e902e70d0d Use sqrt(n) chunk size in pod affinity and core scheduler 2020-03-24 10:29:59 -04:00
Kubernetes Prow Robot
4738ba5b49
Merge pull request #89335 from gavinfish/rename-waitforpodcondition
Rename waitForPodCondition to improve code readability
2020-03-23 20:31:01 -07:00
Kubernetes Prow Robot
2ab6357df0
Merge pull request #88528 from ingvagabund/doc-how-to-extend-scheduler-perf-tests
[doc] scheduler_perf: describe suite configuration in more detail
2020-03-23 17:10:47 -07:00
Aldo Culquicondor
5adc4c41e3 Add multiple init pods to perf test cases
Add test case with several init pods with affinity or antiaffinity.

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-23 14:55:12 -04:00
Aldo Culquicondor
0e66e56e70 Use b.Fatal instead of klog.Fatal in scheduler perf tests
The test tool doesn't work properly with klog.Fatal

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-23 14:53:15 -04:00
drfish
9d7dc80b48 Rename waitForPodCondition in lifecycle_test.go to improve code readability 2020-03-22 11:53:51 +08:00
Kubernetes Prow Robot
fb9810c341
Merge pull request #89210 from gavinfish/inte-node-e2e
Remove dependency for node integration tests from e2e fw
2020-03-21 20:44:44 -07:00
Kubernetes Prow Robot
332cab4f3b
Merge pull request #89223 from gavinfish/inte-framework-e2e
Remove dependency for integration framework tests from e2e fw
2020-03-20 14:02:23 -07:00
Kubernetes Prow Robot
ede025af1b
Merge pull request #89232 from apelisse/test-apply-status
Use discovery to test apply all status
2020-03-20 03:52:36 -07:00
Antoine Pelisse
94cb60e0e8 Use discovery to test apply all status 2020-03-19 09:58:46 -07:00
Kubernetes Prow Robot
0f336e09e7
Merge pull request #89236 from liggitt/fix-gc-test
Restore orphaning check in gc test
2020-03-19 06:07:14 -07:00
Kubernetes Prow Robot
1aa64b25a5
Merge pull request #89139 from chendave/flags
Respect flags of testing package
2020-03-18 22:24:48 -07:00
drfish
437765db22 Remove dependency for integration framework tests from e2e fw 2020-03-19 10:18:59 +08:00
Jordan Liggitt
69eb837e3b Restore orphaning check in gc test 2020-03-18 18:04:19 -04:00
drfish
af1e1f4435 Remove dependency for node integration tests from e2e fw 2020-03-18 20:27:15 +08:00
drfish
6cad278a8c Remove dependency for benchmark integration tests from e2e fw 2020-03-18 15:57:37 +08:00
Dave Chen
eedfb593a9 Respect flags of testing package
`go test -c -o "perf.test"`
`./perf.test --help` doesn't understand "help" flag without
calling `flag.Parse` explicitly.
2020-03-16 10:24:15 +08:00
Mateusz Gozdek
dfe1f968ac
kube-apiserver: use SO_REUSEPORT when creating listener on Unix systems
So multiple instances of kube-apiserver can bind on the same address and
port, to provide seamless upgrades.

Signed-off-by: Mateusz Gozdek <mateusz@kinvolk.io>
2020-03-13 23:55:57 +01:00
skilxn-go
6b8fc8dc5e Move TaintBasedEvictions feature gates to GA 2020-03-09 10:49:00 +08:00
Jordan Liggitt
d8abacba40 client-go: update expansions callers 2020-03-06 16:50:41 -05:00
Kubernetes Prow Robot
f52cbea102
Merge pull request #88910 from liggitt/metadata-context
Metadata client: plumb context
2020-03-06 13:18:04 -08:00
Jordan Liggitt
04a72d5ef9 client-go metadata: update callers 2020-03-06 11:07:54 -05:00
Jordan Liggitt
b7c2faf26c client-go dynamic client: add context to callers 2020-03-06 10:56:23 -05:00
Jordan Liggitt
b19dc3a474 client-go dynamic client: update DeleteOptions callers 2020-03-06 10:21:23 -05:00
Hemant Kumar
73611a473f Fix expected version for csidriver
Add a comment about GA feature
2020-03-06 08:21:26 -05:00
Christian Huffman
c6fd25d100 Updated CSIDriver references 2020-03-06 08:21:26 -05:00
Kubernetes Prow Robot
5708511499
Merge pull request #88708 from mikedanese/deleteopts
Migrate clientset metav1.DeleteOpts to pass-by-value
2020-03-05 23:09:23 -08:00
Kubernetes Prow Robot
34c4407d34
Merge pull request #88152 from fengzixu/master
cleanup: move the test of TaintBasedEvictions features to sig-node
2020-03-05 20:03:43 -08:00
Mike Danese
76f8594378 more artisanal fixes
Most of these could have been refactored automatically but it wouldn't
have been uglier. The unsophisticated tooling left lots of unnecessary
struct -> pointer -> struct transitions.
2020-03-05 14:59:47 -08:00
Mike Danese
aaf855c1e6 deref all calls to metav1.NewDeleteOptions that are passed to clients.
This is gross but because NewDeleteOptions is used by various parts of
storage that still pass around pointers, the return type can't be
changed without significant refactoring within the apiserver. I think
this would be good to cleanup, but I want to minimize apiserver side
changes as much as possible in the client signature refactor.
2020-03-05 14:59:46 -08:00
Mike Danese
c58e69ec79 automated refactor 2020-03-05 14:59:46 -08:00
Jan Chaloupka
b09676921c [doc] scheduler_perf: describe suite configuration in more detail
The configuration file was design as a yaml file on purpose.
To easily extend the test cases without a need to modify
the testing binary. Also, it's possible to extend the configuration
itself to enrich individual test cases.
2020-03-05 11:42:05 +01:00
Mateusz Litwin
b93e3d18e9 fix scheduler.TestCoSchedulinngWithPermitPlugin and test scheduler.PermitPlugin
After moving Permit() to the scheduling cycle test PermitPlugin should
no longer wait inside Permit() for another pod to enter Permit() and become waiting pod.
In the past this was a way to make test work regardless of order in
which pods enter Permit(), but now only one Permit() can be executed at
any given moment and waiting for another pod to enter Permit() inside
Permit() leads to timeouts.

In this change waitAndRejectPermit and waitAndAllowPermit flags make first
pod to enter Permit() a waiting pod and second pod to enter Permit()
either rejecting or allowing pod.

Mentioned in #88469
2020-03-04 08:45:36 -08:00
fengzixu
076132e38a cleanup: move the test of TaintBasedEvictions features to sig-node
1. move the integration test of TaintBasedEvictions to test/integration/node
2. move the e2e test of TaintBasedEvictions e2e test/e2e/node
3. modify the conformance file to adapt the TaintBasedEviction test
2020-03-04 10:28:00 +09:00
Kubernetes Prow Robot
a019609d5d
Merge pull request #87508 from jennybuckley/large-obj
Don't save managedFields if object is too large
2020-03-02 16:16:05 -08:00
Kubernetes Prow Robot
4b1ee392c1
Merge pull request #79083 from jackkleeman/client-cert-file-reload
Add ability to reload client certificates from disk
2020-03-02 16:15:53 -08:00
Kubernetes Prow Robot
e87cd59e1b
Merge pull request #88685 from fengzixu/move-util-functions
Refactor: move generic functions of integration test to util directory
2020-03-02 11:43:23 -08:00
Jack Kleeman
929b1559a0 Add ReloadCertFromDisk flag to rest.Config and to kubeconfig which allows the provided client certificate files to be reloaded from disk (currently on every use)
Close outbound connections when using a cert callback and certificates rotate. This means that we won't get into a situation where we have open TLS connections using expires certs, which would get unauthorized errors at the apiserver

Attempt to retrieve a new certificate if open connections near expiry, to prevent the case where the cert expires but we haven't yet opened a new TLS connection and so GetClientCertificate hasn't been called.

Move certificate rotation logic to a separate function

Rely on generic transport approach to handle closing TLS client connections in exec plugin; no need to use a custom dialer as this is now the default behaviour of the transport when faced with a cert callback. As a result of handling this case, it is now safe to apply the transport approach even in cases where there is a custom Dialer (this will not affect kubelet connrotation behaviour, because that uses a custom transport, not just a dialer).

Check expiry of the full TLS certificate chain that will be presented, not only the leaf. Only do this check when the certificate actually rotates. Start the certificate as a zero value, not nil, so that we don't see a rotation when there is in fact no client certificate

Drain the timer when we first initialize it, to prevent immediate rotation. Additionally, calling Stop() on the timer isn't necessary.

Don't close connections on the first 'rotation'

Remove RotateCertFromDisk and RotateClientCertFromDisk flags.

Instead simply default to rotating certificates from disk whenever files are exclusively provided.

Add integration test for client certificate rotation

Simplify logic; rotate every 5 mins

Instead of trying to be clever and checking for rotation just before an
expiry, let's match the logic of the new apiserver cert rotation logic
as much as possible. We write a controller that checks for rotation
every 5 mins. We also check on every new connection.

Respond to review

Fix kubelet certificate rotation logic

The kubelet rotation logic seems to be broken because it expects its
cert files to end up as cert data whereas in fact they end up as a
callback. We should just call the tlsConfig GetCertificate callback
as this obtains a current cert even in cases where a static cert is
provided, and check that for validity.

Later on we can refactor all of the kubelet logic so that all it does is
write files to disk, and the cert rotation work does the rest.

Only read certificates once a second at most

Respond to review

1) Don't blat the cert file names
2) Make it more obvious where we have a neverstop
3) Naming
4) Verbosity

Avoid cache busting

Use filenames as cache keys when rotation is enabled, and add the
rotation later in the creation of the transport.

Caller should start the rotating dialer

Add continuous request rotation test

Rebase: use context in List/Watch

Swap goroutine around

Retry GETs on net.IsProbableEOF

Refactor certRotatingDialer

For simplicity, don't affect cert callbacks

To reduce change surface, lets not try to handle the case of a changing
GetCert callback in this PR. Reverting this commit should be sufficient
to handle that case in a later PR.

This PR will focus only on rotating certificate and key files.
Therefore, we don't need to modify the exec auth plugin.

Fix copyright year
2020-03-02 17:20:16 +00:00
Rob Scott
132d2afca0
Adding IngressClass to networking/v1beta1
Co-authored-by: Christopher M. Luciano <cmluciano@us.ibm.com>
2020-03-01 18:17:09 -08:00
Kubernetes Prow Robot
03b7f272c8
Merge pull request #88246 from munnerz/csr-signername-controllers
Update CSR controllers & kubelet to respect signerName field
2020-02-28 23:38:39 -08:00
fengzixu
b67a033de2 Refactor: move generic functions of integration test to util directory 2020-02-29 14:56:39 +09:00
Kubernetes Prow Robot
268d0a1d3a
Merge pull request #85870 from Jefftree/authn-netproxy
Use Network Proxy with Authentication & Authorizer Webhooks
2020-02-28 18:44:39 -08:00
Kubernetes Prow Robot
0d2844f564
Merge pull request #88666 from ingvagabund/scheduler-perf-do-not-override-throughput-labes
scheduler_perf: do not override throughput labels
2020-02-28 12:55:03 -08:00
Jan Chaloupka
5b3b4de972 scheduler_perf: do not override throughput labels
Throughput labels are currently initialized with a "Name" label.
So we need to append to the map instead of creating a new one.
2020-02-28 16:10:50 +01:00
Elijah Oyekunle
2e187415fd extend CRD map and set validation 2020-02-28 16:00:59 +01:00
Jefftree
1b38199ea8 pass Dialer instead of egressselector to webhooks 2020-02-27 17:47:23 -08:00
Jefftree
d318e52ffe authentication webhook via network proxy 2020-02-27 17:47:23 -08:00
jennybuckley
ccd9e4e2de Don't save managedFields if object is too large 2020-02-27 12:41:44 -08:00
Mike Dame
18ffaf5608 Move scheduler extender API V1 to staging k8s.io/kube-scheduler 2020-02-27 12:10:59 -05:00
James Munnelly
d5dae04898 certificates: update controllers to understand signerName field
Signed-off-by: James Munnelly <james.munnelly@jetstack.io>
2020-02-27 15:54:31 +00:00
James Munnelly
d7e10f9869 Add Certificate signerName admission plugins 2020-02-27 15:50:14 +00:00