Commit Graph

3957 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
4f28854c09 Merge pull request #114223 from sathyanarays/improve_scheduler_test_coverage
Improving scheduler extender unit tests
2022-12-10 07:54:44 -08:00
Antonio Ojea
ef6d9edea5 endpointslicemirroring handle endpoints with multiple subsets
Endpoints generated by the endpoints controller are in the canonical
form, however, custom endpoints can not be in canonical format
(there was a time they were canonicalized in the apiserver, but this
caused performance issues because the endpoint controller kept
updating them since the created endpoint were different than the
stored one due to the canonicalization)

There are cases where a custom endpoint may generate multiple slices
due to the controller, per example, when the same address is present
in different subsets.

The endpointslice mirroring controller should canonicalize the
endpoints subsets before start processing them to be consistent
on the slices generated, there is no risk of hotlooping because
the endpoint is only used as input.

Change-Id: I2a8cd53c658a640aea559a88ce33e857fa98cc5c
2022-12-10 11:44:10 +00:00
Kubernetes Prow Robot
0cd13e573c Merge pull request #113196 from mimowo/job-controller-reviewer
Self-nominate mimowo as a reviewer for pkg/controller/job & test/integration/job packages
2022-12-10 02:01:39 -08:00
Gunju Kim
69fcde750a Update daemonSet status even if syncDaemonSet fails
This ensures that the daemonset controller updates daemonset statuses in
a best-effort manner even if syncDaemonSet fails.

In order to add an integration test, this also replaces
`cmd/kube-apiserver/app/testing.StartTestServer` with
`test/integration/framework.StartTestServer` and adds
`setupWithServerSetup` to configure the admission control of the
apiserver.
2022-12-10 11:45:56 +09:00
Kubernetes Prow Robot
e1709e59d1 Merge pull request #113922 from alexzielenski/owners-alexzielenski
add alexzielenski to OWNERS
2022-12-09 14:35:24 -08:00
Kubernetes Prow Robot
a8b2f4b695 Merge pull request #113564 from tallclair/audit-config
Combine RequestAuditConfig with RequestAuditConfigWithLevel
2022-12-09 14:34:08 -08:00
Sathyanarayanan Saravanamuthu
bf4f907bfa Improving schedule extender test coverage
Signed-off-by: Sathyanarayanan Saravanamuthu <sathyanarays@vmware.com>
2022-12-05 12:10:10 +05:30
Aldo Culquicondor
61fe6114b3 Reduce load of Job integration test
Change-Id: If99856aa6640375a8a9feff13fa213d4f974a99a
2022-12-02 12:58:28 -05:00
Arda Güçlü
43a889fc65 Add integration test to test singularnames for all resources 2022-11-21 09:59:37 +03:00
Yibo Zhuang
380c7f248e scheduler volumebinding: leverage PreFilterResult
This change will leverage the new PreFilterResult
to reduce down the list of eligible nodes for pod
using Bound Local PVs during PreFilter stage so
that only the node(s) which local PV node affinity
matches will be cosnidered in subsequent scheduling
stages.

Today, the NodeAffinity check is done during Filter
which means all nodes will be considered even though
there may be a large number of nodes that are not
eligible due to not matching the pod's bound local
PV(s)' node affinity requirement. Here we can
reduce down the node list in PreFilter to ensure that
during Filter we are only considering the reduced
list and thus can provide a more clear message to
users when node(s) are not available for scheduling
since the list only contains relevant nodes.

If error is encountered (e.g. PV cache read error) or
if node list reduction cannot be done (e.g. pod uses
no local PVs), then we will still proceed to consider
all nodes for the rest of scheduling stages.

