Commit Graph

164 Commits

Author SHA1 Message Date
Patrick Ohly
91d7882e86 DRA: new API for 1.31
This is a complete revamp of the original API. Some of the key
differences:
- refocused on structured parameters and allocating devices
- support for constraints across devices
- support for allocating "all" or a fixed amount
  of similar devices in a single request
- no class for ResourceClaims, instead individual
  device requests are associated with a mandatory
  DeviceClass

For the sake of simplicity, optional basic types (ints, strings) where the null
value is the default are represented as values in the API types. This makes Go
code simpler because it doesn't have to check for nil (consumers) and values
can be set directly (producers). The effect is that in protobuf, these fields
always get encoded because `opt` only has an effect for pointers.

The roundtrip test data for v1.29.0 and v1.30.0 changes because of the new
"request" field. This is considered acceptable because the entire `claims`
field in the pod spec is still alpha.

The implementation is complete enough to bring up the apiserver.
Adapting other components follows.
2024-07-22 18:09:34 +02:00
Patrick Ohly
b51d68bb87 DRA: bump API v1alpha2 -> v1alpha3
This is in preparation for revamping the resource.k8s.io completely. Because
there will be no support for transitioning from v1alpha2 to v1alpha3, the
roundtrip test data for that API in 1.29 and 1.30 gets removed.

Repeating the version in the import name of the API packages is not really
required. It was done for a while to support simpler grepping for usage of
alpha APIs, but there are better ways for that now. So during this transition,
"resourceapi" gets used instead of "resourcev1alpha3" and the version gets
dropped from informer and lister imports. The advantage is that the next bump
to v1beta1 will affect fewer source code lines.

Only source code where the version really matters (like API registration)
retains the versioned import.
2024-07-21 17:28:13 +02:00
Antonio Ojea
d748fc024d add ServiceCIDR to the exception for api rules 2024-06-29 10:01:38 +00:00
carlory
214287b370 kube-controller-manager removed deprecated command flags: --volume-host-cidr-denylist and --volume-host-allow-local-loopback 2024-05-27 10:59:09 +08:00
SataQiu
4bd3baece3 kube-controller-manager: remove the deprecated horizontal-pod-autoscaler-upscale-delay and horizontal-pod-autoscaler-downscale-delay flags 2024-05-19 17:49:23 +08:00
Nilekh Chaudhari
91a7708cdc
feat: implements Storage Version Migration API in-tree
Signed-off-by: Nilekh Chaudhari <1626598+nilekhc@users.noreply.github.com>
2024-03-08 04:18:56 +00:00
Patrick Ohly
42ee56f093 dra api: implement semver attribute value type
This adds support for semantic version comparison to the CEL support in the
"named resources" structured parameter model. For example, it can be used to
check that an instance supports a certain API level.

To minimize the risk, the new "semver" type is only defined in the CEL
environment for DRA expressions, not in the base library. See
https://github.com/kubernetes/kubernetes/pull/123664 for a PR which
adds it to the base library.

Validation of semver strings is done with the regular expression from
semver.org. The actual evaluation at runtime then uses semver/v4.
2024-03-07 22:22:13 +01:00
Patrick Ohly
d4d5ade7f5 dra: add "named resources" structured parameter model
Like the current device plugin interface, a DRA driver using this model
announces a list of resource instances. In contrast to device plugins, this
list is made available to the scheduler together with attributes that can be
used to select suitable instances when they are not all alike.

Because this is the first structured parameter model, some checks that
previously were not possible, in particular "is one structured parameter field
set", now gets enabled. Adding another structured parameter model will be
similar.

