Weekly GitHub Report for Kubernetes: August 24, 2026 - August 31, 2026 (21:14:02)
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.
-
[KIND/BUG] [SIG/NETWORK] [SIG/API-MACHINERY] [NEEDS-TRIAGE] [TRIAGE/ACCEPTED] kube-apiserver exits on startup when a nodeport repair reconcile error lands inside the 60s PostStartHook window: This issue describes a bug where the
kube-apiserverprocess exits during startup if a nodeport repair reconcile error occurs within the first 60 seconds, due to a PostStartHook timing out before retrying the error, causing repeated crash loops. The root cause is that the retry interval for the repair loop is longer than the PostStartHook deadline, and the Services LIST operation does not have a retry mechanism, leading to a fatal failure if the initial attempt fails within the startup window.- The comments discuss similarities to other issues but clarify this is distinct and related to startup timing and retry logic; requests for logs lead to explanations that transient network issues cause the failure; the conversation emphasizes the need for retries during startup and suggests avoiding AI-generated conclusions that may mislead diagnosis.
- Number of comments this week: 7
-
[KIND/BUG] [SIG/SCHEDULING] [SIG/NODE] [NEEDS-TRIAGE] DeviceTaintRule with deviceSelector omitted blocks device allocation cluster-wide, including adminAccess claims, contradicting documented behavior: This issue reports that omitting the
deviceSelectorfield entirely in aDeviceTaintRulecauses the rule to incorrectly taint all devices cluster-wide, making every device unschedulable, including those withadminAccessclaims, which contradicts the documented behavior that an omitted selector should match no devices and have no scheduling effect. The reporter verified this behavior on Kubernetes v1.37.0 with no special feature gates enabled and demonstrated that deleting the problematicDeviceTaintRuleimmediately restores device allocation functionality, highlighting a significant discrepancy between the implementation and the documentation.- The comments confirm reproduction of the issue in a fresh environment and discuss the historical context that the current behavior (nil selector matches all devices) has been present since the original design, despite documentation stating otherwise. Contributors debate whether to fix the code to match the docs or update the documentation to reflect reality, noting that either approach requires a doc update and consideration of whether the ability to taint all devices via this rule should remain.
- Number of comments this week: 7
-
[SIG/SCHEDULING] [SIG/NODE] [NEEDS-TRIAGE] [KIND/FEATURE] [TRIAGE/ACCEPTED] [KEP-3521]: Integrate well with out-of-tree resource quota solutions: This issue addresses the conflict between the Pod Scheduling Readiness feature, which enables out-of-tree quota management solutions to gate pod scheduling, and the In-place Update of Pod Resources feature, which allows pods to be resized without re-scheduling, thereby bypassing quota enforcement. The problem breaks the assumptions of external quota systems like Kueue and Application Aware Quota, prompting discussion of possible solutions such as introducing a resize gate to extend scheduling gate semantics to pod resizes and ensure quota compliance.
- The comments include clarifications on the problem, confirmation that in-place resizing bypasses quota controls, suggestions for temporary workarounds like admission policies, and broad agreement on the need for a new mechanism (e.g., a resize gate) to integrate pod resizing with quota enforcement; contributors also discuss the potential for a generic quota API and the drafting of a new KEP to address this issue.
- Number of comments this week: 5
-
[KIND/BUG] [SIG/SCHEDULING] [NEEDS-TRIAGE] scheduler: DATA RACE: This issue reports a data race detected in the Kubernetes scheduler component, specifically involving concurrent access to a pointer within PodGroupInfo during scheduling operations. The race occurs when one goroutine writes to the pointer while another reads it, potentially causing inconsistent behavior or crashes, and it has been observed reproducibly in certain test runs and pull requests.
- The comments confirm the data race occurs even without code changes, provide additional test failures showing consistent reproduction, and discuss the technical details of the race involving pointer reassignment and concurrent reads in the scheduler's queue and pod group reconciliation logic.
- Number of comments this week: 4
-
[KIND/BUG] [SIG/API-MACHINERY] [SIG/APPS] [TRIAGE/ACCEPTED] resourceFieldRef.divisor when unspecified is set to 0 (documented is 1) : This issue reports that the divisor field in ResourceFieldRef, which is documented to default to 1 when unspecified, is actually set to 0 when a manifest is applied and then inspected. This discrepancy causes problems with tools like ArgoCD that consider the application perpetually out of sync due to the unexpected divisor value.
- The comments clarify that the behavior is intentional: the field is serialized as 0 when unset, but treated as 1 during usage to avoid divide-by-zero errors. It is suggested to update the documentation to reflect this nuance rather than changing the defaulting behavior, and it is noted that ArgoCD has fixed its diffing logic to handle this correctly in newer versions.
- Number of comments this week: 3
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: 25
Summarized Issues:
- API Documentation Clarifications: This topic covers issues requesting clearer documentation and API references to reduce user confusion and improve understanding of Kubernetes features. It includes clarifications on LimitRange default fields and explicit signature encoding requirements in proto documentation.
- [issues/141565, issues/141669]
- Controller and Scheduler Bugs: Several issues describe bugs causing crashes, panics, or incorrect behavior in Kubernetes controllers and scheduler components. These include nil pointer dereferences in node lifecycle controllers, data races in scheduler pod group info, and redundant asynchronous preemption causing stuck pods.
- [issues/141572, issues/141653, issues/141694]
- Resource Management and Pod Lifecycle Issues: This topic includes problems related to pod resource allocation, pod resize events, pod startup visibility, and pod stuck states affecting scheduling and resource usage. It covers missing pod-level resource info during resize, improved init container status visibility, and limiting resource reservation for pods stuck in ImagePullBackOff.
- [issues/141606, issues/141686, issues/141713]
- Storage and Volume Handling Bugs: Issues here describe bugs in persistent volume binding and storage correctness testing. They include int64 overflow in volume capacity comparison and proposals for model-based correctness testing of Kubernetes storage.
- [issues/141617, issues/141652]
- Node and Cloud Provider Labeling Issues: This topic covers problems with node label reconciliation and stale or missing labels from cloud providers, requesting periodic reconciliation to maintain accurate node metadata.
- [issues/141631]
- Pod Network and Sandbox Lock Leaks: This issue describes a persistent sandbox name reservation lock leak caused by interrupted CNI plugin execution, leading to pod recreate loops and failure to release stale locks.
- [issues/141599]
- Command Line Tool Behavior Bugs: This topic includes issues where kubectl commands behave incorrectly or misleadingly, such as local-only mutations without server patching and acceptance of empty flag names causing broken configurations.
- [issues/141588, issues/141703]
- Protobuf and Serialization Errors: This issue addresses incorrect protobuf wire type annotations causing runtime panics due to mismatched expectations between field types and tags.
- [issues/141594]
- Node Resource Limits and Cgroup Behavior: This issue describes how lowering Node Allocatable memory limits on cgroup v2 can cause immediate memory reclaim and OOM kills before kubelet eviction can act.
- [issues/141609]
- Test Flakiness and Debug Logging: This topic covers flaky tests and leftover debug logs causing noisy or unreliable test runs, including node e2e test flakiness and removal of debug logs in unit tests.
- [issues/141614, issues/141665]
- Namespace Controller Performance Bottlenecks: This issue describes structural bottlenecks causing worker pool starvation, cascading retries, and stuck namespaces during cleanup, proposing solutions like cached discovery and parallelized deletion.
- [issues/141615]
- Device Allocation Scheduling Bug: This issue reports a bug where omitting the deviceSelector field in DeviceTaintRule causes unintended cluster-wide device allocation blocking, contrary to documented behavior.
- [issues/141620]
- Image Selection Regex Bug: This issue describes a bug in e2e_node image selection regex that incorrectly excludes valid images due to a negated character class.
- [issues/141624]
- Validation Migration to Declarative Validation: This issue tracks migrating ObjectMeta field validations to Declarative Validation with custom validation annotations for unsupported cases.
- [issues/141634]
- GCE Instance Creation Error Handling Bug: This issue describes a bug in createGCEInstance readiness polling where terminal errors are not properly propagated, causing lost provisioning errors and potential continuation with unready nodes.
- [issues/141635]
- JWT Signing Documentation and Usage Warnings: This topic includes requests for stronger warnings and examples to prevent silent verification failures caused by incorrect re-encoding of already base64url-encoded JWT claims.
- [issues/141669, issues/141670]
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: 38
Summarized Issues:
- API Error Handling and Validation Issues: Several issues describe incorrect or unclear error handling in Kubernetes API operations, including improper error codes returned during resource creation under quota limits, misleading OpenAPI validation messages, and internal server errors caused by invalid runtime class names. These problems lead to inconsistent API behavior and user confusion when interacting with Kubernetes resources.
- [issues/106842, issues/132874, issues/139462]
- Test Flakiness and Failures: Multiple flaky or failing tests affect various Kubernetes components, including volume manager reconciler goroutines leaking, signature verification race conditions, Windows CI timeouts due to mutex contention, deployment rollback errors, and intermittent failures in e2e and integration tests. These flaky tests cause unreliable CI results and require fixes to improve test stability and reliability.
- [issues/140352, issues/140760, issues/140762, issues/141178, issues/141356, issues/141447, issues/141469, issues/141521]
- Resource Management and Scheduling Bugs: Issues highlight bugs in resource allocation and scheduling, such as kubelet incorrectly assigning CPUs in hybrid topologies, memory manager double reservations after restarts, extended resource scheduling failures, and StatefulSet scaling problems after quota limit breaches. These bugs cause resource mismanagement, pod scheduling failures, and system instability.
- [issues/140495, issues/140906, issues/141467, issues/140858]
- Logging and Security Concerns: Problems include kube-scheduler logging sensitive TLS private keys in plaintext at certain verbosity levels and the need for context-aware logging improvements in client-go to enhance log detail and structure. These issues raise concerns about secret exposure and logging quality.
- [issues/119813, issues/140096]
- Pod and Certificate Lifecycle Management: Issues describe improper handling of pod certificate tracking before admission checks and volume attachment cleanup failures after controller-manager restarts or CSIDriver field changes, leading to resource leaks and inconsistent pod lifecycle states.
- [issues/138920, issues/141151, issues/141521]
- Kubelet and Pod Lifecycle Bugs: Problems include inability to recover pods from OOMKilled status due to incorrect cgroup memory settings, and bugs in pod CPU allocation resize logic affecting pod addition and resource efficiency. These issues impact pod stability and resource management.
- [issues/138760, issues/140719]
- Authorization and Token Validation Issues: A minor bug in token audience restriction logic caused improper rejection of token requests due to missing authorizer calls in error cases, requiring fallback fixes to ensure correct validation.
- [issues/140159]
- Cache and Controller Bugs: Issues include stale or incorrect cache states in ExtendedResourceCache and informer cache mutations causing panics in scheduler tests, as well as endpoint controller events missing namespace fields due to placeholder objects, leading to consumer filtering issues.
- [issues/141103, issues/141508, issues/141578]
- Flaky Test Investigation and CI Stability: Recent test failures in AWS 5k load tests and other CI jobs are under investigation to identify causes of flakiness and improve test reliability.
- [issues/141447]
- Code Quality and Repository Management: Requests to add import constraints in the scheduler directory to prevent dependency creep and removal of outdated Go Report Card badges reflect ongoing efforts to maintain code quality and repository hygiene.
- [issues/141403, issues/140940]
- Windows and Platform-Specific Bugs: A panic in kube-proxy on Windows caused by unguarded access to empty port mappings leads to runtime errors and proxy termination, highlighting platform-specific stability issues.
- [issues/141488]
- Client and Binary Distribution Improvements: A request to code sign macOS kubectl binaries aims to ensure trust and compatibility with enterprise security policies enforcing binary authorization.
- [issues/141513]
- Service and EndpointSlice Generation Failures: Rapid deletion and recreation of Services and Pods can cause failures in generating EndpointSlices, resulting in cache out-of-date errors and update failures in the controller manager.
- [issues/141592]
- Installation and Dependency Issues: Kubernetes package installation failures occur due to missing dependencies like the kubernetes-cni package, blocking installation of core components in certain versions.
- [issues/141601]
- Miscellaneous Placeholder and Feature Requests: An unclear placeholder issue and a feature request related to "Cuidar Sênior Conexão" for "Alô Vovô" are noted but lack detailed context.
- [issues/141584, issues/141685]
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: 106
Key Open Pull Requests
1. WIP: enforce usage of context-aware client-go: This pull request enforces the usage of context-aware client-go APIs across Kubernetes components such as the scheduler, controller manager, and kubelet to support contextual logging by replacing informal comments with actual code enforcement and updating various client-go methods to their context-aware alternatives.
- URL: pull/141647
- Associated Commits: 0e33f, 5be1b, 79e30, d5965, cefbc, a031e, c1dc3, f2666, 22e5c, b624b, a7d05, 9fdbb
2. WIP: dry-run structured-merge-diff bump to https://github.com/kubernetes-sigs/structured-merge-diff/pull/292: This pull request is a work-in-progress update that bumps the structured-merge-diff dependency to incorporate changes from the linked upstream pull request #292, along with related fixes and updates for Go 1.27 support and tooling.
- URL: pull/141664
3. [POC][WIP] Hermetic pods: This pull request introduces a prototype implementation of Hermetic Pods in Kubernetes, enabling zero-network, CNI-less pod isolation by adding a new hermetic field to the PodSpec with associated API defaulting and validation, extending the CRI and kubelet runtime to support hermetic sandboxing without network interfaces, excluding such pods from endpoint tracking, and providing a containerd runtime reference implementation along with unit, integration, and end-to-end tests to verify the functionality.
- URL: pull/141604
Other Open Pull Requests
- OpenAPI v3 Lazy Build: This pull request introduces the
OpenAPIV3LazyBuildfeature gate to the kube-apiserver, enabling lazy building of OpenAPI v3 specifications on first request rather than eagerly at startup. It reduces memory usage by retaining only serialized bytes after the initial build while maintaining identical served content and caching behavior without affecting CRDs or aggregated APIs.
- Cloud Node Controller Label Reconciliation: This pull request enhances the cloud node controller to periodically reconcile and update additional node labels provided by the cloud provider during node status updates. It ensures new, changed, or missing labels are correctly applied without removing labels no longer returned, keeping provider-specific topology information current and accurate for scheduling decisions.
- Declarative Validation for Deployment and ReplicaSet Selectors: This pull request migrates the
spec.selectorfield of Deployment and ReplicaSet resources to declarative validation by adding required and immutable markers. It aligns validation behavior across API versions, marks existing validation checks as covered by the new approach, and includes comprehensive test cases to enforce selector requiredness and immutability.
- Informer-gen Pluralization and Example Fixes: This pull request fixes a bug in the
informer-gentool where GVR resource names were incorrectly pluralized by naively appending "s" to type names. It reuses a plural-exceptions-aware namer for correct resource names and corrects godoc example bugs in the generated informer factory template to ensure examples compile properly.
- SchedulingAlgorithm Refinement: This pull request refines the internal
SchedulingAlgorithmtype by exporting key entry points for driving the algorithm without aScheduler. It decomposes node fitting logic into distinct phases and consolidates common reservation logic to eliminate duplication, providing a more usable and maintainable interface.
- RBAC Beta to Stable Validation Promotion: This pull request promotes the RBAC beta declarative validation tags to stable by removing the
+k8s:betaprefix. It eliminates handwritten checks and unit tests for the now stable fields and updates integration tests accordingly.
- Kubectl Sorting Bug Fix: This pull request fixes a bug in kubectl by updating runtime and table sorters to treat two missing JSONPath field values as equal during sorting. It ensures consistent ordering and compliance with the sort.Interface contract and includes regression tests to verify this behavior.
- Kubelet Device Resource Allocator Recovery Fix: This pull request fixes an issue in the kubelet's Device Resource Allocator where failure to resolve CDI devices after a node reboot caused pods to be stuck. The kubelet now invalidates the prepared state of DRA claims to allow re-preparation and recovery, preventing permanent failure states.
- Scheduler Race Condition Fixes: This pull request fixes two race conditions in the Kubernetes scheduler by enhancing in-flight pod state tracking with an updated data structure. It introduces a two-phase cycle completion process to ensure concurrent pod updates during scheduling and binding cycles are correctly handled without losing updates or bypassing backoff queueing.
- Windows Kubelet Device Plugin Reporting Fix: This pull request fixes the issue on Windows where the kubelet's
GetAllocatableDevicesfunction always returned nil, causing incorrect reporting of device plugin devices. It aligns the Windows implementation with Linux to correctly report allocatable device plugin devices.
- Kubelet Memory Usage Metrics Addition: This pull request adds new memory usage byte metrics to the kubelet metrics endpoint by reusing existing memory usage data from the stats provider. It ensures consistent reporting across Linux and Windows platforms, particularly addressing committed-memory usage on Windows.
- Scheduler Test Refactor to Remove Persistent Volume Dependency: This pull request removes the scheduler's dependency on the persistent volume testing package by refactoring tests to use a fake client tracker and clientset reactors. This cleanup improves test reliability and removes unnecessary imports.
- Windows Backslash Escaping Fix Cherry Picks: These pull requests are automated cherry picks of a fix addressing Windows backslash escaping issues, applied to release-1.34, release-1.35, and release-1.36 branches respectively to resolve the bug.
- CronJobSpec Schedule Validation Graduation: This pull request graduates the
CronJobSpec.schedulerequired validation from beta to stable declarative validation by removing beta lifecycle markers and redundant handwritten validations. It regenerates declarative validation code and tests forbatch/v1andbatch/v1beta1and updates protobuf comments accordingly.
- Low-Memory Informer Cache Store: This pull request introduces an experimental low-memory informer cache store for client-go that moves cached objects off the Go heap into a file-backed, mmaped bytecache. It significantly reduces heap memory usage and garbage collection overhead in large clusters with opt-in support via an environment variable and multiple codec options.
- ApplyConfigurations GetResourceVersion Generation: This pull request introduces a method to generate GetResourceVersion for applyconfigurations, enabling extraction of the resource version without relying on reflection. This improves code clarity and efficiency.
- Preemptor Stuck Bug Fix: This pull request fixes a bug in the Kubernetes preemptor where it becomes stuck when asynchronous preemption does not produce a deletion event. It addresses issue #141694 to resolve this problem.
- Unique Name Generator for Workloads and PodGroups: This pull request implements a new library within the builder module to generate unique names for Workloads and PodGroups. It addresses issue #141555.
- Service ClusterIP Validation Security Fix: This pull request fixes a security issue by modifying the validation error message for out-of-bounds
clusterIPvalues in Services. It removes exposure of the internal--service-cluster-ip-rangeCIDR, preventing low-privileged users from discovering cluster network topology through error messages.
- Windows E2E Test Sandbox Error Update: This pull request updates the end-to-end Windows test to recognize and accept the new sandbox error message for invalid RunAsUserName on the LTSC2025 base image. It ensures the test passes on both LTSC2022 and LTSC2025 by matching a broader set of known failure messages instead of timing out.
- E2E Test Image Bump: This pull request updates the end-to-end tests by bumping the agnhost test image to version 2.66.1 for Kubernetes 1.36. It backports a previous change without including nginx and glibc-dns-testing images to ensure compatibility and pass verification scripts.
- Pod Affinity Namespace Selector Fix: This pull request fixes the kube-scheduler's evaluation of pod affinity and anti-affinity namespace selectors by restoring pointer-based mutation during namespace selector expansion. It corrects handling of negative namespace selectors to prevent pods in excluded namespaces from improperly influencing node filtering or scoring.
- Taint Eviction Controller Retry Mechanism: This pull request addresses a bug in the taint eviction controller by implementing a rate-limited retry mechanism for failed pod deletions. It tracks retries per pod to prevent stale retries from affecting new eviction decisions, verifies pod existence and UID before deletion, preserves disruption condition handling, and cleans up retry state when evictions are no longer applicable.
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: 140
Key Closed Pull Requests
1. lint: enable optionalfields linter for multiple API groups: This pull request progressively enables the optionalfields linter rule across multiple Kubernetes API groups—including node, discovery, storagemigration, and coordination—while adding specific exceptions to suppress certain linter errors and updating the KAL to the latest version to fix related bugs.
- URL: pull/135931
2. POC: maxItems validation on variables: This pull request is a proof of concept to add and validate a maxItems constraint on the spec.variables field in the mutating admission policy API, including attempts to align declarative validation rules and test coverage across different API versions, but it was not merged due to persistent test failures and inconsistencies in validation error reporting.
- URL: pull/138004
3. Bump DefaultKubeBinaryVersion to 1.38: This pull request updates the hard-coded DefaultKubeBinaryVersion to 1.38 in preparation for the new minor Kubernetes release, including related cleanup such as dropping obsolete test cases and deprecated API scenarios specific to version 1.38.
- URL: pull/140764
Other Closed Pull Requests
- Pod Group Preemption Tests: This pull request extends integration tests for the Workload Admission Priority (WAP) feature by porting pod-by-pod preemption tests to pod group preemption scenarios. It restructures the podgrouppreemption_test.go file for better readability and adds new test cases to ensure robust validation of pod group preemption behavior.
[pull/141139]
- Kube-API-Linter Rules for Authorization and Events API Groups: These pull requests enable the
optionalorrequiredandnonpointerstructskube-api-linter rules for the authorization API group by tagging fields as+optionalor+requiredand regenerate protobuf and OpenAPI specs. Similarly, the events API group is updated by adding missing markers to remove it from linter exceptions, ensuring proper validation.
[pull/139728, pull/136844]
- Horizontal Pod Autoscaler Fix: This pull request fixes a zero-division overflow and underflow issue in the Horizontal Pod Autoscaler's replica calculator by skipping per-pod metric division when replicas are zero. This prevents calculation errors and improves stability.
[pull/140958]
- PodGroupCycleState Availability Verification: This pull request verifies that
PodGroupCycleStateis correctly stripped before asynchronous binding in the Unreserve phase, maintaining core scheduler invariants. It ensures proper testing to support plugins like dynamicresources in gang scheduling rollbacks.
[pull/141029]
- Mutating Admission Policy Conversion Fix: This automated cherry pick updates the ObjectVal.ConvertToNative function to properly handle conversion for Mutating admission policies by supporting structpb.Struct and structpb.Value types and refining mutation tests.
[pull/140557]
- ExtendedResourceCache Collision Handling: This pull request fixes the ExtendedResourceCache to handle collisions between multiple DeviceClass objects using the same extended resource name by storing all candidates and recomputing the winning DeviceClass after updates. This prevents stale or incorrect mappings and ensures proper promotion and retention of DeviceClasses.
[pull/141110]
- Feature Gates Test Coverage: This pull request improves test coverage for feature gates by introducing tests that verify their behavior when enabled or disabled, ensuring meaningful coverage.
[pull/139438]
- Declarative Validation Migration for metav1.Condition.Type: This pull request migrates validation of
metav1.Condition.Typeto declarative validation by adding a+k8s:format=k8s-label-keytag, marking existing handwritten validation as covered, adding invalid format tests, and regenerating validation code.
[pull/140572]
- Kube-Scheduler Metrics Documentation: This pull request documents the
profilelabel in the help text of all kube-scheduler metrics carrying this label and cleans up existing scheduler metric help texts for clarity and accuracy.
[pull/140800]
- Deterministic MoreImportantVictim Comparator: This pull request makes the
MoreImportantVictimcomparator deterministic for pods with equal start times by adding a tie-breaker based on pod UID. This prevents flaky test failures caused by non-deterministic victim ordering while preserving priority semantics.
[pull/140999]
- ReplicationControllerSpec Validation Promotion: This pull request promotes declarative validation of
replicasandminReadySecondsfields in ReplicationControllerSpec from beta to stable by removing beta tags and deleting redundant handwritten validation code.
[pull/141564]
- Removal of ServiceAccountTokenPodNodeInfo Feature Gate: This pull request removes the permanently enabled
ServiceAccountTokenPodNodeInfofeature gate from the codebase as it has been locked and enabled since version 1.32.
[pull/135338]
- Validation Tags on Non-Pointer Struct Fields: This pull request enables the use of
+k8s:requiredand+k8s:optionalvalidation tags on non-pointer struct fields without causing validation-gen failures, supporting schema and lint pairing without enforcing presence.
[pull/136779]
- Eventhandler Test Modernization: This pull request modernizes the eventhandler test in the Kubernetes scheduler package by replacing
reflect.TypeOfcalls withreflect.TypeForto address linter warnings.
[pull/137702]
- pv_collector_total_pv_count Metric Fix: This pull request fixes the
pv_collector_total_pv_countmetric to correctly report the plugin name for all CSI-provisioned PersistentVolumes by introducing a dedicatedmetricsPluginMgrthat includes all volume plugins for metric collection.
[pull/139356]
- Volumemanager Test Flakiness Fix: This pull request addresses test flakiness in the volumemanager by ensuring leaked reconcilers started during tests are properly stopped, preventing resource starvation and timeouts in parallel subtests.
[pull/140363]
- Kubelet Certificate Store Migration: This pull request migrates the Kubelet's certificate store and bootstrapping code from the legacy
NewFileStoreAPI to the context-awareNewFileStoreWithLoggermethod, enabling structured logging without changing functionality.
[pull/140444]
- CPUManager Core Allocation Improvement: This pull request improves the CPUManager by skipping partially acquired CPU cores during full core allocation and introduces a more accurate method to determine core availability, addressing issues in non-uniform topologies.
[pull/140498]
- NodeRestriction Admission Plugin Fix: This pull request fixes the NodeRestriction admission plugin to ensure that when the ServiceAccountNodeAudienceRestriction feature is enabled, authorization checks are still performed as a fallback even if resolving pod CSI volume sources results in an error.
[pull/140607]
- Quantity Type and Documentation Improvements: This pull request adds
resource.MaxMilliQuantityto provide a safe upper bound for Quantity methods, corrects inaccuracies in Quantity documentation, updates decimalSI grammar, and reformats documentation for proper Go doc rendering.
[pull/140674]
- PodMightNeedToUnprepareResources Concurrency Improvement: This pull request improves concurrency by replacing a write lock with a read lock (
RLock) when accessing the claim info cache inPodMightNeedToUnprepareResources, allowing multiple readers simultaneous access.
[pull/140741]
- APIServer Node Authorization Graph Refactor: This pull request moves node authorization graph processing outside listener callbacks and implements a queue-based controller to prevent lock contention and reduce staleness from slow graph traversal.
[pull/140803]
- EventBroadcaster Resource Leak Fix: This pull request fixes a bug in client-go EventBroadcaster by preventing unbounded goroutine and memory growth during high scheduling failure rates or slow API server responses, mitigating excessive resource consumption.
[pull/140868]
- Scheduler Framework Refactor: This pull request refactors the Kubernetes scheduler by extracting framework and shared component construction into an exported
NewFrameworksconstructor and adds a centralizedFrameworkForPodhelper for profile lookups with fallback to the default scheduler.
[pull/140908]
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 |
|---|---|---|---|---|
| liggitt | 15 | 4 | 0 | 59 |
| macsko | 15 | 11 | 0 | 38 |
| thc1006 | 38 | 13 | 6 | 5 |
| lukaszwojciechowski | 13 | 2 | 1 | 45 |
| ffromani | 0 | 0 | 0 | 41 |
| pohly | 19 | 2 | 2 | 14 |
| Jefftree | 29 | 3 | 0 | 0 |
| natasha41575 | 9 | 4 | 1 | 14 |
| luxas | 20 | 0 | 0 | 7 |
| neoLsH | 12 | 9 | 0 | 5 |
Access Last Week's Newsletter: