Weekly Project News

Archives
Subscribe

Weekly GitHub Report for Kubernetes: October 19, 2026 - October 26, 2026 (23:40:57)

Weekly GitHub Report for Kubernetes

Thank you for subscribing to our weekly newsletter! Each week, we deliver a comprehensive summary of your GitHub project's latest activity right to your inbox, including an overview of your project's issues, pull requests, contributors, and commit activity.


Table of Contents

  • I. News
    • 1.1. Recent Version Releases
    • 1.2. Other Noteworthy Updates
  • II. Issues
    • 2.1. Top 5 Active Issues
    • 2.2. Top 5 Stale Issues
    • 2.3. Open Issues
    • 2.4. Closed Issues
    • 2.5. Issue Discussion Insights
  • III. Pull Requests
    • 3.1. Open Pull Requests
    • 3.2. Closed Pull Requests
    • 3.3. Pull Request Discussion Insights
  • IV. Contributors
    • 4.1. Contributors

I. News

1.1 Recent Version Releases:

The current version of this repository is v1.32.3

1.2 Version Information:

The Kubernetes 1.32 release, announced on March 11, 2025, introduces key updates detailed in the official CHANGELOG, including new features and improvements accessible via additional binary downloads. For comprehensive information, users are encouraged to review the full changelog and related announcements.

II. Issues

2.1 Top 5 Active Issues:

We consider active issues to be issues that that have been commented on most frequently within the last week. Bot comments are omitted.

  1. [KIND/BUG] [AREA/KUBELET] [SIG/NODE] [NEEDS-TRIAGE] Kubelet starves volume unmount during single-CP stacked-etcd upgrade, blocking new etcd pod and causing kubeadm timeout: This issue describes a problem during kubeadm upgrades on single-control-plane clusters with stacked etcd, where the kubelet starves the volume unmount process for the old etcd pod, blocking the startup of the new etcd pod and causing kubeadm upgrade timeouts. The root cause is that the kubelet’s volume cleanup operations are delayed due to API server timeouts and blocking loops, which prevents the unmount from completing and thus stalls the upgrade process.

    • The comments include a detailed investigation and reproduction of the issue, a proposed patch to clear the static pod start gate earlier to allow the new pod to start while unmounting proceeds asynchronously, and a discussion of alternative fixes involving the volume manager’s populator loop to avoid blocking on API server calls. Multiple contributors tested patches, shared logs, and agreed on potential solutions, with PRs opened for both the pod_workers gate fix and the populator loop improvement, while maintainers requested further triage and review before merging.
    • Number of comments this week: 11
  2. [KIND/BUG] [SIG/NODE] [NEEDS-TRIAGE] Resource-manager node e2e jobs skip their multi-NUMA specs: n2d-standard-32 comes up with one NUMA node: This issue addresses a problem where the resource-manager node end-to-end jobs run on the n2d-standard-32 machine type, which currently comes up with only one NUMA node instead of the expected two, causing multi-NUMA node tests to be skipped and potentially masking issues. The discussion focuses on identifying a suitable machine shape that exposes two or more NUMA nodes, with suggestions to switch to n2-standard-64 or n2-standard-96 instances, supported by evidence from CI logs and GCE documentation about vNUMA node configurations based on vCPU counts.

    • The comments include a request to assign the issue, a proposal to change the machine type to one that supports multiple NUMA nodes, clarification about the lack of direct GCE documentation and the need for numactl --hardware output, explanations about the hardware architecture and NUMA node behavior on different instance types, confirmation from CI logs that n2-standard-96 instances have two NUMA nodes, and a discussion of the trade-offs between n2-standard-64 and n2-standard-96 with a readiness to implement the change once SIG Node decides.
    • Number of comments this week: 7
  3. [SIG/NODE] [NEEDS-TRIAGE] Request to backport PR #142819 to v1.35 and v1.36: This issue is a request to backport a specific pull request that fixes a known problem to the Kubernetes v1.35 and v1.36 releases, with the fix already planned for v1.37. The discussion revolves around whether the backport should also include v1.37, the applicability of the backport policy, and the recommended next steps to open cherry-pick PRs and obtain SIG approval.

    • The comments clarify that the fix is intended for v1.37 and should also be backported to all supported releases including v1.35 and v1.36; there is some debate about policy applicability, but consensus leans toward backporting due to the fix's critical nature and low risk, with the next step being to open the necessary cherry-pick PRs and secure SIG approval.
    • Number of comments this week: 6
  4. [KIND/BUG] [NEEDS-SIG] [NEEDS-TRIAGE] Performance bottleneck caused by the KMSv2 KDF cache lock: This issue addresses a performance bottleneck in the Kubernetes apiserver caused by a single lock protecting the KMSv2 key derivation function (KDF) cache, which leads to high decrypt latency under load due to contention when multiple decrypt operations attempt to update the cache simultaneously. The proposed solution involves optimizing the cache by skipping redundant writes and sharding the cache to reduce lock contention, significantly improving decrypt performance during high concurrency scenarios such as multiple event watches.

    • The comments show initial assignment and acknowledgment of the issue, with one contributor noting they already have a fix ready locally and another confirming a pull request has been created to address the problem.
    • Number of comments this week: 6
  5. [KIND/FLAKE] [NEEDS-TRIAGE] [SIG/K8S-INFRA] [Flaking Test] [sig k8s-infra] gce-cos-default-master kubetest.Up: This issue reports intermittent failures in the kubetest.Up test during cluster provisioning on the ci-kubernetes-e2e-gce-cos-default-master job, caused by GCE resource stockouts and transient HTTP 502 errors from the GCE Compute API. The problem involves the lack of retry mechanisms for certain GCE operations, leading to test flakes when resource creation fails or network creation encounters transient errors.

    • The comments identify two main failure causes: GCE resource pool exhaustion and HTTP 502 errors during network creation, discuss a proposed fix involving bounded retry loops with exponential backoff and idempotency checks, and include requests for review and assignment to address these flakes.
    • Number of comments this week: 6