The applyconfigs code generator assumes that all types in an API are defined in
a single package. If it wasn't for that, it would be possible to place the
"named resources" types in separate packages, which makes their names in the Go
code more natural and provides an indication of their stability level because
the package name could include a version.
2024-03-07 22:21:16 +01:00
Tim Hockin
467d5d745c
Get rid of unused API type NodeResources 2024-03-01 15:13:50 -08:00
Tim Hockin
eddf65849d
Fix list_type_missing in k8s.io/apiserver 2023-11-27 12:24:10 -08:00
Tim Hockin
18f3941c24
Fix list_type_missing in k8s.io/metrics 2023-11-27 12:06:33 -08:00
Tim Hockin
58fb9f6e66
Fix list_type_missing in api/storage 2023-11-27 12:06:32 -08:00
Tim Hockin
e96578fb4d
Fix list_type_missing in api/rbac 2023-11-27 12:06:31 -08:00
Tim Hockin
b2458e456a
Fix list_type_missing in api/networking 2023-11-27 12:06:30 -08:00
Tim Hockin
7fc3ef1fec
Fix list_type_missing in api/imagepolicy 2023-11-27 12:06:29 -08:00
Tim Hockin
cddfa43769
Fix list_type_missing in api/extensions 2023-11-27 12:06:29 -08:00
Tim Hockin
cfe146615a
Fix list_type_missing in api/core 2023-11-27 12:06:28 -08:00
Tim Hockin
fe902f7384
Fix list_type_missing in api/autoscaling 2023-11-27 12:06:27 -08:00
Tim Hockin
ad39737397
Fix list_type_missing in api/authorization 2023-11-27 12:06:26 -08:00
Tim Hockin
b24cffb174
Fix list_type_missing in api/authentication 2023-11-27 12:06:25 -08:00
Tim Hockin
a3ea994fa2
Fix list_type_missing in api/apps 2023-11-27 12:06:24 -08:00
Tim Hockin
460df86f2a
Fix list_type_missing in api/admissionregistration 2023-11-27 12:06:23 -08:00
Tim Hockin
e9bd9262dc
Fix list_type_missing in apiextensions-apiserver 2023-11-27 12:06:21 -08:00
Tim Hockin
dd80194d96
Re-run codegen with new kube-openapi 2023-11-27 12:06:20 -08:00
Tim Hockin
44060fb1f3
Fix "list_type_missing" API violations in meta/v1
This assumes that any such field is atomic, except:
  * OwnerReferences: because it has a `+patchStrategy=merge`, but it
    probably needs a `+listMapKey=...` ?
  * Finalizers: because it hs a `+patchStrategy=merge`, but is a
    primitive type (string).
  * []byte fields, which should not be failing this anyway (fixed
    subsequently).

An alternative approach could be just to turn off the API warnings for
these fields, but it felt more correct to declare the semantics.
2023-11-27 12:05:52 -08:00
Kubernetes Prow Robot
6abff7457e
Merge pull request #116516 from aojea/servicecidr
KEP-1880 Multiple ServiceCIDR ( and IPAddress allocation)
2023-11-01 03:52:24 +01:00
Dan Winship
a70653143e Add a dummy nftables kube-proxy backend which is just a copy of iptables 2023-10-31 17:31:42 -04:00
Antonio Ojea
ce5a22d54c hack/update-codegen
Change-Id: I929e8fe0313ec2e0aef2b26a5138cd88bdfe8914
2023-10-31 21:07:44 +00:00
Antonio Ojea
fee07ad608 make update with the new API with arrays 2023-10-31 21:05:58 +00:00
Antonio Ojea
c3d9b77d94 update ServiceCIDR API: replace IPv4,IPv6 fields by an array of strings
https: //docs.google.com/document/d/1-CKDPRHsG6XfnGs-Bb7ptWgDtTq9-hj8aJQpGz1CSh8/edit

Change-Id: If7134a5553b4ecc12b1d58ffc52ebb9f8594778a
2023-10-31 21:05:06 +00:00
Antonio Ojea
632081a907 add ServiceCIDR APIs
Change-Id: Ia084c5505e43033ac34449031a1d32418ca326fd

