2694 Commits
Author SHA1 Message Date
Antoni Zawodny b5bc747913 Promote CompositePodGroup API to beta 2026-10-28 08:11:40 +01:00
kubernetes-prow[bot] 4a5f6add1b Merge pull request #143287 from kvalliyurnatt/dra-consumable-capacity-validation
DRA consumable capacity validation
2026-10-28 02:39:21 +00:00
Yongrui Lin e6eac1061e Update generated files 2026-10-27 23:16:06 +00:00
kubernetes-prow[bot] 5bb921dbf2 Merge pull request #142706 from darshansreenivas/health-attribute-message
StorageHealthCondition: Status and Message
2026-10-27 19:41:36 +00:00
kubernetes-prow[bot] 75b7d33b08 Merge pull request #140307 from pacoxu/pg-delete-event
[Doc] PodGroup name reuse caveat
2026-10-27 15:45:21 +00:00
kubernetes-prow[bot] 78fe20a84c Merge pull request #137396 from atiratree/imperative-eviction-interceptor
Add imperative eviction responder for EvictionRequest API
2026-10-27 14:35:16 +00:00
Darshan Murthy 462a32e51c storage: migrate CSINode StorageHealthCondition validation to declarative tags 2026-10-27 03:40:36 -07:00
Karthikeyan ValliyurnattandKrishna Parihar 004a48462d DRA: Add non-negative, size and name validations to consumable capacity
Validate capacity request and allocation-result maps, rejecting negative
quantities, invalid capacity names, and more than 32 entries. Use
declarative validation for map sizes and quantities while preserving
updates to unchanged fields accepted under earlier validation.

Reject raw negative requests before request-policy rounding in both
allocator variants. Reject negative consumed quantities and computed
node-allocatable resource footprints.

Return errors when persisted or in-flight allocations contain negative
consumed capacity, preventing positive allocations from masking invalid
values in the aggregate. Clear recorded errors when invalid claims are
removed.

Co-authored-by: Krishna Parihar <krishnasparihar88@gmail.com>
2026-10-26 10:19:55 -04:00
kubernetes-prow[bot] d5579952b3 Merge pull request #141014 from pravk03/fix-sandbox
Treat partially declared cpu and memory limits as unlimited in AggregateContainerLimits()
2026-10-23 07:19:34 +00:00
kubernetes-prow[bot] 369bb56355 Merge pull request #142702 from Jefftree/sharding-beta
Graduate ShardedListAndWatch to Beta
2026-10-22 21:57:44 +00:00
Filip Křepinský e00acabe5b add imperative-eviction-responder-controller controller 2026-10-22 14:56:43 +02:00
Paco Xu 0422728a24 Clarify that Pod schedulingGroup references PodGroups by namespace/name, not UID
- and recommend using a new PodGroup name for each runtime instance.
2026-10-22 15:42:55 +08:00
Praveen Krishna 73ce8dc731 Run "make update" 2026-10-21 18:50:01 -07:00
Filip KřepinskýandJohan K. Jensen feef70d7df add evictionrequest-controller controller
Co-authored-by: Johan K. Jensen <jj@johanjensen.dk>
2026-10-21 10:25:25 +02:00
yuzhiquan b0a4db912e scheduler: treat empty topology label value as invalid TAS domain
getScheduledPodsTopologyDomain used an empty topologyDomain string as the
"no domain seen yet" marker. Because "" is also a legal label value, a first
pod on a node labeled with an empty topology value let a pod in a genuinely
different domain slip past the "more than 1 domain" check, and the group's
required domain silently resolved to "".

Rather than teach the check about "" as a real domain, treat an empty label
value as a node labeling mistake that does not form a domain:

- GeneratePlacements ignores nodes whose topology label is empty, so new pod
  groups are never placed onto them.
- getScheduledPodsTopologyDomain returns an explicit error when an already
  scheduled pod sits on such a node.
- TopologyConstraint.Key documents that nodes with a missing or empty label
  value do not belong to any domain (v1alpha3 and v1beta1).

PodTopologySpread and InterPodAffinity still accept empty values; that is
existing behavior and is left alone.

Signed-off-by: yuzhiquan <yuzhiquanlong@gmail.com>
2026-10-19 23:14:24 +08:00
Jefftree c3bfcd1258 generated 2026-10-16 02:50:08 +00:00
kubernetes-prow[bot] 1c95ee96c5 Merge pull request #142541 from Czoyx/fix-sts-maxunavailable-rounding-doc
apps: fix StatefulSet maxUnavailable percentage rounding doc
2026-10-15 16:54:12 +00:00
Caoyx cb63f37556 apps: fix StatefulSet maxUnavailable percentage rounding doc
API comments claimed percentage maxUnavailable is rounded up. The
controller rounds down to a minimum of 1 (getStatefulSetMaxUnavailable),
matching KEP-961 and the unit tests. Align the docs with the behavior;
do not change rollout behavior of a beta field.

