Weekly GitHub Report for Kubernetes: August 25, 2025 - September 01, 2025 (12:04:44)
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:
The current version of this repository is v1.32.3
1.2 Version Information:
The Kubernetes version released on March 11, 2025, introduces key updates detailed in the official CHANGELOG, with additional binary downloads available. For comprehensive information on new features and changes, users are encouraged to refer to the Kubernetes announce forum and the linked CHANGELOG.
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.
-
Add new imagePullPolicy mode IfNewerNotPresent, that pulls image if image ID (ref/digest) on remote is not matching.: This issue proposes adding a new
imagePullPolicy
mode calledIfNewerNotPresent
that pulls a container image only if the image ID (reference or digest) on the remote registry does not match the local image, addressing scenarios where image tags are reused with backported fixes without changing the tag. This mode aims to combine the speed benefits ofIfNotPresent
with an integrity check against the remote registry, reducing unnecessary pulls and network load while ensuring pods do not run outdated or faulty images when tags are mutated.- The discussion centers on clarifying differences between existing policies
IfNotPresent
andAlways
, with contributors explaining thatAlways
always checks the remote registry but reuses cached layers, whileIfNotPresent
skips remote checks if the image exists locally. The proposer argues thatAlways
can cause performance and registry load issues at scale and does not handle registry outages gracefully, motivating the need for a middle ground policy. Others caution that mutating tags is discouraged best practice and that the proposal may introduce complexity and security concerns. Testing results shared showIfNewerNotPresent
can reduce pull times by only verifying image digests remotely. The conversation also touches on naming semantics and the importance of handling network failures without blocking pod startups. - Number of comments this week: 18
- The discussion centers on clarifying differences between existing policies
-
[node] Missing conformance endpoints for podexec / portforward using POST (and namespaced) (2 operations): This issue addresses the absence of conformance test coverage for two specific POST operations related to pod exec and port forwarding in the Kubernetes API, which are connectCoreV1PostNamespacedPodExec and connectCoreV1PostNamespacedPodPortforward. The discussion highlights that these endpoints use the deprecated SPDY protocol, which has been largely replaced by websockets (using GET requests) in newer versions of kubectl, leading to these POST endpoints being untested and proposed to be marked as ineligible for conformance.
- The comments clarify that the missing coverage is due to a protocol transition from SPDY POST to websocket GET, with SPDY being unreliable and deprecated but still in use internally; contributors agree to mark the SPDY POST endpoints as ineligible for conformance tests while continuing to test websocket GET endpoints, and they discuss the implications and timeline for deprecating SPDY without immediate removal.
- Number of comments this week: 10
-
Pick predicatable device class when multiple device classes use the same extended resource name: This issue addresses the need to implement a predictable selection mechanism for device classes when multiple device classes share the same extended resource name, replacing the current random selection approach used in Alpha with a deterministic method as outlined in the Kubernetes Enhancement Proposal (KEP) for Beta. The goal is to improve user experience by ensuring that the device class chosen at scheduling time is either the one created later or, if created simultaneously, the one with the lexicographically first name, while also discussing the possibility of raising errors or adding priority fields for more granular control.
- The comments discuss clarifications about the referenced KEP and its guidance, debate the merits of deterministic selection versus raising scheduling errors or random selection, and consider the lack of clear use cases for multiple device classes sharing the same resource name; ultimately, the consensus leans toward implementing deterministic selection for better UX while deferring more complex features like priority fields until a clear need arises.
- Number of comments this week: 10
-
The pod in the host network will have the contents of the host's hosts file.: This issue addresses the problem where a pod running in the host network namespace inherits the host's /etc/hosts file contents, which can cause incorrect IP resolution due to conflicting domain entries. The user requests an option to control whether the pod should include the host's hosts file data, as this behavior is not always desirable and leads to resolution conflicts.
- The discussion clarifies that pods in the host network share the host's network stack, so they naturally use the host's /etc/hosts file, and suggestions include using Pod.DNSConfig or mounting a custom /etc/hosts file to override defaults. Commenters ask for more details and reproduction steps to better understand the issue, while also providing links to relevant container runtime code and Kubernetes DNS policy options.
- Number of comments this week: 8
-
ResourceQuota not updating due to the quota monitor not synced: This issue describes a problem where the Kubernetes ResourceQuota controller fails to update resource quotas because it gets stuck waiting for the quota monitor to sync, particularly after restarting kube-controller-manager instances. The root cause appears to be that newly introduced aggregated API resources from the spdx.softwarecomposition.kubescape.io/v1beta1 group do not properly support List/Watch operations with PartialObjectMetadata, causing the controller to block and preventing resource quota updates.
- The comments confirm that the issue stems from incompatibilities in the aggregated API server’s implementation of the storage interface, which affects watch functionality and blocks the ResourceQuota controller. It was noted that the problem is fixed in a newer version of the kubescape storage release, and there is consensus that the ResourceQuota controller should be enhanced to tolerate such CRD resource failures without blocking, similar to improvements made in the garbage collector.
- 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.
- Zone-aware down scaling behavior: This issue describes a problem with the zone-aware downscaling behavior of Kubernetes Horizontal Pod Autoscaler (HPA) workloads, where the scale-in process leads to an uneven distribution of pods across availability zones despite using topology spread constraints with
maxSkew: 1
. Specifically, during scale-in events, one zone ends up with significantly fewer pods than others, causing high CPU usage on the remaining pod in that zone and violating the expected balanced pod distribution across zones. - apimachinery's unstructured converter panics if the destination struct contains private fields: This issue describes a panic occurring in the apimachinery's DefaultUnstructuredConverter when it attempts to convert an unstructured object into a destination struct that contains private (non-exported) fields. The reporter expects the converter to safely ignore these private fields instead of panicking, as this problem arises notably with protobuf-generated gRPC structs that include private fields for internal state, causing the conversion process to fail even when only public fields are present in the unstructured data.
- Integration tests for kubelet image credential provider: This issue proposes adding integration tests for the kubelet image credential provider, similar to the existing tests for client-go credential plugins. It suggests that since there are already integration tests for pod certificate functionality, implementing tests for the kubelet credential plugins would be a logical and beneficial extension.
- conversion-gen generates code that leads to panics when fields are accessed after conversion: This issue describes a bug in the conversion-gen tool where it generates incorrect conversion code for structs that have changed field types between API versions, specifically causing unsafe pointer conversions instead of proper recursive conversion calls. As a result, accessing certain fields like
ExclusiveMaximum
after conversion leads to runtime panics, highlighting the need for conversion-gen to produce safe and correct conversion functions. - Failure cluster [ff7a6495...] TestProgressNotify fails when etcd in k/k upgraded to 3.6.2: This issue describes a failure in the TestProgressNotify test that occurs when the etcd component in the Kubernetes project is upgraded to version 3.6.2. The test times out after 30 seconds waiting on a result channel, with multiple errors indicating that the embedded etcd server fails to set up serving due to closed network connections and server shutdowns.
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: 29
Summarized Issues:
- Pod Networking and Host File Inheritance: Pods running in the host network namespace automatically include the host's
/etc/hosts
file contents, which can cause incorrect domain name resolution due to conflicting IP addresses. This issue requests an option to control whether the pod inherits the host's hosts file to avoid such conflicts. - issues/133679
- Image Pull Policy Enhancement: A new
imagePullPolicy
mode calledIfNewerNotPresent
is proposed to pull container images only if the remote image ID differs from the locally cached one. This approach aims to combine the efficiency ofIfNotPresent
with an integrity check to avoid running outdated images while reducing unnecessary network traffic compared to theAlways
policy. - issues/133680
- API Server and Etcd Call Optimization: The Kubernetes API server currently makes two separate Etcd calls—a
Get
after a failedOptimisticPut
—which could be optimized by settingGetOnFailure = true
inPutOptions
. This change would reduce redundant Etcd API usage by receiving the current key value in a single gRPC call. - issues/133683
- Code Refactoring for Pod QOS Computation: The
ComputePodQOS
function in the kubelet is proposed to be refactored by extracting resource-collection logic into a helper function. This would improve code readability and testability without changing the function's behavior. - issues/133685
- Conformance Test Coverage for Deprecated Endpoints: There is a lack of conformance test coverage for deprecated SPDY POST endpoints in Kubernetes, raising the question of whether to mark these operations as ineligible for conformance due to the transition to websocket GET methods. This highlights the need to address testing gaps for legacy API endpoints.
- issues/133689
- Promotion of Untested Conformance Endpoints: Kubernetes version 1.34.0 includes 34 conformance endpoints that currently lack associated tests, emphasizing the need to implement comprehensive testing for these CRUD operations to ensure conformance compliance.
- issues/133691
- Deterministic Device Class Selection: A deterministic method is requested for selecting a device class when multiple classes share the same extended resource name. Following KEP guidance, the selection should avoid randomness by choosing the device class created later or, if simultaneous, the lexicographically first name to improve user experience.
- issues/133693
- Flaking Unit Test Failures in Watch Manager: The
TestReflectorNotStoppedOnSlowInitialization
unit test intermittently fails due to reflector initialization errors and dynamic resource plugin runtime errors related to a missing "healthy" key during Windows master CI runs. This flake causes instability in test results and requires investigation. - issues/133698
- Flaky Scheduler Integration Test: The
TestEndpointHandlers//readyz
scheduler integration test intermittently returns HTTP 500 errors instead of 200 at the/readyz
endpoint, causing instability in sig-release-master-blocking jobs since late August 2025. This flake affects the reliability of release blocking tests. - issues/133700
- Insufficient Access for New Events API: The new
events.events.k8s.io
API is not included in the default Kubernetes view role, unlike the core events API, resulting in insufficient access permissions for users with the default view role. This discrepancy limits visibility into new event resources. - issues/133701
- Kubelet Device Resource Allocation Sync Issue: After running a Device Resource Allocation end-to-end test, the kubelet logs errors indicating that
unhealthyDevices
and endpoints have become out of sync, which should not occur as these states are expected to remain synchronized. This points to a bug in resource state tracking. - issues/133702
- CRD Status Sub-resource Metadata Loss: Writing to the status sub-resource of a CustomResourceDefinition using a different API version causes
metadata.managedFields
to be wiped out, removing spec fields that should remain unchanged. This bug affects the integrity of CRD metadata during status updates. - issues/133704
- Scheduler Device Allocation Bug: The Kubernetes scheduler's device allocation logic for consumable capacity fails to allocate remaining devices if one requested device is already allocated. This flaw in the
CmpRequestOverCapacity
call causes pods to be stuck in a Pending state during testing with the dra-example-driver. - issues/133705
- Feature Gate Validation Typo: A typo in the error message for the
enableSystemLogQuery
feature gate validation incorrectly referencesenableSystemLogHandler
, causing confusion during kubelet configuration validation. - issues/133713
- Dead Code Elimination Breakage by MethodByName: The use of
MethodByName
in Kubernetes breaks Go's dead code elimination, significantly increasing binary size for applications using API classes with many methods. A build tag is requested to avoid this call and reduce binary bloat. - issues/133722
- CSI Plugin Registration Silent Failure: Failure in the
handler.RegisterPlugin
method does not trigger a retry, causing silent plugin registration failure becauseactualStateOfWorldUpdater.AddPlugin
has already executed. This prevents subsequent registration attempts and leads to plugin registration issues. - issues/133725
- Kubelet Admission Control Status Confusion: Pods rejected by kubelet admission control initially show clear failure statuses but transition to
ContainerStatusUnknown
after a kubelet restart, losing container status information. This degrades user experience and complicates distinguishing these from genuine container runtime issues. - issues/133733
- ResourceQuota Controller Blocked by Aggregated API: The ResourceQuota controller fails to update quotas because it gets stuck waiting for the quota monitor to sync, blocked by aggregated API resources from
spdx.softwarecomposition.kubescape.io/v1beta1
that do not support List/Watch properly. This causes the controller to be blocked by misconfigured CRD resources. - issues/133737
- DRA Extended Resources Testing Requests: Performance, scalability, and monitoring testing are requested for Device Resource Allocation (DRA) extended resources to support their promotion to Beta, referencing related Kubernetes enhancement proposals.
- issues/133757, issues/133758
- CRD Validation FieldPath Inconsistency: The
fieldPath
rendering in CRD validation rules is inconsistent depending on schema depth, causing validation errors due to differing dot notation in reported paths. This inconsistency affects CRD validation reliability. - issues/133761
- ResourceSlice Controller E2E Test Flake: The
[sig-node] [DRA] ResourceSlice Controller creates slices [ConformanceCandidate]
e2e test flakes due to premature timeout while listing ResourceSlice objects, caused by the API server returning an HTTP/2 stream reset error instead of a retryable timeout. This leads to failed assertions and suggests changes to test or retry logic. - issues/133763
- Kube-proxy Iptables Sync Period Misbehavior: The kube-proxy
--iptables-sync-period
option does not behave as described; actual synchronization occurs only under specific conditions like changes to theKUBE-PROXY-CHAIN
or Endpoints resources, otherwise defaulting to hourly syncs. This behavior is not clearly documented and causes confusion. - issues/133767
- Kube-proxy IPVS Mode Performance Issue: Syncing a large number of IPVS rules during node initialization causes delays and missing SNAT rules, leading to API server access failures and timeouts for node components relying on the Kubernetes service IP. This performance problem affects cluster stability.
- issues/133773
- Integration Test Flake Due to Non-deterministic Ordering: The
TestApply/optional-list-map-key
integration test flakes because of non-deterministic ordering of list entries in applied status fields, causing mismatches between expected and actual outputs. - issues/133780
- API Server Logs "Error getting keys" on Cluster Creation: The Kubernetes API server logs an "Error getting keys" with an "empty key" message from the new
cleanKeysIfNeeded
method introduced in version 1.34.0, causing errors during cluster creation. - issues/133787
- Client-go Panic on ConfigMap Listing: The client-go library panics in
ListAllByNamespace
when listing ConfigMaps due to a nil interface being incorrectly converted to a*v1.ConfigMap
, causing application crashes instead of error returns. - issues/133788
- Kubectl Delete Command Hangs on MTU/PMTU Packet Loss: The
kubectl delete
command hangs indefinitely because a TCP connection remains established behind a load balancer during severe MTU/PMTU-related packet loss, preventing recognition of pod deletion completion even after network recovery. - issues/133791
- Kubelet Unsupported on MacOS in Local-Up-Cluster Script: Running
hack/local-up-cluster.sh
withSTART_MODE=kubeletonly
on MacOS exits because the kubelet is not supported on that operating system. - issues/133795
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: 20
Summarized Issues:
- Test Flakiness and Race Conditions: Several issues report intermittent test failures caused by timing and race conditions in Kubernetes e2e and conformance tests. These flaking tests affect API Streaming watch notifications and CRD discovery validation, leading to unreliable test outcomes during serial or concurrent test runs.
- [issues/133396, issues/133505]
- Error Handling and Input Validation: Multiple issues highlight insufficient error handling and input validation in Kubernetes components, such as panics caused by invalid flag values, inadequate tracking of resource claim modifications, and missing error handling in pod request calculations. These gaps can lead to crashes or incorrect behavior under certain conditions.
- [issues/133376, issues/133520, issues/133590]
- Dependency and Security Updates: There are requests to update dependencies and programming language versions to address security vulnerabilities and remove deprecated packages. These include upgrading the Go language to versions fixing CVEs and updating the json-patch dependency to eliminate archived packages.
- [issues/133400, issues/133712, issues/133764]
- Resource and Pod Status Management: Issues discuss challenges in managing pod resource defaults and extended resource allocation, including whether to default to allocated or actuated resources and failures in pods requiring extended resources due to environmental issues. These affect pod scheduling and resource tracking accuracy.
- [issues/133629, issues/133653]
- Service and Helm Deployment Configuration: One issue focuses on the difficulty of selectively disabling or deploying services using Helm charts, where attempts to disable services via flags or values.yaml cause deployment errors, indicating a need for better support or documentation.
- [issues/133666]
- Kubernetes Component Startup and Compatibility Issues: Problems with component startup are reported, including kube-proxy failing on single-stack IP hosts due to incorrect dual-stack assumptions and kubeadm forcing outdated pause images causing pod sandbox failures. These regressions impact cluster initialization and node readiness.
- [issues/133694, issues/133739]
- Conformance Test Coverage Gaps: There is a need to promote and add tests for certain APIs and storage-related endpoints that were integrated without proper conformance testing, ensuring these features meet Kubernetes standards and stability requirements.
- [issues/133610, issues/133692]
- Networking and Service Port Configuration Anomalies: An issue investigates inconsistencies when configuring Kubernetes Services with multiple ports and protocols, where patch operations do not behave as expected, causing only the first port to be effective despite successful commands.
- [issues/133564]
- Cluster and Scale Test Failures: AWS scale test jobs have been failing due to worker nodes not joining and critical pods not becoming ready, causing validation timeouts and blocking Kubernetes release progress. This highlights infrastructure and cluster stability challenges at scale.
- [issues/133661]
- SELinux Label Conflict Detection: A problem is reported where the SELinux warning controller fails to detect conflicts between pods with differing SELinux labels, potentially allowing simultaneous volume access that should be prevented for security reasons.
- [issues/133424]
- Package Availability and Installation Issues: The Kubernetes CNI package required for kubelet 1.34 was missing from RPM repositories, causing installation failures on certain Linux distributions until the package was added, indicating packaging and distribution gaps.
- [issues/133735]
- FIPS 140 Compliance Challenges: Enabling native Golang FIPS 140 support in client-go is problematic due to disallowed cryptographic algorithms causing panics, complicating compliance with strict security standards in Kubernetes client operations.
- [issues/133743]
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: 61
Key Open Pull Requests
1. [WIP] Add credential plugin allowlist to kuberc: This pull request implements a credential plugin allowlist feature in the kuberc configuration file, enabling users to specify which client-go credential plugin binaries are permitted to execute, thereby enhancing security by controlling plugin execution while maintaining backward compatibility when the allowlist is unspecified.
- URL: pull/133688
- Merged: No
- Associated Commits: 20bc1, d8b47, ab67a, 0bdd8, 7c415, e171a, c803d, d2508, d3348, dc90e, 1cd11, 44c0c, 85e0d, 01bbc, 39d78, 6f0b4
2. Add +k8s:ifEnabled, +k8s:ifDisabled and +k8s:enumExclude tags: This pull request adds three new tags—+k8s:ifEnabled, +k8s:ifDisabled, and +k8s:enumExclude—to enable conditional declarative validations based on feature gate options and usage detection, as well as to allow conditional exclusion of enum values in Kubernetes API types.
- URL: pull/133768
- Merged: No
3. use tool directive instead of the tools go: This pull request updates the Kubernetes project to use the Go tool directive for managing build tools instead of relying on the previous tools.go approach, aiming to streamline and modernize the build process.
- URL: pull/133750
- Merged: No
Other Open Pull Requests
- Feature Gate Dependency Validation: This pull request introduces a new API method to explicitly codify and validate dependencies between feature gates in Kubernetes, ensuring that feature gates cannot depend on less stable or disabled features. It adds these dependencies for the InPlacePodVerticalScaling feature and incorporates validation of feature gate dependencies into the Kubelet startup process.
- [pull/133697]
- SELinux Label Conflict Fixes: These pull requests fix SELinux label comparison issues in the Kubernetes controller manager by ensuring proper conflict detection including the "level" component of labels. They resolve problems where the SELinux warning controller failed to emit events on certain SELinux label conflicts.
- [pull/133745, pull/133746]
- Pod Resize End-to-End Test Refactor: This pull request refactors and expands the end-to-end test coverage for pod resize scenarios related to resourceQuota and limitRanger. It separates tests into distinct functions, adopts table-driven subtests, and updates them to use the new MakeResizePatch utility in preparation for general availability.
- [pull/133762]
- gengo Tool Update and Formatting: This pull request updates the gengo tool to include fixes for comment handling related to type aliases and applies
gofmt -s
formatting to the generated code. However, it currently introduces numerous errors indicating further fixes in gengo are needed before finalization.- [pull/133769]
- Port-Forward Trace Logging: This pull request adds trace logging to port-forward related code in kubectl, kubelet, and apiserver to help understand and troubleshoot end-to-end test failures associated with port-forwarding. The changes specifically address issues referenced in issue #132057.
- [pull/133775]
- Integration Test Data Race Fixes: This pull request addresses and fixes multiple data races detected in integration tests related to the Kubernetes apiserver. It reverts previous partial fixes and implements more comprehensive solutions to ensure test stability and correctness.
- [pull/133781]
- DRA Extended Resource Handling: This pull request updates the Kubernetes scheduler and kubelet to treat extended device plugin resources with zero allocatable devices as inactive when the DRAExtendedResource feature is enabled. This allows workloads requesting such resources to be scheduled and processed by the Device Resource Allocator even after the device plugin is disconnected or uninstalled.
- [pull/133784]
- MutatingAdmissionPolicy Storage Version Update: This pull request updates the storage version for MutatingAdmissionPolicy (MAP) to use the v1beta1 API version. It addresses issue #132982 and includes corresponding changes to the OpenAPI specification.
- [pull/133715]
- StatefulSet maxUnavailable E2E Test: This pull request adds an end-to-end test for the StatefulSet
maxUnavailable
rolling update feature. The test ensures that the feature correctly limits the number of pods updated concurrently during rolling updates.- [pull/133717]
- CRD Panic Fix: This pull request fixes a panic issue occurring in CustomResourceDefinitions (CRDs) that have a status subresource but lose the openAPIV3Schema fields. The fix improves stability and correctness in handling CRD schemas.
- [pull/133721]
- Reusable CRUD Conformance Tests: This pull request introduces reusable CRUD-style conformance tests for different API types in the Kubernetes apiserver. It addresses limitations of previous real tests by adding a testing framework in a new e2e/framework/conformance helper package to ensure comprehensive endpoint and operation coverage.
- [pull/133747]
- Removal of Deprecated Pod Infra Container Image Flag: This pull request proposes removing the deprecated
--pod-infra-container-image
flag from kubeadm and the cluster/gce setup. The flag is now a no-op as its functionality has been migrated to the Container Runtime Interface (CRI).- [pull/133778]
- Shell Completion Fix for API Resource Names: This pull request is an automated cherry pick of a previous fix that addresses broken shell completion for API resource names. It ensures the output format is set before invoking the completion function and includes additional unit tests for this scenario.
- [pull/133783]
- DRA Allocator Optimization: This pull request introduces an optimization to the DRA allocator by modifying it to try all combinations of devices within a single request instead of all permutations. This avoids unnecessary computational work since the order of devices does not affect the allocation outcome.
- [pull/133678]
- Removal of PodIndexLabel Feature Gate: This pull request removes the
PodIndexLabel
feature gate from the codebase following its graduation to stable in Kubernetes version 1.32. This is part of a cleanup effort.- [pull/133687]
- Structured Logging in Client-Go Leader Election: This pull request introduces structured, contextual logging to the client-go leader election component. It allows users to better control and influence logging behavior during client-go operations.
- [pull/133690]
- StatefulSet Progressing Condition: This pull request introduces a new
Progressing
condition to the StatefulSet status to provide enhanced visibility into the rollout process. It enables users to monitor updates and scaling operations more effectively and aligns StatefulSet behavior with that of Deployments without causing breaking changes.- [pull/133696]
- Dynamic Resource Allocation Bug Fix: This pull request fixes a bug in the dynamic resource allocation consumable capacity feature by defining a new function to correct the misuse of
r.deviceIndex
in the experimental allocator module. It ensures proper scheduling of the next device and includes a new unit test to validate the fix.- [pull/133706]
- Scheduler Plugin Decoupling: This pull request removes the dependency on
pkg/scheduler/framework.NodeInfo
from thenode_ports.go
file in the Kubernetes scheduler plugins. The change aims to decouplenode_ports.go
from thepkg/scheduler/framework
package once merged alongside a related pull request.- [pull/133707]
- Pod Autoscaler Panic Fix: This pull request fixes a bug in the pod autoscaler controller by preventing a panic log message when the
.status.lastScaleTime
field is not set. It replaces the panic output with an empty value to avoid misleading log entries.- [pull/133708]
- Etcd Health Check Simplification: This pull request simplifies the etcd health check function in the storage backend factory by removing the unnecessary use of
grpc.WithBlock()
during gRPC client initialization. It relies instead on the existing health check request timeout to handle connection establishment.- [pull/133709]
- Kubelet Error Message Typo Fix: This pull request fixes a typo in the error message related to the EnableNodeLogQuery validation in the kubelet component.
- [pull/133714]
- MaxAttachLimit Cleanup: This pull request is a cleanup effort related to the removal of the MaxAttachLimit, serving as a follow-up to a previous pull request in the Kubernetes project.
- [pull/133719]
- Removal of SizeMemoryBackedVolumes Feature Gate: This pull request removes the SizeMemoryBackedVolumes feature gate from the Kubernetes codebase following its graduation to general availability in version 1.32.
- [pull/133720]
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: 68
Key Closed Pull Requests
1. e2e: node: cpumanager: replace the test suite: This pull request replaces the old cpumanager end-to-end test suite with a new, more comprehensive suite that has been rewritten and validated through the full 1.34 release cycle, thereby improving test coverage and cleaning up obsolete tests and utilities.
- URL: pull/133463
- Merged: 2025-08-28T16:23:09Z
- Associated Commits: 2b229, cea6f, 9ccf0, 23fff, 8f232, 9d9f8, 2cf92, 0a9e3, 75452, aff5a, 858a3, 092df, 19dea
2. fix many incorrect deprecation warnings in godoc: This pull request fixes numerous incorrect deprecation warnings in the Kubernetes codebase by correcting the formatting of API deprecation comments to ensure they are properly recognized and displayed in godoc, developer tools, and linters.
- URL: pull/133571
- Merged: 2025-08-28T01:30:53Z
3. e2e: node: cpumanager: cleanup and tidification before test replacement: This pull request performs a final cleanup and reorganization of the cpumanager end-to-end node test utilities and shared code to prepare for replacing the old cpumanager tests with rewritten ones, aiming to minimize logic changes and improve code tidiness before the major test overhaul.
- URL: pull/133462
- Merged: 2025-08-28T01:29:47Z
Other Closed Pull Requests
- Build process optimization and dependency reduction: This topic includes pull requests aimed at reducing the build process's dependency on rsync by simplifying filters and discouraging further expansion, with a long-term goal of replacing rsync with a more performant volume mount approach. These changes improve build efficiency and maintainability.
[pull/133718]
- Configuration validation improvements: Pull requests under this topic validate configuration parameters such as
log-flush-frequency
to ensure they are positive values, preventing system panics and returning errors instead. This enhances system robustness by avoiding invalid inputs.
[pull/133540]
- SELinux label handling fixes: These pull requests fix bugs related to SELinux label comparisons by ensuring all label components are considered, preventing incorrect assumptions and missing warning events. They also add end-to-end tests to verify correct SELinux behavior in CSI drivers.
[pull/133425, pull/133426]
- API and client compatibility enhancements: This topic covers pull requests that allow omission of the
Status
field inPodFailurePolicyOnPodConditionsPattern
to prevent errors in the Python Kubernetes client and fix broken shell completion for API resource names in kubectl by setting output format correctly. These changes improve client compatibility and user experience.
[pull/133479, pull/133771]
- Cache and concurrency improvements: Pull requests here improve the cache package by removing unnecessary channel allocations to avoid blocking issues and fix flakes in integration tests by wrapping update operations in retry logic to handle conflicts. These changes increase test stability and runtime efficiency.
[pull/133500, pull/133585]
- Feature gate and test cleanup: This topic includes pull requests that remove obsolete tests following KEP graduations and clean up the codebase by removing the
StatefulSetAutoDeletePVC
feature gate after its graduation to stable. These actions maintain code hygiene and reduce technical debt.
[pull/133681, pull/133684]
- Scheduler framework refactoring: This pull request moves affinity-related functions from the main scheduler framework package to a staging repository to decouple the interpodaffinity plugin, improving modularity and maintainability of the scheduler codebase.
[pull/133710]
- CRD generation and API error handling fixes: These pull requests fix CRD generation errors by removing incorrect markers and improve error handling by returning appropriate status codes for decode errors, enhancing API correctness and developer experience.
[pull/133716, pull/133358]
- Test coverage and reliability improvements: This topic includes work-in-progress pull requests adding tests for Kubernetes client methods and splitting preemption integration tests into separate packages to reduce runtime and prevent CI timeouts. These efforts improve test coverage and CI stability.
[pull/133730, pull/133398]
- Timeout and retry logic enhancements: Pull requests increase client timeouts for
kubectl port-forward
to improve reliability on slow clusters and simplify error handling logic in kubeadm functions to improve code clarity and maintainability.
[pull/133682, pull/133347]
- Dependency decoupling and management: This pull request decouples the
term
andremotecommand
packages to avoid unnecessary dependencies on external libraries, simplifying dependency management at the cost of a breaking change in types.
[pull/133367]
- Patch handling and parsing bug fixes: These pull requests fix bugs by changing patch handling logic to prevent crashes from delayed informer updates and by correcting label selector parsing to handle consecutive commas properly, preventing parsing errors.
[pull/133360, pull/133419]
- Metrics and performance optimizations: This topic includes pull requests that update tests to register and validate resource object counts and optimize the Horizontal Pod Autoscaler’s pod request calculations by adding early exits and error handling, improving performance and test accuracy.
[pull/133408, pull/133415]
- Reviewer addition: This pull request adds a new reviewer to the SIG Scheduling group, recognizing their contributions and involvement in related subprojects.
[pull/133355]
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 |
---|---|---|---|---|
BenTheElder | 32 | 8 | 2 | 100 |
HirazawaUi | 8 | 10 | 3 | 27 |
pohly | 11 | 7 | 5 | 24 |
dims | 5 | 3 | 4 | 34 |
yliaog | 6 | 4 | 8 | 24 |
liggitt | 1 | 1 | 0 | 35 |
soltysh | 6 | 4 | 0 | 25 |
carlory | 12 | 10 | 0 | 12 |
ffromani | 20 | 2 | 0 | 10 |
aojea | 1 | 2 | 1 | 28 |