Change-Id: Iafc236d456f7185a5c89a65d7b96245e04060013
2023-10-31 21:05:04 +00:00
Antonio Ojea
c2d473f0d4 remove ClusterCIDR
KEP-2593 proposed to expand the existing node-ipam controller
to be configurable via a ClusterCIDR objects, however, there
were reasonable doubts on the SIG about the feature and after
several months of dicussions we decided to not move forward
with the KEP intree, hence, we are going to remove the existing
code, that is still in alpha.

https://groups.google.com/g/kubernetes-sig-network/c/nts1xEZ--gQ/m/2aTOUNFFAAAJ

Change-Id: Ieaf2007b0b23c296cde333247bfb672441fe6dfc
2023-10-14 19:06:22 +00:00
Kubernetes Prow Robot
10c622e99a
Merge pull request #119994 from SataQiu/remove-scheduler-v1beta3
scheduler: remove deprecated v1beta3 KubeSchedulerConfiguration component config
2023-08-24 15:31:17 -07:00
SataQiu
427b703c37 scheduler: remove deprecated v1beta2 KubeSchedulerConfiguration 2023-08-17 13:27:21 +08:00
Monis Khan
10fe3da87d
Delete PSP API types and generated clients
Signed-off-by: Monis Khan <mok@microsoft.com>
2023-08-07 16:44:13 -04:00
Jiahui Feng
049614f884
ValidatingAdmissionPolicy controller for Type Checking (#117377)
* [API REVIEW] ValidatingAdmissionPolicyStatucController config.

worker count.

* ValidatingAdmissionPolicyStatus controller.

* remove CEL typechecking from API server.

* fix initializer tests.

* remove type checking integration tests

from API server integration tests.

* validatingadmissionpolicy-status options.

* grant access to VAP controller.

* add defaulting unit test.

* generated: ./hack/update-codegen.sh

* add OWNERS for VAP status controller.

* type checking test case.
2023-07-13 13:41:50 -07:00
tinatingyu
133eff3df4 implement LegacyServiceAccountTokenCleanUp alpha 2023-05-24 23:20:17 +00:00
SataQiu
1f7c07f355 scheduler: remove deprecated v1beta2 KubeSchedulerConfiguration 2023-05-03 21:43:19 +08:00
Kubernetes Prow Robot
c072cae4d0
Merge pull request #108838 from nckturner/webhook-framework
Webhook framework for cloud controller manager
2023-03-14 20:28:14 -07:00
Nick Turner
86f4136003 Webhook framework for cloud controller manager
Provides framework for CCMs to host webhooks.
2023-03-14 23:28:05 +00:00
kerthcet
e5c812bbe7 Remove CLI flag enable-taint-manager
Signed-off-by: kerthcet <kerthcet@gmail.com>
2023-03-07 18:11:49 +00:00
Jordan Liggitt
018475269b
Update generated files 2023-02-27 14:16:02 -05:00
Paweł Banaszewski
fea0667c5e Added workerCount flag to cloud controller manager 2023-02-01 15:35:13 +00:00
Paco Xu
25686a2c77 remove psp in extensions api/apis 2023-01-06 17:07:02 +08: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
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
Tim Hockin
0153bfad16
Copy LoadBalancerStatus from core to networking
This type should never have been shared between Service and Ingress.
The `ports` field is unfortunate, but it is needed to stay compatible.
2022-11-02 16:13:31 -07:00
Kubernetes Prow Robot
85643c0f93
Merge pull request #108501 from zroubalik/hpa
add `--concurrent-horizontal-pod-autoscaler-syncs` flag to kube-controller-manager
2022-10-17 14:13:18 -07:00
Zbynek Roubalik
1cefcdea2d add --concurrent-horizontal-pod-autoscaler-syncs flag to kube-controller-manager
Signed-off-by: Zbynek Roubalik <zroubalik@gmail.com>
2022-10-17 17:39:31 +02:00
Kubernetes Prow Robot
6f579d3ceb
Merge pull request #111616 from ndixita/credential-api-ga
Move the Kubelet Credential Provider feature to GA and Update the Credential Provider API to GA
2022-10-15 07:53:09 -07:00