Commit Graph

3841 Commits

Author SHA1 Message Date
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
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
David Ashpole
fc3cec6bf3 graduate API Server tracing to beta 2022-11-08 22:44:07 +00:00
Nilekh Chaudhari
761b7822fc feat: implements kms encryption config hot reload
This change enables hot reload of encryption config file when api server
flag --encryption-provider-config-automatic-reload is set to true. This
allows the user to change the encryption config file without restarting
kube-apiserver. The change is detected by polling the file and is done
by using fsnotify watcher. When file is updated it's process to generate
new set of transformers and close the old ones.

Signed-off-by: Nilekh Chaudhari <1626598+nilekhc@users.noreply.github.com>
2022-11-08 21:47:59 +00:00
Kubernetes Prow Robot
3a99a5954d Merge pull request #113629 from andrewsykim/apiserver-identity-beta
Promote APIServerIdentity to Beta
2022-11-08 12:43:10 -08:00
Wei Huang
ae5d430c76 Integration tests for KEP Pod Scheduling Readiness
- test generic integration in plugins_test.go
- test integration with SchedulingGates plugin in queue_test.go
2022-11-08 10:06:44 -08:00
Maciej Szulik
3c93d540c6 Revert "Update daemonSet status even if syncDaemonSet fails"
This reverts commit 2ee024a4df.
2022-11-08 15:01:09 +01:00
Kubernetes Prow Robot
595ea32411 Merge pull request #113314 from cici37/celIntegration
CEL validation in Admission chain
2022-11-07 17:08:33 -08:00
Andrew Sy Kim
c2d387ce54 test/integration/controlplane: update APIServerIdentity tests to use public lease parameter vars
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-07 19:42:05 -05:00
Kubernetes Prow Robot
0e9a2e6bcf Merge pull request #113669 from wojtek-t/clean_shutdown_final
Clean shutdown final
2022-11-07 16:01:45 -08:00
Kubernetes Prow Robot
6ee5e10f02 Merge pull request #113642 from dashpole/more_tracing_tests
Additional integration test validations for apiserver tracing
2022-11-07 16:01:37 -08:00
Kubernetes Prow Robot
47952e0917 Merge pull request #112360 from mimowo/handling-pod-failures-beta-kubelet
Add pod disruption conditions for kubelet-initiated failures
2022-11-07 16:00:40 -08:00
Kubernetes Prow Robot
b4f42864f5 Merge pull request #112127 from gjkim42/update-status-despite-error
Update daemonSet status even if syncDaemonSet fails
2022-11-07 16:00:28 -08:00
Cici Huang
e7d83a1fb7 Integrate cel admission with API.
Co-authored-by: Alexander Zielenski <zielenski@google.com>
Co-authored-by: Joe Betz <jpbetz@google.com>
2022-11-07 21:38:55 +00:00
Cici Huang
d86cfa9854 Add integration test.
Co-authored-by: Kermit Alexander II <kermitalexandr@google.com>
2022-11-07 21:35:58 +00:00