Signed-off-by: Yibo Zhuang <yibzhuang@gmail.com>
2022-11-17 21:37:24 -08:00
Kermit Alexander II
19242ec349 Add TestBindingRemoval. 2022-11-17 02:10:07 +00:00
Kermit Alexander II
cd3d014614 Add TestCRDParams. 2022-11-17 02:09:47 +00:00
Monis Khan
cb3410e1b7 kms: use different context for server lifecycle and initial load
Signed-off-by: Monis Khan <mok@microsoft.com>
2022-11-16 16:44:23 -05:00
Kubernetes Prow Robot
dc7fd39eb7 Merge pull request #113738 from andrewsykim/cel-integration-tests
test/integration/apiserver/cel: more tests!
2022-11-15 09:44:41 -08:00
Alexander Zielenski
10b9a1fe19 add alexzielenski to OWNERS 2022-11-15 08:46:46 -08:00
Andrew Sy Kim
34a2d265d7 test/integration/apiserver/cel: update createAndWaitReady to retry on error including 'not yet synced to use for admission'
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-14 22:27:16 -05:00
Andrew Sy Kim
7127f565f6 test/integration/apiserver/cel: add Test_ValidatingAdmissionPolicy_UpdateParamResource
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-14 21:48:12 -05:00
Andrew Sy Kim
0fb038fb15 test/integration/apiserver/cel: add lifecycle tests for deleting/recreating policy, policy bindings, and param resources
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-14 21:48:12 -05:00
Andrew Sy Kim
3f477f847d test/integration/apiserver/cel: update feature gate name CELValidatingAdmission -> ValidatingAdmissionPolicy
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-14 21:48:12 -05:00
Andrew Sy Kim
38d884580b test/integration/apiserver/cel: add tests for match resources and match policy
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-14 21:48:12 -05:00
Mark Rossetti
534f052a8d Updating pause image refernces to 3.9
Signed-off-by: Mark Rossetti <marosset@microsoft.com>
2022-11-14 10:24:54 -08:00
Andrew Sy Kim
894063908f test/integration/apiserver/cel: add additional test cases to Test_ValidateNamespace_NoParams for unguarded params
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-14 11:03:52 -05:00
Andrew Sy Kim
e2ce260f7a test/integration/apiserver/cel: add Test_ValidatingAdmissionPolicy_UpdateParamRef
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-14 11:03:52 -05:00
Andrew Sy Kim
cbcc22eb9c test/integration/apiserver/cel: add Test_ValidatingAdmissionPolicy_UpdateParamKind
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-14 11:03:52 -05:00
Andrew Sy Kim
3d30b97cd8 test/integration/apiserver/cel: add Test_PolicyExemption
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-14 11:03:52 -05:00
Kubernetes Prow Robot
d1c0171aed Merge pull request #111023 from pohly/dynamic-resource-allocation
dynamic resource allocation
2022-11-11 16:21:56 -08:00
Kubernetes Prow Robot
263ba476ba Merge pull request #113764 from Jefftree/foobar
Fix bugs with aggregated discovery
2022-11-11 13:11:56 -08:00
Alexander Zielenski
93caf125b9 add discovery integration tests
add crd integration tests
\
2022-11-11 11:19:31 -08:00
Kubernetes Prow Robot
4b1b42624e Merge pull request #113848 from atiratree/113036-fix-ds-dedup-histories
integration: fix race with the controller in TestDSCUpdatesPodLabelAfterDedupCurHistories
2022-11-11 09:18:09 -08:00
Kubernetes Prow Robot
cc704f9778 Merge pull request #113375 from atiratree/PodHealthyPolicy-api
api: add unhealthyPodEvictionPolicy for PDBs
2022-11-11 04:02:10 -08:00
Filip Křepinský
1e078f1630 fix race with the controller in TestDSCUpdatesPodLabelAfterDedupCurHistories 2022-11-11 11:52:56 +01:00
Filip Křepinský
2fbbc473b7 integration: add eviction tests for UnhealthyPodEvictionPolicy 2022-11-10 23:32:27 +01:00
Shihang Zhang
6784610beb fix test flake in TestLegacyServiceAccountTokenTracking 2022-11-10 13:48:53 -08:00
Patrick Ohly
5cca60f0b8 api: dynamic resource allocation API
This adds a new resource.k8s.io API group with v1alpha1 as version. It contains
four new types: resource.ResourceClaim, resource.ResourceClass, resource.ResourceClaimTemplate, and
resource.PodScheduling.
2022-11-10 20:08:24 +01:00
Patrick Ohly
5433da0419 test: adapt reference data to Pod changes
These tests print a v1.Pod with Sprintf, which includes the new field even when
it is empty.
2022-11-10 20:08:24 +01:00
Kubernetes Prow Robot
77b027936a Merge pull request #113803 from dashpole/revert-113693-apiserver_tracing_beta
Revert "Graduate API Server tracing to beta"
2022-11-09 23:36:53 -08:00
Cici Huang
2973712486 Rename FG to ValidatingAdmissionPolicy 2022-11-10 03:37:35 +00:00
David Ashpole
e799fcdadd Revert "Graduate API Server tracing to beta" 2022-11-09 22:37:28 -05:00
Kubernetes Prow Robot
98bd73cfe0 Merge pull request #113724 from kerthcet/cleanup/klog
Replace klog with benchmark log framework in scheduler_perf
2022-11-09 19:34:53 -08:00
Kubernetes Prow Robot
7e0e0c8ec3 Merge pull request #113360 from mimowo/handling-pod-failures-beta-enable
Enable the "Retriable and non-retriable pod failures for jobs" feature into beta
2022-11-09 08:30:24 -08:00
Kubernetes Prow Robot
b2c72feca8 Merge pull request #113693 from dashpole/apiserver_tracing_beta
Graduate API Server tracing to beta
2022-11-09 04:54:13 -08:00
Kubernetes Prow Robot
1193a9abcb Merge pull request #113485 from MikeSpreitzer/apf-borrowing
Add borrowing between priority levels in APF
2022-11-09 01:40:12 -08:00
Kubernetes Prow Robot
8058e8eff8 Merge pull request #113171 from Jefftree/aggregated-discovery-generic
Aggregated discovery server changes
2022-11-09 00:08:12 -08:00
Michal Wozniak
c803892bd8 Enable the feature into beta 2022-11-09 09:02:40 +01:00
Mike Spreitzer
feb4227788 apiserver: finish implementation of borrowing in APF
Also make some design changes exposed in testing and review.

Do not remove the ambiguous old metric
`apiserver_flowcontrol_request_concurrency_limit` because reviewers
though it is too early.  This creates a problem, that metric can not
keep both of its old meanings.  I chose the configured concurrency
limit.

Testing has revealed a design flaw, which concerns the initialization
of the seat demand state tracking.  The current design in the KEP is
as follows.

> Adjustment is also done on configuration change … For a newly
> introduced priority level, we set HighSeatDemand, AvgSeatDemand, and
> SmoothSeatDemand to NominalCL-LendableSD/2 and StDevSeatDemand to
> zero.

But this does not work out well at server startup.  As part of its
construction, the APF controller does a configuration change with zero
objects read, to initialize its request-handling state.  As always,
the two mandatory priority levels are implicitly added whenever they
are not read.  So this initial reconfig has one non-exempt priority
level, the mandatory one called catch-all --- and it gets its
SmoothSeatDemand initialized to the whole server concurrency limit.
From there it decays slowly, as per the regular design.  So for a
fairly long time, it appears to have a high demand and competes
strongly with the other priority levels.  Its Target is higher than
all the others, once they start to show up.  It properly gets a low
NominalCL once other levels show up, which actually makes it compete
harder for borrowing: it has an exceptionally high Target and a rather
low NominalCL.

I have considered the following fix.  The idea is that the designed
initialization is not appropriate before all the default objects are
read.  So the fix is to have a mode bit in the controller.  In the
initial state, those seat demand tracking variables are set to zero.
Once the config-producing controller detects that all the default
objects are pre-existing, it flips the mode bit.  In the later mode,
the seat demand tracking variables are initialized as originally
designed.

However, that still gives preferential treatment to the default
PriorityLevelConfiguration objects, over any that may be added later.

So I have made a universal and simpler fix: always initialize those
seat demand tracking variables to zero.  Even if a lot of load shows
up quickly, remember that adjustments are frequent (every 10 sec) and
the very next one will fully respond to that load.

Also: revise logging logic, to log at numerically lower V level when
there is a change.

Also: bug fix in float64close.

Also, separate imports in some file

Co-authored-by: Han Kang <hankang@google.com>
2022-11-08 21:51:44 -08:00
Kubernetes Prow Robot
e62cfabf93 Merge pull request #112050 from nilekhc/kms-hot-reload
Implements hot reload of the KMS `EncryptionConfiguration`
2022-11-08 17:24:12 -08:00
kerthcet
d6ffb47832 Replace klog with benchmark log in scheduler_perf
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-11-09 09:11:55 +08:00
Kubernetes Prow Robot
d619f60e0f Merge pull request #113442 from Huang-Wei/kep-3521-C
[KEP-3521] Part 3: Bug fixes, integration & E2E Test
2022-11-08 15:08:15 -08:00
Alexander Zielenski
91d0d48326 add aggregated discovery integration tests
Co-authored-by: Jeffrey Ying <jeffrey.ying86@live.com>
2022-11-08 14:44:50 -08:00
David Ashpole
4be473c774 promote TracingConfiguration to v1beta1 2022-11-08 22:44:07 +00:00