Weekly GitHub Report for Kubernetes: March 18, 2025 - March 25, 2025 (12:14: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.2
1.2 Version Information:
The version release, created on February 12, 2025, introduces key updates and changes to Kubernetes, with detailed information and additional binary downloads available in the linked changelog. Notable highlights or trends from this release can be found in the Kubernetes announcement forum and the changelog documentation.
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.
-
"Support HTTP/3 for Container Probes": This issue is about a user experiencing problems with Kubernetes container probes when attempting to use HTTP/3 with a Python Quart application running on a Hypercorn ASGI server, specifically encountering connection refused errors when using UDP and HTTPS on port 443 for health checks. The user is seeking clarification on whether HTTP/3 is supported for container probes and how to properly configure the probes to work with their setup, as they are currently facing issues with both liveness and readiness probes failing.
- The comments discuss the lack of support for HTTP/3 in Kubernetes probes, suggesting using an exec probe with curl as a workaround, but the user encounters issues with this approach. There is confusion about the server's protocol usage, and suggestions are made to use different ports or configurations. The conversation also touches on the need for a feature request to support HTTP/3, and the complexity of the issue is acknowledged due to the numerous comments and potential configuration problems.
- Number of comments this week: 22
-
API server reflector may lose events if TransformFromStorage fails: This issue involves a problem with the Kubernetes API server reflector, where create or update operations on
Secrets
are not consistently reflected in the controller runtime client cache. The issue seems to occur when there are transient errors related to Secret decryption, causing the reflector to miss events, leading to controllers attempting to reconcile missedSecrets
indefinitely and encountering409
errors until manually restarted.- The comments discuss how the API server does not queue events for retry if decryption fails, leading to missed events when the
resourceVersion
is updated. Suggestions include buffering failed events for retry or ensuring skipped objects are re-fetched. A reproduction scenario is provided, highlighting the issue's potential for data loss and the need for a robust solution to handle both transient and permanent errors. - Number of comments this week: 15
- The comments discuss how the API server does not queue events for retry if decryption fails, leading to missed events when the
-
DRA v1beta2 promotion - tracking field changes needed: This issue is about tracking the necessary changes for promoting the DRA API group to v1beta2, focusing on field modifications such as flattening the
Device
type and renaming fields related toCapacityPool/CounterSet
. It aims to consolidate discussions and proposals that are currently scattered, making it easier to manage and implement the required updates.- The comments discuss the naming of fields, particularly the transition from "ConsumesCounter" to a more suitable term like "DecrementCounters," with various suggestions and preferences shared. There is a consensus on using the plural form, and the discussion evolves around finding the most appropriate term, considering options like "ReducesCounters" and "SubtractsCounters," with "DecrementCounters" emerging as a favored choice. The conversation also touches on the timing and pressure of making these naming decisions, with some participants expressing a preference for taking more time to ensure clarity and accuracy.
- Number of comments this week: 12
-
Namespace with metadata.generateName value longer than 63 characters fails to create: This issue addresses a problem in Kubernetes where creating a namespace fails if the
metadata.generateName
field exceeds 63 characters, despite the expectation that Kubernetes would truncate the name to a valid length with a randomized suffix. The user reports that this behavior occurs in Kubernetes versions 1.29 and 1.31, and they expected the namespace to be created successfully with a truncated name.- The comments discuss the requirement for namespace names to be valid DNS labels and the potential bug in the
metadata.generateName
logic. Contributors debate whether the validation should allow longer prefixes before truncation and suffix addition, with some suggesting that the current validation process is complex and not worth changing due to its rarity. Others propose that the validation should ensure prefixes are short enough to avoid truncation, but acknowledge that changing this could break existing functionality. - Number of comments this week: 9
- The comments discuss the requirement for namespace names to be valid DNS labels and the potential bug in the
-
Job backoff delay increases despite ignore action in pod failure policy: This issue addresses a problem in a Kubernetes project where the job backoff delay increases despite having a pod failure policy set to ignore certain pod disruptions. The user expected that with the configured
podFailurePolicy
, pod disruptions would not be treated as job failures and would not increase the backoff delay, allowing new pods to be created immediately on other nodes.- The comments discuss whether the issue is a bug or a feature, with some contributors initially classifying it as a feature but later agreeing it might be a bug due to an omission. There is a consensus that the current behavior is counterintuitive, especially in cases of expected disruptions, and a suggestion is made to introduce a new policy action,
IgnoreNoBackoff
, to address the issue. The topic is planned to be discussed in an upcoming SIG meeting for further input. - Number of comments this week: 8
- The comments discuss whether the issue is a bug or a feature, with some contributors initially classifying it as a feature but later agreeing it might be a bug due to an omission. There is a consensus that the current behavior is counterintuitive, especially in cases of expected disruptions, and a suggestion is made to introduce a new policy action,
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.
- Support endpoint authentication for K8s trace configuration: This issue is about adding support for gRPC authentication in Kubernetes trace configuration, as currently only gRPC format endpoints without authentication are supported. The lack of authentication support is seen as insufficient, and the request is to enable gRPC authentication to enhance security for trace configurations.
- Scheduler: Avoid scheduling pods to nodes where the allocatable resource is insufficient for the pod limit resource: This issue addresses the problem of scheduling pods to nodes where the allocatable resources are insufficient to meet the pod's specified limit resources, which can render the pod's limit resource settings ineffective. It proposes two potential solutions: a soft approach that prefers nodes with sufficient resources and a hard approach that outright rejects nodes lacking the necessary resources, while also questioning whether an in-tree or out-of-tree plugin implementation would be more effective.
- kube-proxy: Inconsistent behaviors about disabling health check server and metrics server: This issue highlights inconsistencies between the documentation and the actual behavior of the kube-proxy component in Kubernetes regarding the disabling of the health check server and metrics server. Specifically, it points out that setting the "--healthz-bind-address" and "--metrics-bind-address" to empty values, which should theoretically disable these servers, does not work as expected, and there are discrepancies in how these configurations are validated and handled in the code. Since there were fewer than 5 open issues, all of the open issues have been listed above.
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: 39
Summarized Issues:
- Notification System for DRA Drivers: This issue involves implementing a notification system for DRA drivers to report when unsupported or unknown fields are dropped during the creation or updating of ResourceSlices. The goal is to allow the driver to adjust its operation mode accordingly when the cluster does not support certain features requested by the driver.
- Scheduler-Perf Tool API Enhancement: This issue is about adding a new API to the scheduler-perf tool to allow users to initialize the target API server before running performance scheduling tests. The current setup does not support direct access to the API server for such initializations, which limits the tool's functionality.
- Benchmark Test Stabilization: This issue focuses on stabilizing benchmark test results by limiting the queries per second (QPS) to reduce high variance in CPU usage. The introduction of streaming responses has caused inconsistent test outcomes, necessitating this change for more precise decision-making.
- IPv6 Zone ID Vulnerability: This issue concerns whether Kubernetes is vulnerable to CVE-2025-22870, which involves improper handling of IPv6 zone IDs in proxy patterns. Discussions include its potential impact and relevance to Kubernetes, with references to specific details in the Go programming language.
- Performance Enhancement for DRA Devices: This issue involves enhancing performance by caching aggregated and consumed devices instead of reconstructing them each time when checking available capacity. This is specifically related to DRA partitionable devices in the Kubernetes project.
- Job Backoff Delay Issue: This issue describes a problem where the job backoff delay increases even when a pod failure policy is set to ignore disruptions. It suggests that a new policy action might be needed to prevent backoff delay in such cases.
- Dynamic Resources Plugin Test Failure: This issue involves a failing unit test related to the
dynamicresources
plugin within the scheduler framework. A panic occurs due to a runtime error caused by an invalid memory address or nil pointer dereference.
- Validating Admission Policy Error: This issue involves a problem with the Kubernetes Validating Admission Policy where using a ConfigMap as a parameter results in an error. The server fails to find the necessary parameters for the policy binding, despite expectations.
- HTTP/3 Probes in Kubernetes: This issue discusses the possibility of using a separate Docker image for probes, highlighting challenges with connecting to a server using HTTP/3. It seeks guidance on integrating a custom-built curl that supports HTTP/3 for Kubernetes probes.
- Rack-Level Topology Awareness: This issue proposes the introduction of a standardized
topology.kubernetes.io/rack
label to enhance rack-level topology awareness. It aims to benefit workloads requiring low-latency or high-throughput by allowing them to be scheduled on the same or nearby racks.
- Persistent Volume Claims Assignment: This issue involves a user attempting to manually assign specific Persistent Volume Claims (PVCs) to each pod in a StatefulSet without using volumeClaimTemplates. Errors occur when trying to patch the PVC references post-creation.
- NetworkPolicy API Discrepancy: This issue highlights a discrepancy in the Kubernetes NetworkPolicy API where the "required" podSelector field is not enforced as mandatory. This allows NetworkPolicies to be created without explicitly setting this field, leading to inconsistencies.
- Pod Hostname FieldRef Requirement: This issue is about the need to specify a pod's hostname as a FieldRef in the PodSpec of a Deployment. The current requirement to explicitly set the hostname limits scalability, forcing the use of StatefulSets instead of Deployments.
- Reflector Event Loss in API Server: This issue involves a problem where the reflector may lose events if the
TransformFromStorage
function fails. This leads to situations where create or update operations onSecrets
are not reflected in the controller runtime client cache.
- Namespace Creation Failure: This issue describes a problem where creating a namespace fails if the
metadata.generateName
field exceeds 63 characters. Kubernetes should truncate the value to a valid length, highlighting a discrepancy between validation and name generation logic.
- CPU Manager Test Failures: This issue involves new end-to-end tests for the Kubernetes CPU Manager on Ubuntu systems, where tests are failing to enforce the CFS quota for containers with static CPUs assigned. It appears to be related to a missing expected log output.
- CronJob Scheduling Enhancement: This issue is about a request to implement a feature that allows scheduling a CronJob on the final day of the month. It addresses the limitations of the current cron scheduling syntax and references a previous request.
- Rootless Network Testing: This issue involves exploring the use of unprivileged network namespaces to enhance rootless network testing in Kubernetes. It aims to complement existing testing methods by creating predefined topologies for complex feature emulation.
- Pod List-Watch Operations Overload: This issue addresses a performance challenge where a large number of Pods performing list-watch operations can overwhelm the APIServer. It proposes introducing a Proxy to manage these requests for large-scale operations.
- DRA API Group Promotion: This issue is about tracking changes for promoting the DRA API group to v1beta2, including flattening the
Device
type structure and renaming fields. Various suggestions and discussions are provided in the comments.
- Emulation Version Printer Modification: This issue pertains to modifying the emulation version printer to display only the major and minor version numbers. The patch version is always set to 0, so it is excluded from the display.
- Pod Rescheduling Optimization: This issue addresses the need for a feature that prevents unnecessary pod rescheduling when a node fails. It proposes introducing a new field to ensure that if a healthy replica exists, the failed pod is not rescheduled.
- Watch Cache Improvement: This issue proposes the removal of the
PrevKV
dependency in the API server when the watch cache is enabled. It aims to improve watch stream capacity and reduce allocations, while acknowledging potential complications.
- CRD Field Type Misrepresentation: This issue describes a problem where fields defined as "int-or-string" in a CRD are incorrectly presented as
<map[string]Object>
. This leads to confusion about the expected data structure and type representation.
- Test Failure in Windows Job: This issue pertains to a failing test in the
pull-kubernetes-e2e-capz-windows-master
job due to misplaced assertions in Linux-only tests. Ginkgo does not allow assertions in container nodes, leading to a panic during test execution.
- HNS Endpoint Creation Failure: This issue involves a problem with the creation of HNS endpoints for Windows containers, which fails when the IP address was previously used by Linux pods. This leads to networking issues within the Windows containers.
- Boskos Resource Manager Issue: This issue pertains to a failing test in the gce-master-scale-performance job due to a problem with the Boskos resource manager. It cannot acquire a project, potentially linked to a recent pull request in the test-infra repository.
- OIDC CA Assignment Enhancement: This issue is about requesting an enhancement to allow the Certificate Authority for OpenID Connect to be assigned via an external file. This improves manageability and provides flexibility in specifying the CA.
- Kubectl Connection Drop Issue: This issue involves a problem with kubectl client versions 1.32.2 and 1.32.3, where attempts to copy files to a pod in a different EKS cluster result in a dropped connection. This problem is not encountered with version 1.28.
- Scheduler Integration Test Challenge: This issue involves running the TestUpdateNominatedNodeName scheduler integration test with the SchedulerPopFromBackoffQ feature enabled. The test depends on a pod remaining in the backoff queue, which is challenging to maintain.
- PreemptionPVs Test Failures: This issue pertains to the failure of the
PreemptionPVs
tests in thescheduler-perf
benchmark due to low scheduling throughput. It suggests that the tests are poorly written rather than there being a bug in the code.
- DeviceTaintRule Defaulting Issue: This issue involves a problem where the defaulting mechanism for the
DeviceTaintRule
object is applied multiple times during object retrieval. This leads to inconsistent object states depending on the timing of the read operation.
- Scheduler Backoff Queue Timing Mismatch: This issue addresses a potential inefficiency in the scheduler where a pod might be unnecessarily delayed in scheduling due to a timing mismatch. Improvements could be made by synchronizing locks or using channels.
- Scheduling Queue Code Improvements: This issue involves proposing improvements to the scheduling queue code, including adding comments to interfaces and restructuring code for better readability. Enhancements to method interfaces and logging practices are also suggested.
- HostNetwork Mode Documentation Error: This issue highlights an error in the API documentation regarding the
hostNetwork
mode for Pods. The documentation incorrectly states that ports must be specified whenhostNetwork
is set to true.
- Cgroup Hierarchy Inconsistency: This issue highlights an inconsistency in the cgroup hierarchy and naming conventions between containerd and CRI-O. Containerd places container cgroups under
system.slice
with a non-standard naming format.
- CEL Validation Execution Order: This issue highlights a problem with the non-deterministic execution order of CEL validations on multiple properties of a CRD. It suggests that sorting the map keys or using a defined order could improve consistency.
- Node Conformance Suite Test Failure: This issue pertains to a failing test in the node conformance suite, where the test querying
/metrics/cadvisor
for container metrics is timing out. It potentially affects tests running on cgroupv1 with the NodeSwap feature.
- ConfigMap SubPath Volume Creation Failure: This issue describes a problem where creating a Pod using ConfigMap SubPath volume fails after upgrading
util-linux
to version2.41
. Errors related to directory creation and mounting operations occur.
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: 12
Summarized Issues:
- Failing Tests in Kubernetes e2e Suite: Several issues in the Kubernetes e2e suite involve failing tests due to various reasons. One issue is related to the sig-storage component where EmptyDir wrapper volumes cause a race condition, preventing pods from entering the running state. Another issue involves the ResourceQuota's volume attributes class scope, where tests fail due to a context deadline exceeded error, which was resolved by a pull request.
- Kubelet Configuration and Node Issues: Problems with kubelet configuration and node scheduling have been identified. The kubelet configuration directory test fails because the merged configuration does not match expectations, possibly due to default setting changes. Additionally, pods on nodes with A100 GPUs remain pending indefinitely until the kubelet is manually restarted, with unclear logs complicating debugging.
- CEL Version Support and gRPC Log Clutter: The CEL version support in Kubernetes is broken, allowing all external libraries regardless of version configuration, which was found during a code review. Excessive gRPC log messages also clutter unit test logs, particularly with connection errors to localhost, suggesting a need for log management improvements.
- Flaking and Failing Tests in Kubernetes: Flaking and failing tests are causing issues in the Kubernetes project. The "TestEviction/update" unit test intermittently fails due to a runtime error involving an invalid memory address. Additionally, most serial and feature tests in CI jobs fail due to a special environment test running by default, requiring filtering adjustments.
- NodeConformance and ImageStorageVolumeEviction Test Failures: The NodeConformance suite faces issues where pods fail to restart with a bad image despite having a restart policy set to "Always." The ImageStorageVolumeEviction test times out due to the absence of MemoryPressure on nodes, and it has been closed as a duplicate of another issue.
- GCE Job Failures Due to fsnotify Watcher Error: Multiple GCE jobs using the Ubuntu OS image fail due to an error in creating an fsnotify watcher, caused by exceeding the limit for
fs.inotify.max_user_instances
. This suggests a need to increase this limit in the kube-up.sh script to prevent such failures.
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: 40
Key Open Pull Requests
1. Add configurable tolerance end-to-end tests: This pull request introduces end-to-end tests for the Horizontal Pod Autoscaler (HPA) configurable tolerances feature in Kubernetes, enhancing the testing framework to ensure the new tolerance field and its associated logic are correctly implemented and validated.
- URL: pull/130957
- Merged: No
- Associated Commits: 40860, c109c, 22feb, b371f, 16929, 5eec1, 32fdc, 67a25, d4dfd, 16d61, 611f2, bd8e3, fbeb6, a2cb4, c0d41, afe0a
2. E2e tests for Partitionable Devices: This pull request introduces end-to-end tests for partitionable devices in the Kubernetes project, including updates to the Dynamic Resource Allocation (DRA) feature gate, API manual changes, allocator updates, and enhancements to the e2e test framework to support advanced ResourceSlices, as detailed in multiple commits by contributors such as cici37 and Morten Torkildsen.
- URL: pull/130927
- Merged: No
3. e2e testing for PreferSameZone/PreferSameNode: This pull request introduces end-to-end tests for the PreferSameZone and PreferSameNode features in Kubernetes, refactoring existing tests to avoid redundancy and adding new tests to ensure comprehensive coverage of scenarios where clients and servers are located in the same zone or node, while also cleaning up and streamlining the TrafficDistribution test logic.
- URL: pull/130945
- Merged: No
Other Open Pull Requests
- Go Version Update: This pull request updates the Go programming language version from 1.24.0 to 1.24.1 in the Kubernetes project to address security fixes. It involves changes to various files such as
Makefile
,vendor/modules.txt
, and others, while ensuring compliance with the project's contribution guidelines.
- Contextual Logging Migration: This pull request aims to enhance the Kubernetes project by migrating the eviction process within the kubelet component to utilize contextual logging. This is part of a cleanup effort to improve code maintainability and address part of the issue tracked in a related GitHub issue.
- StatefulSets Metric Introduction: This pull request introduces a new metric to track violations of the
maxunavailable
feature in StatefulSets. It includes discussions on whether the metric should be implemented within the core Kubernetes codebase or in the kube-state-metrics project.
- REST API Bug Fix: This pull request addresses a bug in the Kubernetes REST API by ensuring that invalid binding requests return a 4xx error instead of a 500 error. It includes a unit test to verify the fix.
- Package Version Bump: This pull request aims to update the Kubernetes project by bumping the version of the
golang.org/x/net
package to v0.37.0 as part of a cleanup effort. It addresses a related issue and includes a fix for narrow spaces of%e
in the process.
- CSI Snapshot Metadata Tests: This pull request introduces end-to-end tests for the CSI Snapshot Metadata functionality, specifically targeting the external-snapshot-metadata sidecar. It validates its integration with the CSI driver and ensures the correctness of metadata retrieval for snapshot backups.
- Code Generation Linting: This pull request introduces a verification script for code generation linting in the Kubernetes project. It aims to improve the readability of validation-gen lint errors and implement these checks in continuous integration.
- Metadata CreationTimestamp Fix: This pull request addresses issue #67610 by ensuring that zero-value
metadata.creationTimestamp
values are omitted and no longer serialized as explicitnull
. It modifies both the main code and test fixtures to drop nullcreationTimestamp
values.
- Documentation Comment Removal: This pull request involves the removal of an inaccurate documentation comment from the
hostNetwork
field in the podspec. It addresses a long-standing issue in the Kubernetes project.
- Declarative Validation Tags Documentation: This pull request introduces a new feature by adding a script to generate documentation for declarative validation tags. It is part of the ongoing effort to enhance Kubernetes as outlined in the related Kubernetes Enhancement Proposal (KEP) 5073.
- Security Hardening Fix: This pull request addresses a security hardening fix related to CVE-2024-40635 in containerd by introducing an additional validation check for valid UID ranges when the
RunAsNonRoot
option is set to true. It is part of efforts to enhance security in the Kubernetes project.
- ARM64 Infrastructure Testing: This pull request involves printing environment variables and copying the 'runc' binary to the '/bin' directory. It is associated with testing the Kubernetes infrastructure on ARM64 architecture using containerd on EC2.
- Instance Metadata Bug Fix: This pull request addresses a bug by ensuring that if the instance metadata contains "additional labels" that are missing or outdated in the node object, these labels will be reapplied. This maintains consistency in the Kubernetes project.
- InPlacePodVerticalScaling Optimization: This pull request aims to optimize the conditions for triggering the syncPod function in the InPlacePodVerticalScaling (IPPVS) feature. It removes the unnecessary watch condition, simplifying the process and addressing an issue where events could be lost.
- StatefulSets Healthy Pod Refinement: This pull request addresses a bug in the Kubernetes project by refining the concept of a healthy pod in StatefulSets to account for the "MinReadySeconds" parameter. It ensures that a pod is only considered healthy after it has been available for the specified minimum duration.
- Kubectl Debug Pod Name Parameter: This pull request introduces a new parameter,
--node-debug-pod-name
, to thekubectl debug
command. It allows users to specify a custom name for the debug pod to prevent the creation of multiple pods with default names during repeated node debugging sessions.
- Node Status Update Feature: This pull request introduces a feature that adds a one-time random interval of up to 50% to the
nodeStatusReportFrequency
after a node status update or kubelet restart. It aims to distribute the node status update load more evenly and prevent CPU spikes.
- API Tagging Cleanup: This pull request proposes a cleanup change to tag API-related changes directly instead of tagging them under "apimachinery". It aims to reduce the time spent on retagging during the api-machinery bug scrub process.
- MutableCSINodeAllocatableCount Test: This pull request introduces an end-to-end test for the new alpha storage feature "MutableCSINodeAllocatableCount" in the Kubernetes project. It ensures that dynamic changes in the allocatable count are correctly observed and verified.
- Unused Function Removal: This pull request involves the removal of the unused function
UncompressLog
and its associated obsolete reference notes from the Kubernetes project. It is part of a cleanup effort to address previously closed issues related to log rotation and disk pressure management.
- Privilege Escalation Error Handling: This pull request introduces a structured error type called PrivilegeEscalationError for handling privilege escalation errors in the ConfirmNoEscalation function. It maintains the previous string formatting for error output while enabling further actions and access to missing v1.PolicyRules.
- SupplementalGroupsPolicy CI Tests: This pull request introduces a feature that enables continuous integration (CI) jobs to execute end-to-end (e2e) tests for the
SupplementalGroupsPolicy
. It ensures that these tests can gracefully skip depending on whether the container runtime interface (CRI) supports the feature or not.
- RS Controller Performance Enhancement: This pull request aims to enhance the performance of the RS Controller by introducing a Daemonset indexer for the PodInformer. It efficiently queries Pods belonging to Daemonsets or Orphans from the InformerCache, improving performance and correctness at scale.
- Windows Test Fix: This pull request addresses a failing test issue on Windows by fixing the "no-assertions-in-container-nodes" error in the Kubernetes project. It specifically targets the end-to-end tests for Windows and is linked to a related issue.
- SeparateDisk Test Tagging: This pull request addresses a bug by adding missing
[Slow]
,[Serial]
, and[Disruptive]
tags to the SeparateDisk tests in the Kubernetes project. It ensures they are only executed in appropriate CI environments.
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: 57
Key Closed Pull Requests
1. DO NOT MERGE: Kubelet PSI testing: This pull request involves testing the Kubelet PSI (Pressure Stall Information) feature by adding an alpha feature gate, defining API metrics, surfacing cadvisor PSI metrics to the summary API and Prometheus, extending the CRI API and stats provider to support PSI, and conducting unit and end-to-end tests, but it is marked as "DO NOT MERGE" to test behavior in presubmits.
- URL: pull/130958
- Merged: No
2. Invoke UpdateContainerResources or trigger container restarts when memory requests are resized: This pull request addresses a bug by ensuring that when memory requests are resized in Kubernetes, the system either invokes the UpdateContainerResources
function or triggers container restarts if the RestartContainer
resize policy is active, to properly update the oom_score_adj
and potentially adjust memory.min
in the future under the memoryQoS
feature-gate, thereby correcting an oversight in the initial implementation.
- URL: pull/130917
- Merged: Yes
3. Port small deltas from validation-gen dev branch to master: This pull request involves porting minor, non-impactful changes from the validation-gen development branch to the master branch of the Kubernetes project, focusing on cleanup tasks such as using test helpers, fixing whitespace and import groupings, and adding comments, as evidenced by the series of commits addressing these specific areas.
- URL: pull/130857
- Merged: Yes
Other Closed Pull Requests
- Pod Resize Error Handling: This pull request introduces a feature to surface errors during pod resize actuation by updating the
PodResizeInProgress
condition. It sets the reason toError
and includes the specific error message, which is cleared upon a new resize request or successful completion ofdoPodResizeActions
.
- Partitionable Devices Feature Gate: This pull request involves implementing a feature gate for partitionable devices in Kubernetes, including API changes and allocator updates. Despite the comprehensive implementation, it was not merged.
- DRA Device Taint Eviction Improvements: This pull request addresses race conditions and reliability issues in the DRA device taint eviction process. It improves error handling and unit test mechanisms while ensuring proper eviction and avoiding nil panic scenarios.
- JWT Authenticator Configuration Bug Fix: This pull request updates the godoc to correct the example claim validation rule expression for
claims.email_verified
. It ensures the expression evaluates to a boolean and includes a unit test for validation.
- Pod-Level Resources Extensibility: This pull request aims to introduce extensibility for pod-level resources support in Kubernetes. However, it remains unmerged with several test commits included.
- Integration Tests for PreferSameZone and PreferSameNode: This pull request introduces integration tests for the PreferSameZone and PreferSameNode features. It enhances the testing framework with additional tests and refactoring to ensure correct handling of EndpointSlice and node hints.
- InPlacePodVerticalScaling Feature Updates: This pull request deprecates the
InPlacePodVerticalScalingAllocatedStatus
feature gate and ensuresAllocatedResources
are included in pod request calculations. It fixes resource accounting inconsistencies between the scheduler and Kubelet.
- InPlacePodVerticalScaling Promotion to Beta: This pull request promotes the
InPlacePodVerticalScaling
feature to beta, enabling the feature gate by default. It also notes that E2E test movements will be addressed separately.
- Ginkgo Labels Update for Feature Gates: This pull request implements the "WithFeatureGate" label proposal by updating Ginkgo labels in the Kubernetes testing framework. It aligns feature gate labels with their corresponding test labels as part of a cleanup effort.
- ClusterRoleBinding Bug Fix for OIDC Discovery: This pull request modifies the
system:service-account-issuer-discovery
ClusterRoleBinding to include thesystem:unauthenticated
group. It allows unauthenticated users to access Kubernetes OIDC discovery endpoints.
- Kubelet Config Test Update for New Feature Gate: This pull request addresses a failing test issue by updating the
kubelet_config_dir_test
for theKubeletServiceAccountTokenForCredentialProviders
feature gate. It resolves discrepancies in expected configurations during node tests.
- Daemonset Indexer for PodInformer: This pull request introduces a Daemonset indexer for the PodInformer to efficiently query Pods belonging to Daemonsets or Orphans. It improves performance and correctness by reducing cache locking and enhancing DaemonSet controller throughput.
- Storage Feature Label Cleanup: This pull request involves a cleanup task that removes an unnecessary storage feature label from end-to-end tests. It is indicated by the commit message and lacks user-facing changes.
- DaemonSet Selector Logic and Test Cases: This pull request removes redundant selector calculation logic and introduces missing test cases for the 'describe DaemonSet' functionality. It ensures the output includes the namespace, which was previously absent.
- TestConsistentList Negative RV Test Case: This pull request extends the test suite by adding a new test case to
TestConsistentList
for negative resource versions during consistent reads. It builds upon previous work in related pull requests.
- Controller Index Logic Refactoring: This pull request refactors the codebase by extracting index logic into a helper function within
controller_utils.go
. It aims to reduce code duplication and improve reusability across controllers.
- Subfunction Split for Additional Subtests: This pull request involves a cleanup task where a subfunction was split to facilitate more subtests. It was successfully merged into the Kubernetes project.
- Delegator.Helper Interface Extraction: This pull request extracts the
delegator.Helper
interface to enable delegation decisions based on cache state. It is necessary for KEP-4988 to determine if the cache has the required snapshot to serve a request.
- End-to-End Test Update for git_repo Volume Plugin: This pull request addresses failing tests related to the
git_repo
volume plugin by updating tests to execute only when the plugin is enabled. It follows its default disablement in a previous update.
- Kube-Build Image Tag Version Alignment: This pull request addresses a version mismatch issue by ensuring the
kube-build
image tag aligns with thekube-cross
image tag. It resolves a problem with incorrect tagging due to a hardcoded value.
- Consistency Check and Log Cleanup: This pull request enables a panic response for a failed consistency check, fixes a typo in logs, and resolves a missing recursive issue. It ensures robustness and prevents potential bugs.
- WinDSR Feature Graduation to Beta: This pull request is about graduating the
WinDSR
feature in kube-proxy to beta status. It enables theWinDSR
feature gate by default and is linked to KEP 5100 for Windows DSR support.
- Pod Resize Prevention with NoSchedule Taint: This pull request proposes a feature to prevent pod resizes when an untolerated
NoSchedule
taint is present. It aims to address issues with third-party controllers using such taints to pause resource changes.
- Alpha Features Verification Function: This pull request introduces
verifyAlphaFeatures
to prevent alpha features from being enabled by default. It updates theverifyOrUpdateFeatureList
function and includes unit tests for proper handling.
- Race Condition Fix in activeQ Management: This pull request addresses a race condition issue when the activeQ is closing while popping from it. It ensures proper management of the
inFlightPods
map, although the race condition is unlikely in real scenarios.
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 |
---|---|---|---|---|
aojea | 17 | 2 | 1 | 42 |
pohly | 23 | 7 | 4 | 28 |
BenTheElder | 9 | 5 | 2 | 45 |
tallclair | 16 | 5 | 0 | 34 |
serathius | 22 | 14 | 3 | 16 |
bart0sh | 4 | 1 | 2 | 33 |
jpbetz | 32 | 0 | 1 | 3 |
liggitt | 5 | 3 | 0 | 28 |
googs1025 | 7 | 3 | 1 | 23 |
natasha41575 | 16 | 1 | 0 | 15 |