Commit Graph

3814 Commits

Author SHA1 Message Date
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
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
Cici Huang
0486e06261 Adding new api version of admissionregistration.k8s.io v1alpha1 for CEL in Admission Control 2022-11-07 20:51:51 +00:00
Kubernetes Prow Robot
7369bd27e0 Merge pull request #113679 from alculquicondor/test-approver
Add alculquicondor to test/integration/framework OWNERS
2022-11-07 12:42:40 -08:00
Kubernetes Prow Robot
3d5725d9c0 Merge pull request #113649 from andrewsykim/apiserver-identity-hash
apiserver identity : use SHA256 hash in lease names
2022-11-07 11:20:49 -08:00
Kubernetes Prow Robot
b1dd1cd2f1 Merge pull request #113529 from enj/enj/i/kms_single_healthz
kms: add wiring to support automatic encryption config reload
2022-11-07 11:20:42 -08:00
David Ashpole
ffae39dbde additional integration test validations for apiserver tracing 2022-11-07 19:18:46 +00:00
Aldo Culquicondor
337c515db8 Add alculquicondor to test/integration/framework OWNERS
Change-Id: I60c91252abf985e36ba2296f763dc61792cec4d0
2022-11-07 13:13:50 -05:00
Kubernetes Prow Robot
73f6b96f0a Merge pull request #113615 from kerthcet/feat/add-benchmark-tests
Add nodeInclusionPolicy benchmark tests to scheduler_perf
2022-11-07 09:18:28 -08:00
Monis Khan
22e540bc48 kms: add wiring to support automatic encryption config reload
This change adds a flag --encryption-provider-config-automatic-reload
which will be used to drive automatic reloading of the encryption
config at runtime.  While this flag is set to true, or when KMS v2
plugins are used without KMS v1 plugins, the /healthz endpoints
associated with said plugins are collapsed into a single endpoint at
/healthz/kms-providers - in this state, it is not possible to
configure exclusions for specific KMS providers while including the
remaining ones - ex: using /readyz?exclude=kms-provider-1 to exclude
a particular KMS is not possible.  This single healthz check handles
checking  all configured KMS providers.  When reloading is enabled
but no KMS providers are configured, it is a no-op.

k8s.io/apiserver does not support dynamic addition and removal of
healthz checks at runtime.  Reloading will instead have a single
static healthz check and swap the underlying implementation at
runtime when a config change occurs.

Signed-off-by: Monis Khan <mok@microsoft.com>
2022-11-07 12:03:18 -05:00
Andrew Sy Kim
5b3a9e2d75 apiserver identity : use SHA256 hash in lease names
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-07 12:02:57 -05:00
Kubernetes Prow Robot
ac95e5b701 Merge pull request #113510 from alculquicondor/finalizers-stable
Graduate JobTrackingWithFinalizers to stable
2022-11-07 08:06:41 -08:00
Kubernetes Prow Robot
240f6651e1 Merge pull request #113503 from kerthcet/cleanup/use-string-like-type
Refactor scheduler_perf_test codes
2022-11-07 08:06:29 -08:00
Wojciech Tyczyński
1b976760db Improve debuggability of leaking goroutines 2022-11-07 15:04:08 +01:00
Michal Wozniak
52cd6755eb Add pod disruption conditions for kubelet initiated failures 2022-11-07 11:23:22 +01:00
Wojciech Tyczyński
71d87272de Clean shutdown of apply integration tests 2022-11-07 09:14:15 +01:00
Aldo Culquicondor
4948918155 Graduate JobTrackingWithFinalizers to stable
Change-Id: Ifc749a85b1270c0155ac511b91d4681d53236820
2022-11-04 17:05:53 -04:00
Kubernetes Prow Robot
b20ddbd75a Merge pull request #113351 from andrewsykim/endpointslice-terminating-ga
Promote EndpointSliceTerminatingCondition to GA
2022-11-04 09:36:39 -07:00
kerthcet
bc15aca26d Refactor SchedulerConfigFile
Rename to SchedulerConfigPath and make it a pointer
to be consist with other fields

Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-11-05 00:30:34 +08:00
kerthcet
48f2c9ec20 Add benchmark tests for nodeInclusionPolicy
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-11-05 00:13:43 +08:00
kerthcet
20492f5555 Remove GetReadySchedulableNodes in scheduler_perf
When preparing or cleaning up nodes, list all schedulable ones

Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-11-05 00:13:21 +08:00
Kubernetes Prow Robot
c8a3657bde Merge pull request #113307 from andrewsykim/apiserver-identity-hostname
apiserver identity: use persistent names for lease objects
2022-11-04 07:28:25 -07:00
Wojciech Tyczyński
7253f708a8 Decrease goroutines 2022-11-04 10:34:36 +01:00
Andrew Sy Kim
f74f819e1a apiserver identity: update Lease creation integration test to validate new naming format and hostname label
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-03 22:53:56 -04:00
Andrew Sy Kim
9e24680d0b test/integration/endpointslice: remove references to EndpointSliceTerminatingCondition feature gate
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-03 20:26:51 -04:00
Kubernetes Prow Robot
c98aef484d Merge pull request #112895 from nokia/kep-1435-GA
KEP-1435 Mixed Protocol values in LoadBalancer Service GA
2022-11-03 05:43:35 -07:00
Kubernetes Prow Robot
01a58847e1 Merge pull request #113233 from dashpole/fix_tracing_integration_tests
Fix and extend APIServerTracing integration tests
2022-11-02 18:20:53 -07:00
Kubernetes Prow Robot
4b2aa18bde Merge pull request #113478 from alculquicondor/finalizer_metric
Add benchmark for large indexed job
2022-11-02 16:29:13 -07:00
Aldo Culquicondor
5e03865f65 Add benchmark for large indexed job
Change-Id: I556f0cce5842699c98654cfb5a66e7c8d63b2e2e
2022-11-02 11:56:26 -04:00