2.2 Top 5 Stale Issues:

We consider stale issues to be issues that has had no activity within the last 30 days. The team should work together to get these issues resolved and closed as soon as possible.

As of our latest update, there are no stale issues for the project this week.

2.3 Open Issues

This section lists, groups, and then summarizes issues that were created within the last week in the repository.

Issues Opened This Week: 34

Summarized Issues:

  • JSONPath and Template Filtering Issues: Multiple issues describe problems with JSONPath evaluation and template filtering where empty arrays or null list values cause errors or silent drops of results, leading to incomplete or failed output during queries and template rendering. These issues highlight the need for more graceful handling of empty or null collections to avoid breaking templates or losing data silently.
  • issues/143196, issues/143233
  • Flaky and Intermittent Test Failures: Several issues report flaky or intermittent failures in various Kubernetes test jobs caused by resource stockouts, timing issues, race conditions, or environment readiness problems. These failures affect cluster provisioning, scheduler tests, volume CSI drivers, and unit tests, often requiring retries, fixes in resource handling, or better synchronization to improve test stability.
  • issues/143205, issues/143210, issues/143225, issues/143250, issues/143293, issues/143369, issues/143371, issues/143412
  • Scheduler and PodGroup Bugs: Multiple issues describe bugs in the Kubernetes scheduler and PodGroup handling, including incorrect resource accounting, improper preemption behavior, gating plugin requeue logic errors, and feature gate inconsistencies causing scheduling failures or incorrect pod admission. These bugs impact pod scheduling accuracy and resource utilization, requiring fixes in admission controllers and scheduler plugins.
  • issues/143252, issues/143257, issues/143268, issues/143375
  • API Server and Kube-Proxy Performance and Behavior Issues: Issues cover performance bottlenecks in the apiserver due to locking in KMSv2 key derivation, kube-proxy missing topology events due to race conditions, and inefficient IPVS sync logic causing excessive kernel queries. These problems degrade cluster performance and correctness, necessitating optimizations and race condition fixes.
  • issues/143244, issues/143275, issues/143299
  • Resource and Device Allocation Problems: Issues describe failures in resource scoring and device allocation strategies, including ignoring pod-level resource features and lacking device ranking mechanisms in DRA. These shortcomings lead to inconsistent scheduling decisions and suboptimal resource utilization in Kubernetes clusters.
  • issues/143350, issues/143361
  • Cluster Scale and AWS Integration Failures: One issue reports persistent failures in large-scale AWS cluster testing due to ELB instance registration limits, stale topology hints, and intermittent API connection resets, which cause endpoint distribution and connectivity problems at scale.
  • issues/143229
  • Applyconfiguration-gen Tool Bugs: Several issues describe bugs in the applyconfiguration-gen code generator, including incorrect handling of embedded unexported structs, ignoring custom JSON marshal/unmarshal methods, and setter methods setting shadowed fields incorrectly. These bugs cause compilation errors and incorrect JSON serialization, leading to API request failures.
  • issues/143414, issues/143415, issues/143416
  • Pod Termination and Logging Behavior: One issue proposes making kubelet's termination logging best-effort after a bounded wait to avoid indefinite blocking during pod termination, balancing reliability and responsiveness in logging behavior.
  • issues/143330
  • Node Labeling and NUMA Node Detection Issues: Issues describe race conditions causing pods to miss topology labels and test jobs incorrectly detecting NUMA nodes, which affect zone-aware scheduling and multi-NUMA validation, reducing cluster scheduling accuracy and test coverage.
  • issues/143308, issues/143380
  • Audit Backend Annotation Bug: One issue reports a bug where the truncate audit backend incorrectly shares truncation annotations with original events and other backends, causing complete events to be mistakenly marked as truncated.
  • issues/143265
  • Kubectl Argument Parsing Bug: One issue describes a bug where kubectl misinterprets arguments containing "-v=" as verbosity flags, causing unintended verbose logging output.
  • issues/143383
  • Kube-apiserver Capability and Security Issue: One issue describes a problem where the kube-apiserver container image cannot run with all Linux capabilities dropped due to a file capability on the binary, conflicting with stricter security policies and complicating non-root execution on privileged ports.
  • issues/143392
  • Backport Request: One issue requests backporting a specific fix to earlier Kubernetes releases v1.35 and v1.36 following its planned inclusion in v1.37.
  • issues/143198
  • Scheduler Performance Test Refactoring Proposal: One issue proposes inlining functions in scheduler performance tests to improve configuration clarity and parameter usage for CompositePodGroup hierarchies.
  • issues/143281

2.4 Closed Issues

This section lists, groups, and then summarizes issues that were closed within the last week in the repository. This section also links the associated pull requests if applicable.

Issues Closed This Week: 34

Summarized Issues:

  • Certificate Management: This issue discusses the challenges of managing cluster-wide CA certificates in Kubernetes, specifically the need to avoid rebuilding container images when updating trusted certificates. It proposes a cluster-scoped mechanism for automatically injecting and managing CA bundles across namespaces and pods to streamline certificate updates.
  • issues/63726
  • OpenAPI and API Schema Handling: Multiple issues address challenges with OpenAPI versions and schema handling in Kubernetes. One issue highlights the need to fetch schema information from OpenAPI V3 instead of V2 due to casting problems, while another reports flaky test failures related to OpenAPI v2 specs being built unexpectedly. Additionally, a bug in kubectl causes incorrect fallback to OpenAPI v2 schema due to OpenAPI v3 query parameter verification failures.
  • [issues/126849, issues/143238, issues/143292]
  • Feature Gate and Metric Initialization: Issues cover problems with enabling feature gates and applying feature-gated metric options. One describes a chicken-and-egg problem enabling a pre-alpha feature gate during apiserver initialization in tests, while another highlights issues caused by early metric registration before feature gates are parsed, proposing deferred initialization for correctness.
  • [issues/127156, issues/138320]
  • Cloud Provider and Documentation: There is a need for improved documentation regarding the HasClusterID functionality in the cloud-provider codebase. The issue clarifies its purpose and usage, noting confusion since ClusterID is required by some providers like AWS but not actively used in Kubernetes core.
  • [issues/128320]
  • Resource Management Bugs: Several issues describe bugs in resource management components. One bug involves case-sensitive checks in Vertical Pod Autoscaling leading to faulty resource manager behavior. Others report kubelet bugs where pod sandbox resource limits are miscalculated, hugepage requests from init containers are omitted, and device taint eviction incorrectly evicts pods due to empty effect handling.
  • [issues/129531, issues/140810, issues/140814, issues/143373]
  • Testing and Conformance: Requests and reports related to testing include adding an end-to-end test for Services targeting Pods by named ports to ensure correct routing, and an integration test for gang scheduling binding operations to cover changes in scheduling processes.
  • [issues/132954, issues/139406]
  • Dependency Management: A discussion on whether to include the CEL library in the Kubernetes apimachinery module concludes with a decision to keep the current separation to avoid importing CEL into apimachinery and client-go, maintaining lean client dependencies.
  • [issues/137649]
  • Apiserver Watch Cache and Selector Logic: An issue proposes improving the Matches logic in the apiserver watch cache by simplifying selectionPredicate usage, which currently bypasses its Match function. Another issue addresses a bug where the metav1.ParseToLabelSelector function incorrectly rejects the != operator, causing failures in label selector parsing.
  • [issues/137821, issues/142211]
  • Delete Request Resource Versioning: There is a request to enhance delete requests to return the correct resource version associated with the actual delete event, ensuring consistency and parity with create and update operations during concurrent deletions.
  • [issues/138400]
  • Scheduling and Placement Plugins: Enhancements are needed in the TAS placement generation framework to support running multiple independent placement generation plugins concurrently for the same PodGroup. This enables satisfying multiple constraints simultaneously and supports advanced scheduling policies.
  • [issues/139346]
  • Pod Initialization and Kubelet Bugs: A bug causes only the first init container of a pod to run after a node restart, as the kubelet mistakenly assumes the pod is initialized when detecting the main container state. Another kubelet bug prevents startup due to failure parsing /proc/self/mountinfo entries with empty mount sources unrelated to the kubelet root directory.
  • [issues/140309, issues/143306]
  • Dynamic Resource Allocation Client Bug: A latent defect in the Dynamic Resource Allocation client library causes the run method to never return after Stop() is called due to a break statement inside a select within a for loop, leading to goroutine leaks and resource consumption.
  • [issues/141243]
  • Memory Pressure and Test Stability: The ci-kind-dra-1-34 test suite experienced timeouts caused by memory pressure and OOM kills at a 6Gi limit. Investigation revealed high memory usage by the ResourceSlice Controller and scheduler logging, resolved by increasing the job memory limit to 12Gi, stabilizing the tests.
  • [issues/141435]
  • Pod Eviction Status Ambiguity: A problem exists where pods evicted for exceeding ephemeral-storage limits with clean SIGTERM handling show a Succeeded status without eviction reason, making it impossible for controllers to reliably detect such evictions without ephemeral kubelet events.
  • [issues/141483]
  • Upstream Go net/http Test Failures: Kubernetes unit test failures were caused by upstream bugs in the Go net/http package from a recent Go tip commit. These are not Kubernetes bugs and are tracked until resolved or the toolchain is updated.
  • [issues/142079]
  • Kube-proxy NodePort Proxy Bug: Restarting kube-proxy with updated nodePortAddresses including localhost fails to enable the userspace localhost nodeport proxy as expected, causing proxy malfunction.
  • [issues/142183]
  • Job Naming and PodGroupTemplate Limits: Jobs with names longer than 57 characters fail to start pods because the derived PodGroupTemplate name exceeds the 63-byte DNS label limit, causing workload creation rejection and indefinite requeueing.
  • [issues/142844]
  • Scheduler Event Handling Bug: The kube-scheduler fails to distinguish genuine PodGroup updates from coalesced delete-plus-create events caused by informer watch gaps, leading to incorrect assumptions about immutable field changes and improper cache and scheduling queue updates.
  • [issues/142930]
  • Resource Availability and Flaky Tests: Flaky test failures in sig-node resource manager jobs are caused by unavailability of n2d-standard-32 VM instances in the us-central1-b zone, resulting in zone resource pool exhaustion errors during VM creation.
  • [issues/142985]
  • Runtime Compatibility and GLIBC Version Issues: Failures on arm64 EC2 nodes running Amazon Linux 2023 and containerd main COS jobs are caused by runc binaries requiring GLIBC_2.38, which is unavailable on AL2023 and older COS nodes, leading to pod sandbox creation failures and cluster initialization timeouts.
  • [issues/142987, issues/143374]
  • StorageVersionMigration Bug: A failed StorageVersionMigration incorrectly removes old versions from a CustomResourceDefinition's status.storedVersions, causing data loss and errors when accessing resources still stored in the old version.
  • [issues/143102]
  • Kubelet Log Rotation Bug: The kubelet deletes the original rotated container log even if compressing it to gzip fails, resulting in loss of log content and leaving behind corrupt compressed files.
  • [issues/143146]
  • Topology-aware Scheduling Plugin Bug: The Kubernetes topology-aware workload scheduling plugin misses conflicts between topology domains when one domain has an empty label value, allowing placements that violate PodGroup single-topology-domain constraints.
  • [issues/143151]
  • Pod Filtering Optimization: The FilterPodsByOwner function in the Kubernetes controller is optimized by preallocating the result slice to reduce memory allocations and improve performance when filtering pods for owners with large pod counts.
  • [issues/143297]