The OpenAPI snapshots checked in under client-go/openapi/openapitest,
kubectl/testdata and cli-runtime/artifacts still described the field as
alpha-level and gated on MaxUnavailableStatefulSet. Sync that
description with the regenerated spec text too.
2026-10-15 16:47:52 +08:00
kubernetes-prow[bot] 6c5b45d074 Merge pull request #142666 from dims/lint-deprecated-comment
golangci-lint: enable deprecatedComment and fix all deprecation notices
2026-10-14 21:28:25 +00:00
Davanum Srinivas c220e6be64 api: keep deprecation notices on deprecated field types
GitRepoVolumeSource, PodResizeStatus and the internal NodeConfigSource
types are deprecated types, not deprecated API versions, so their
notices stay; GitRepo's gets the Deprecated: casing.
2026-10-14 14:30:04 -04:00
Davanum Srinivas 4015873bd5 api: regenerate openapi, proto, swagger docs and applyconfigurations
Generated from the deprecation notice fixes in the previous commit.

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2026-10-14 08:02:41 -04:00
Yongrui Lin e0e7bc165f Remove API rule exceptions for Quantity's unexported fields
names_match no longer reports them after the kube-openapi bump.
2026-10-14 04:55:19 +00:00
kubernetes-prow[bot] a5081d9651 Merge pull request #137633 from luxas/impl-conditional-authz-3
Conditional Authz [3/n]: Make the webhook authorizer support conditions
2026-10-10 03:01:18 +00:00
Lucas Käldström 7d4817b949 hack/update-codegen.sh; UPDATE_COMPATIBILITY_FIXTURE_DATA=true go test -count=1 k8s.io/api; go test -count=1 k8s.io/api; hack/update-openapi-spec.sh; hack/update-vendor.sh
Signed-off-by: Lucas Käldström <luxask@amazon.fi>
2026-10-09 19:41:19 +03:00
Lucas Käldström 7e2cd57a59 hack/update-codegen.sh; UPDATE_COMPATIBILITY_FIXTURE_DATA=true go test -count=1 k8s.io/api; go test -count=1 k8s.io/api; hack/update-openapi-spec.sh; hack/update-vendor.sh 2026-10-09 19:37:57 +03:00
kubernetes-prow[bot] a82cbf7896 Merge pull request #137038 from tico88612/cleanup/kube-api-linter-autoscaling
Enable the `optionalorrequired` linter for the `autoscaling` API group
2026-10-08 18:30:04 +00:00
Patrick Ohly 1cdee6c4f1 DRA node allocatable resources: clarify CapacityKey docs
The examples shouldn't be understood as specifying a literal usage of the key -
that would contradict the intended semantic of QualifiedName.
2026-10-07 08:30:58 +02:00
Patrick Ohly cdecc0216d DRA consumable capacity: deterministic name conflict resolution
Nothing prevents DRA drivers and users from publishing resp. requesting the
same capacity with and without driver name prefix.

Validation could prevent this for ResourceSlices (driver name is known) but
doesn't. It's probably also not worth doing because DRA drivers are trusted and
can trivially avoid this; validation would just add overhead. Lookup for
constraints resolves this conflict via "fully-qualified wins". Consumable
capacity resolution was random (last one in map iteration wins), now also
prefers fully-qualified. This is arbitrary, but shouldn't happen in practice.

Validation cannot prevent this for a ResourceClaim capacity request because the
driver name depends on the device under evaluation. This is something that
users could get wrong and the simplistic "prefer fully-qualified" would lead to
surprising results, so instead this is considered an error and causes pod
scheduling to fail if (and only if) it is detected for a device.
2026-10-07 08:29:35 +02:00
Patrick Ohly cf475a554d DRA consumable capacity: fix capacity name comparisons
When the ResourceClaim requested "driver.example.com/bandwidth" and that DRA
driver published the capacity as "bandwidth", the request failed. Same for the
inverse case.

A less likely problem existed when a DRA driver flipped between publishing with
and without its own driver name as prefix: the allocation result stored
literally what came from the driver at the time of allocation, which then
wouldn't be considered after flipping to the other format.

The fix is to normalize names (drop redundant prefix) before comparing. The
allocation result is written with the same name as in the ResourceSlice,
mimicking the behavior in Kubernetes 1.37. The DRA CPU driver 0.2.0 depends on
that (will be fixed) and Kubernetes 1.37 also did a literal string comparison,
so copying names from the ResourceSlice is required for downgrades.

While at it, the code gets cleaned up a bit:
- Some methods were exported unnecessarily.
- Their parameters can be simplified by passing through a deviceWithID.
  For an exported method that would not be the right API, but internally
  it's fine and simpler.