2.5 Issue Discussion Insights

This section will analyze the tone and sentiment of discussions within this project's open and closed issues that occurred within the past week. It aims to identify potentially heated exchanges and to maintain a constructive project environment.

Based on our analysis, there are no instances of toxic discussions in the project's open or closed issues from the past week.


III. Pull Requests

3.1 Open Pull Requests

This section provides a summary of pull requests that were opened in the repository over the past week. The top three pull requests with the highest number of commits are highlighted as 'key' pull requests. Other pull requests are grouped based on similar characteristics for easier analysis. Up to 25 pull requests are displayed in this section, while any remaining pull requests beyond this limit are omitted for brevity.

Pull Requests Opened This Week: 120

Key Open Pull Requests

1. KEP - 6313 : Network Isolated Pods - ALPHA: This pull request introduces the alpha implementation of KEP-6313, adding a new spec.defaultNetwork field to Kubernetes Pods that enables network isolation by allowing pods to run with either the default pod network, host network, or no network (only loopback), along with necessary API changes, validation, kubelet support, runtime integration, and comprehensive testing to support pods that are isolated from the cluster network.

  • URL: pull/143280
  • Associated Commits: 7a42e, e3535, bea15, a36c3, ea1ea, 052a0, 2471a, 8d70a, ee3dd, 5fc20, 1c354, d5c7f, d338c

2. DRA resource pool status: Alpha 1.38 semantics, observability and test coverage: This pull request implements the Alpha v1.38 version of KEP-5677 for the DRA resource pool status by fixing device availability accounting, handling allocations of unpublished devices, returning terminal status for incomplete pools after bounded retries, adding metrics, warning events, and retry observability, and expanding unit, integration, and end-to-end test coverage without changing the API shape.

  • URL: pull/143242
  • Associated Commits: 53e2f, 11469, 8cc56, ea09c, a614a, 79114, c850c, b0664

3. [WIP] Ippr admit transaction v2: This pull request introduces a transactional approach to pod resource resize admission in the Kubernetes CPU manager by preparing resizes on a scratch state and recording them as pending until the pod allocation is persisted, ensuring that resizes are only applied upon successful commit and properly handled across kubelet restarts.

  • URL: pull/143400
  • Associated Commits: 2bf84, 421a8, 76dc0, d6e3d, fa91f, 18fde, c385f

Other Open Pull Requests

  • User Namespace ID Range Bug Fixes: Multiple automated cherry picks address invalid user ID range selection for user namespaces in the kubelet. These fixes ensure proper handling of missing getsubids binaries, prevent assigning the unmappable ID 4294967295 to pods, and reject subordinate ID ranges that end at or beyond this invalid boundary to avoid kubelet startup failures and pod creation errors.
  • [pull/143213, pull/143214, pull/143215]
  • Two-Phase Commit for Pod Resize: This pull request implements a two-phase commit transaction model for in-place pod resizes, ensuring resource managers like the CPU Manager only apply resize changes after pod allocation is durably persisted. This prevents inconsistent CPU assignments, stale state, resource leaks from rejected resizes, and improves crash consistency by recording pending resizes in checkpoints committed or aborted atomically.
  • [pull/143202]
  • Workload and PodGroup API Integration: Integration of Workload and PodGroup APIs with Deployment and ReplicaSet controllers enables workload-aware scheduling features such as gang scheduling, topology constraints, disruption modes, and shared resource claims when the WorkloadWithDeployment feature gate is enabled. This enhances scheduling capabilities for Deployments.
  • [pull/143235]
  • Quantity Parsing Improvements: Two pull requests improve quantity parsing by capping parsed values to the largest float64 range and refactoring significant digit parsing to limit mantissas to 29 digits with rounding away from zero. These changes maintain compatibility, precision, and consistency in quantity handling.
  • [pull/143246, pull/143245]
  • Kubernetes Test Code Reorganization: Utility functions used exclusively by scheduler integration and performance tests are moved from a general package to more specific scheduler-related packages. Unused helper functions are removed to streamline code maintenance and reduce review workload.
  • [pull/143274]
  • Mutex Profiling Enablement: Mutex profiling is enabled alongside block profiling when the --contention-profiling flag is set in key Kubernetes components, ensuring mutex profiles are collected and served at /debug/pprof/mutex. Flag descriptions are updated and unit tests verify the fix.
  • [pull/143360]
  • CSI Node Updater Bug Fix: The kubelet's CSI node updater is fixed by modifying the onDriverDelete handler to correctly unwrap tombstone objects when a CSIDriver is deleted during informer watch disconnection. This prevents updater goroutine leaks and ensures proper cleanup.
  • [pull/143227]
  • Deferred Resize Test Flakiness Fix: Flakiness in end-to-end deferred resize tests is addressed by ensuring prior test namespaces are fully cleaned up, waiting for stable node resource availability, and implementing a fail-fast mechanism to detect resize actuation or infeasibility clearly.
  • [pull/143241]
  • Runtime Container Type Labeling: A runtime container type label is added to classify containers as regular, init, or ephemeral, and the kubelet is enhanced to report statuses of containers labeled for a pod but no longer present in its spec. This prepares for supporting Dynamic Containers.
  • [pull/143359]
  • Hugepage Resource Propagation: The kubelet is enhanced to propagate pod hugepage resource limits and runtime overhead through the Container Runtime Interface by including hugepage sizes and amounts in sandbox resource and overhead configurations. This enables runtimes, especially VM-based ones like Kata Containers, to access accurate hugepage requirements during sandbox creation.
  • [pull/143236]
  • Path Traversal Security Fix: A low-to-medium severity path traversal vulnerability related to regex handling is fixed by preventing unauthorized file access outside the intended scope. A test is included to detect potential bypasses.
  • [pull/143248]
  • Feature Gate Adjustments for Preemption: The PodGroupPreemptionPolicy feature gate is removed and the PreemptionPolicy field is gated under the GenericWorkload or CompositePodGroup feature flags. This reflects the decision to keep WorkloadAwarePreemption in beta for version 1.38.
  • [pull/143266]
  • Workloadbuilder Validation Enhancements: Validation logic in the workloadbuilder library is extended to enforce limits on workload item tree depth and size, ensure compatibility of scheduling policies and disruption modes, treat unset policies as Basic, and require uniform PriorityClassName across the workload hierarchy. These align validations with kube-apiserver and kube-scheduler restrictions for robust workload configuration checks.
  • [pull/143278]
  • Kubelet Pod Resize Handling for Terminating Pods: The kubelet is modified to stop allocating resources and processing resize requests for pods that are terminating or have terminated, preventing wasted resource allocation on inactive pods.
  • [pull/143294]
  • DRAConsumableCapacity GA Promotion: The DRAConsumableCapacity feature and its dependent DRAFractionalCapacityRange are promoted from gated features to general availability in Kubernetes.
  • [pull/143309]
  • Podautoscaler Serialization Optimization: The podautoscaler is improved by optimizing serialization to skip repeated pod labels when only one distinct set is present, reducing allocations and improving performance. Comprehensive tests and benchmarks validate these changes.
  • [pull/143323]
  • WebSocket Stream Translator Fix: The WebSocket stream translator in kube-apiserver and kubelet is modified to wait for the client to close the connection—up to 30 seconds—after sending the command's status and close frame. This prevents premature connection closure that caused slow clients to lose output data.
  • [pull/143324]
  • Conversion-gen Tool Fix: The conversion-gen tool is fixed to correctly use generated peer conversion functions for types referencing structs from other API groups within the same code generation run. This eliminates manual wrapper functions and enables memory-identical unsafe conversions for cross-package referenced types.
  • [pull/143367]
  • SeccompDefault Feature Label Removal: The SeccompDefault feature label is removed from the e2e node test because it is a kubelet config field, not a feature gate. The test is marked as NodeConformance to indicate no special environment is required, aligning it with other Serial node tests and enabling broader test lane execution.
  • [pull/143377]
  • Device Constraint Tests for KEP-5491: Integration and end-to-end tests are added for list-typed matchAttribute and distinctAttribute device constraints as specified in KEP-5491. These tests verify allocation behavior against a real apiserver and scheduler to ensure correct pod scheduling or pending status based on attribute set intersections and disjointness.
  • [pull/143387]
  • Service Status Condition Validation: Validation logic is added for Kubernetes service status conditions to ensure status updates conform to API conventions by preventing invalid state transitions and malformed condition types. Unit and integration tests verify correct handling of these conditions.
  • [pull/143403]
  • Flexvolume Test Update: Flexvolume tests are updated to use hostexec instead of running SSH commands on nodes, aiming to fix related failing tests in the Kubernetes project.
  • [pull/143195]

3.2 Closed Pull Requests

This section provides a summary of pull requests that were closed in the repository over the past week. The top three pull requests with the highest number of commits are highlighted as 'key' pull requests. Other pull requests are grouped based on similar characteristics for easier analysis. Up to 25 pull requests are displayed in this section, while any remaining pull requests beyond this limit are omitted for brevity.

Pull Requests Closed This Week: 176

Key Closed Pull Requests

1. EvictionRequest controller: This pull request introduces a new evictionrequest-controller in the kube-controller-manager to observe and manage the Eviction and EvictionRequest APIs from the lifecycle API group, automatically creating Evictions based on EvictionRequests and coordinating external responders via eviction status to ensure the eviction contract is upheld.

  • URL: pull/137133
  • Associated Commits: 1dd97, ebf7b, 9fc82, afb81, c348d, 788ea, 24c79, b0de4, e323d, 30dad, c4c41, a84fa, 484cd, 26ab3, 7d30e, 87169, c2824, accaf, d3af1, c709c, acb3f, 90108, e8e3e, bb1fd, 2262b, fce3f, 490a7, 45eb2, f665c, 4bc70, f3755, 850df, ee4ef, 08a79, e4e3c, feef7, 33932, 06e12

2. [DNM] demonstrate generating DV code to both pkg/api and staging k8s.io/api: This pull request demonstrates how to generate declarative validation code for Kubernetes API types into both the internal pkg/apis and the external staging k8s.io/api packages, specifically ensuring that validation code for scheduling/v1alpha3 structs like WorkloadPodGroupSchedulingPolicy and WorkloadPodGroupDisruptionMode is always generated using the k8s:validation-gen=* directive to support both in-tree and out-of-tree consumers.

  • URL: pull/140374
  • Associated Commits: c3a89, 6b0f3, 6a864, 536f7, f3292, dc453, 2ded6, b4019, 2fb73, 778d7, ad318, 0391c, 32338, f7dd9, aa496, 214fe, 90c1a