2026-10-07 08:28:43 +02:00
Jefftree 7d5baa5616 Clean up expired APIs for 1.38 2026-10-01 18:30:36 +00:00
ChengHao Yang 58362d28a7 Chore: generate codes with hack/update-openapi-spec.sh
Signed-off-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com>
2026-09-30 01:22:37 +08:00
Jarosław Dzikowski d71426298c Add CompositePodGroup Reason Constants 2026-09-25 12:37:34 +00:00
Jarosław Dzikowski 947ad86499 Allow CompositePodGroup.MinGroupCount to be mutable 2026-09-25 10:09:43 +00:00
kubernetes-prow[bot] c945644914 Merge pull request #142196 from everettraven/upstream/mldsa/certificatesigningrequest
Update CertificateSigningRequests to support ML-DSA
2026-09-24 23:24:26 +00:00
kubernetes-prow[bot] 3066b65c04 Merge pull request #141861 from abhinav-phi/fix-devicepath-windows-docs
Document platform-specific semantics of volumesAttached[].devicePath
2026-09-24 17:02:18 +00:00
Bryce Palmer a114ef37c6 api/certificates: update CertificateSigningRequest usages field documentation with ML-DSA constraints
Signed-off-by: Bryce Palmer <bpalmer@redhat.com>
2026-09-23 10:54:16 -04:00
liyuerich cb8ad94313 enable commentstart check on storagemigration API group
Signed-off-by: liyuerich <yue.li@daocloud.io>
2026-09-21 09:22:19 +08:00
abhinav-phi 22c125b910 api: document platform-specific semantics of volumesAttached[].devicePath
Node.status.volumesAttached[].devicePath is documented as a device path,
but its value is platform and plugin specific: on Linux nodes it is the
host block-device node (e.g. /dev/xvdX), while on Windows nodes it carries
the CSI VolumeID, since Windows has no /dev device tree.

Update the API field documentation and the generated artifacts to state
the platform variance, and annotate the kubelet detach path so the
unix-only device-in-use check (hostutil.PathIsDevice/DeviceOpened) is no
longer silently dead code on Windows.

Refers to the reported issue in the PR description.

Signed-off-by: abhinav-phi <alpha9coder@gmail.com>
2026-09-19 06:05:18 +05:30
liyuerich 1712e02df5 enable commentstart check on core API group
Signed-off-by: liyuerich <yue.li@daocloud.io>
2026-09-18 11:43:33 +08:00
kubernetes-prow[bot] 746eaf9cc8 Merge pull request #142108 from everettraven/upstream/mldsa/podcertificates
update podcertificaterequest and podcertificateprojection to allow setting ML-DSA algorithms
2026-09-17 21:21:30 +00:00
Bryce Palmer 2a9e93ba6b make update
Signed-off-by: Bryce Palmer <bpalmer@redhat.com>
2026-09-17 12:12:23 -04:00
Troy Chiu 9562e9cdac api: regenerate openapi, proto, swagger, and applyconfigurations 2026-09-15 21:34:58 +00:00
kubernetes-prow[bot] aaf5c9c4f2 Merge pull request #142020 from liyuerich/commentstartreaource
enable commentstart check on resource  API group
2026-09-15 15:59:28 +00:00
kubernetes-prow[bot] 995680c51b Merge pull request #141944 from antcybersec/kal-optionalorrequired-networking
networking: enable optionalorrequired kube-api-linter rule
2026-09-12 03:31:14 +00:00
kubernetes-prow[bot] ad95d828ac Merge pull request #141997 from KR-Ravindra/docs/resourcefieldselector-divisor
Fix ResourceFieldSelector.Divisor doc: unset or 0 means unscaled
2026-09-11 17:45:08 +00:00
Anant Kumar edc9c16003 networking: enable optionalorrequired kube-api-linter rule
Enables optionalorrequired and nonpointerstructs kube-api-linter rules for the networking API group (part of #134671).

- Tags HTTPIngressRuleValue.Paths, HTTPIngressPath.PathType (v1 only), IngressServiceBackend.Name, and IngressClassSpec.Controller as +required based on validation rules.
- Marks IngressPortStatus.Port and Protocol as +optional matching validation logic.
- Suppresses HTTPIngressPath.Backend and IngressServiceBackend.Port in exceptions.yaml as they represent oneOf struct fields with cross-field validation rules.
- Regenerates OpenAPI specs, swagger, and protobuf definitions.
2026-09-11 20:22:04 +05:30
liyuerich 6f0042e303 enable commentstart check on resource API group
Signed-off-by: liyuerich <yue.li@daocloud.io>
2026-09-11 16:52:11 +08:00
kubernetes-prow[bot] 40f11e7981 Merge pull request #141591 from gaurab-khanal/limit
api: clarify LimitRange default limit comment in types.go
2026-09-10 19:44:36 +00:00
Gaurab Khanal bebc6ca975 api: apply reviewer suggestion for LimitRange limit comment
Signed-off-by: Gaurab Khanal <khanalgaurab98@gmail.com>
2026-09-10 22:44:01 +05:45
ludo@vanorden.eu 624f48b411 updated generated code and api docs 2026-09-10 12:00:33 +02:00