3. Treat partially declared cpu and memory limits as unlimited in PodLimits(): This pull request fixes a bug in Kubernetes where pod sandbox CPU and memory limits were incorrectly set to the partial sum of container limits when only some containers declared them, by treating partially declared limits as unlimited in PodLimits() to ensure the sandbox limits remain unset and consistent with pod cgroup behavior.

  • URL: pull/141014
  • Associated Commits: 70c2b, ea6e5, af3fc, e0fc1, 3a0a1, 9199f, 78b12, 5c85c, 4a7ad, 631f2, 9c9ff, c1113, c9dfe

Other Closed Pull Requests

  • Kubernetes Scheduler Enhancements for PodGroup and CompositePodGroup Metrics and Placement: Multiple pull requests improve the Kubernetes scheduler by adding support for concurrent PlacementGenerate plugins under Topology Aware Scheduling, parameterizing scheduling attempts and latency metrics with entity labels for podgroup types, and enhancing topology-aware placement metrics to support nested pod groups. These changes enable more granular metric tracking and accurate candidate placement evaluation for both standard and composite pod groups.
    • pull/139565, pull/141823, pull/141929
  • CompositePodGroup Hierarchy and Scheduling Improvements: Several pull requests focus on CompositePodGroup hierarchy management by adding cycle detection and maximum tree depth validation, recursive status propagation with hierarchical diagnostics, performance tests for multi-level CompositePodGroup scenarios, and refactoring to remove redundant hierarchy checks. These updates enhance reliability, observability, and performance testing of CompositePodGroup scheduling.
    • pull/140671, pull/141706, pull/141561, pull/142092
  • Topology Aware Workload Scheduling (TAS) Feature Gate and Bug Fixes: The TAS feature gate is promoted from alpha to beta to improve stability, while a bug fix ensures nodes with empty topology label values are treated as invalid TAS domains to prevent incorrect pod group domain assignments. These changes increase the robustness and readiness of TAS in Kubernetes.
    • pull/140295, pull/140308
  • AllocatorPool Buffer Capacity Management: Pull requests introduce and refine buffer capacity limits in runtime.AllocatorPool to reduce memory retention by bounding protobuf encode buffer sizes and modifying buffer growth formulas. Integration tests and benchmarks validate these changes, and a new method discards oversized buffers before pooling to prevent excessive memory use.
    • pull/141299, pull/141456
  • Kube-Scheduler Preemption Metrics Enhancement: The scheduler's preemption workload disruptions metric is enhanced by adding a victim label to distinguish between pod, podgroup, and compositepodgroup victims, enabling more granular disruption tracking and requiring updates to out-of-tree preemption plugins.
    • pull/142955
  • OpenAPI Endpoint and Specification Optimizations: Two pull requests optimize OpenAPI handling by introducing an alpha feature gate to serve marshaled JSON bytes with ETags for /openapi/v2 to reduce memory usage, and by enabling lazy construction of OpenAPI v3 specs on first request to reduce startup memory consumption while maintaining identical served content.
    • pull/140927, pull/141561
  • Client-go Managed Fields and OpenAPI v3 Updates: Client-go is enhanced with a new alpha feature gate to opt out of managed fields on the client side, adding a DropManagedFields option to rest.Config, and updated to build the UnstructuredExtractor using OpenAPI v3 specifications instead of deprecated v2, improving type handling and managed fields parsing.
    • pull/142695, pull/142048
  • Scheduler Bug Fixes and Improvements: Bug fixes address issues such as improper requeuing of pods with namespaceSelector affinity terms by unrolling selectors into explicit namespaces, fixing a latent divide-by-zero issue in Horizontal Pod Autoscaler metrics, and correcting the dynamic resource allocation watch client to properly stop event draining loops.
    • pull/141954, pull/143148, pull/143030
  • Admission Webhook Ordering Control: A pull request implements the staticOrder field in WebhookAdmissionConfiguration for the MutatingAdmissionWebhook plugin to control the merge order of manifest-based and API-registered webhooks, addressing ordering inconsistencies and requiring specific feature gates.
    • pull/143160
  • Static CPU Management Policy Fix: A pull request fixes the Static CPU management policy to correctly support InPlacePodVerticalScaling by enabling CPU resizing for Guaranteed QoS Pods without restarts, preserving originally promised CPUs, and includes refactors and feasibility checks, though it was closed with parts moved to a newer PR.
    • pull/129719
  • Scheduler Performance Test Coverage Improvements: Test cases are added to improve coverage for the createNamespacesOp operation in scheduler performance testing, enhancing the robustness of scheduler_perf tests.
    • pull/139889
  • Apiserver Watch Cache Optimization: The object matching logic in the apiserver watch cache is simplified and improved by consolidating feature gate checks and optimizing match evaluation order, removing redundant checks, and ensuring consistent handling of wrapped objects and test predicates without user-facing changes.
    • pull/142031
  • Declarative Validation Infrastructure for Pod Containers: Infrastructure is set up for declarative validation on pod containers by adding support for glob-matching allow-listed validation test paths, exemptions for ephemeral container validation in restricted subfields, and marking containers as required to facilitate validation of new container fields.
    • pull/143030

3.3 Pull Request Discussion Insights

This section will analyze the tone and sentiment of discussions within this project's open and closed pull requests that occurred within the past week. It aims to identify potentially heated exchanges and to maintain a constructive project environment.

Based on our analysis, there are no instances of toxic discussions in the project's open or closed pull requests from the past week.


IV. Contributors

4.1 Contributors

Active Contributors:

We consider an active contributor in this project to be any contributor who has made at least 1 commit, opened at least 1 issue, created at least 1 pull request, or made more than 2 comments in the last month.

If there are more than 10 active contributors, the list is truncated to the top 10 based on contribution metrics for better clarity.

Contributor Commits Pull Requests Issues Comments
serathius 134 36 0 35
jpbetz 38 4 0 49
89 0 0 0
liggitt 16 8 0 63
pohly 22 4 0 58
bwsalmon 84 0 0 0
dims 57 6 1 4
michaelasp 22 3 0 42
Jefftree 37 10 0 18
tallclair 23 6 1 28

Don't miss what's next. Subscribe to Weekly Project News:
Powered by Buttondown, the easiest way to start and grow your newsletter.