-
Notifications
You must be signed in to change notification settings - Fork 125
[WIP] k8s 1.31 #2001
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] k8s 1.31 #2001
Conversation
…ments typo: delete useless comments
Fix non-semantic apply requests to ignore empty maps
Add field management support to fake client-go typed client
improve loadbalancer IPMode testing
This is structurally compatible with the JSON behavior.
Fix func name typo
Update opentelemetry dependencies to the latest release.
During the debugging of kubernetes#123468 it became quite evident there are unexpected pods, leftovers from the container_manager_test. But we need stronger isolation among test to have good signal, so we add these safeguards (xref: kubernetes#123468 (comment) ) Signed-off-by: Francesco Romani <[email protected]>
…questWatchProgress is disabled
…-status Continue streaming kubelet logs when runtime is unavailable
…ent-read-from-cache-supports-pagination apiserver/storage/cacher: consistent read from cache supports limit
Signed-off-by: Davanum Srinivas <[email protected]>
Technically an approver for cmd/kubeadm, so for this OWNERS file there should be emeritus approver status.
This is a basic implementation of a first-in-first-out queue with unbounded size. It's useful for cases where a channel with fixed size might deadlock. The caller is responsible for locking.
Step simplifies using WithStep because it creates a local scope where the same tCtx variable is the one with the step name.
This enables using the assume cache for cluster events.
This enables connecting the event handler for ResourceClaim to the assume cache, which addresses a theoretic race condition. It may also be useful for implementing the autoscaler support, because now the autoscaler can modify the content of the cache.
This finishes the transition to the assume cache as source of truth for the current set of claims. The tests have to be adapted. It's not enough anymore to directly put objects into the informer store because that doesn't change the assume cache content. Instead, normal Create/Update calls and waiting for the cache update are needed.
e2e_kubeadm: move chendave to emeritus
Signed-off-by: likakuli <[email protected]>
format.Object adds some white space in front of the value and a type identifier in angle brackets. Both is distracting when printing simple values and can be avoided by picking fmt.Sprintf for those types, plus trimming the result of format.Object. Before: allocator.go:483: I0625 15:35:31.946980] Allocating one device currentClaim= <int>: 0 totalClaims= <int>: 1 currentRequest= <int>: 0 totalRequestsPerClaim= <int>: 1 currentDevice= <int>: 0 devicesPerRequest= <int>: 1 allDevices= <bool>: false adminAccess= <bool>: false After: allocator.go:483: I0625 15:35:04.371441] Allocating one device currentClaim=0 totalClaims=1 currentRequest=0 totalRequestsPerClaim=1 currentDevice=0 devicesPerRequest=1 allDevices=false adminAccess=false
Dropping the error that is returned by allocateOne hides the reason *why* allocation failed. Including the UID is "too much information" for an error message (usually the user doesn't care about the exact identity, just the name) and the claim name can and will be added by the caller. Before: controller.go:373: E0625 16:04:12.140953] test-driver.cdi.k8s.io/resource controller: processing failed err="claim test-dramq9jv-resource-h72pg: failed allocating claim 8551afba-3c9a-4a8a-8633-6fad6c4b9e42" key="schedulingCtx:test/test-dramq9jv" event.go:377: I0625 16:04:12.141031] test-driver.cdi.k8s.io/resource controller: Event(v1.ObjectReference{Kind:"PodSchedulingContext", Namespace:"test", Name:"test-dra65gfw", UID:"6be9ba57-31da-4fef-b61d-b0468d71afcf", APIVersion:"resource.k8s.io/v1alpha3", ResourceVersion:"197", FieldPath:""}): type: 'Warning' reason: 'Failed' claim test-dra65gfw-resource-zpzrj: failed allocating claim f98a32e1-ab7d-4b34-a258-6d8224aa9006 After: controller.go:373: E0625 16:02:54.248059] test-driver.cdi.k8s.io/resource controller: processing failed err="claim test-dram98ll-resource-nvsbj: device selectors are not supported" key="schedulingCtx:test/test-dram98ll" event.go:377: I0625 16:02:54.248163] test-driver.cdi.k8s.io/resource controller: Event(v1.ObjectReference{Kind:"PodSchedulingContext", Namespace:"test", Name:"test-dratpt77", UID:"24010402-b026-4fe4-a535-e1dab69db8c0", APIVersion:"resource.k8s.io/v1alpha3", ResourceVersion:"298", FieldPath:""}): type: 'Warning' reason: 'Failed' claim test-dratpt77-resource-vlgrv: device selectors are not supported
The logging was fairly complete about *not* doing something, but the actual ResourceClaim creation was not logged.
…DIDevices-update-GA-milestone features: update milestone for DevicePluginCDIDevices
…-enhance enhanced the docker build documentation for readability and clarity
Signed-off-by: Stefan Büringer [email protected]
Adding a new mutation plugin that handles the following: 1. In case of `workload.openshift.io/enable-shared-cpus` request, it adds an annotation to hint runtime about the request. runtime is not aware of extended resources, hence we need the annotation. 2. It validates the pod's QoS class and return an error if it's not a guaranteed QoS class 3. It validates that no more than a single resource is being request. 4. It validates that the pod deployed in a namespace that has mixedcpus workloads allowed annotation. For more information see - openshift/enhancements#1396 Signed-off-by: Talor Itzhak <[email protected]> UPSTREAM: <carry>: Update management webhook pod admission logic Updating the logic for pod admission to allow a pod creation with workload partitioning annotations to be run in a namespace that has no workload allow annoations. The pod will be stripped of its workload annotations and treated as if it were normal, a warning annoation will be placed to note the behavior on the pod. Signed-off-by: ehila <[email protected]> UPSTREAM: <carry>: add support for cpu limits into management workloads Added support to allow workload partitioning to use the CPU limits for a container, to allow the runtime to make better decisions around workload cpu quotas we are passing down the cpu limit as part of the cpulimit value in the annotation. CRI-O will take that information and calculate the quota per node. This should support situations where workloads might have different cpu period overrides assigned. Updated kubelet for static pods and the admission webhook for regular to support cpu limits. Updated unit test to reflect changes. Signed-off-by: ehila <[email protected]>
…ject openshift feature gates into pkg/features Signed-off-by: Swarup Ghosh <[email protected]>
…olumn The logic is not exressible via JSONPath. Hence, if we want this, we have to help a little with this custom column writer. OpenShift-Rebase-Source: 633a422
- we tie the shutdown events with the UID of the first (shutdown initiated), this provides us with a more deterministic way to compute shutdown duration from these events - move code snippets from the upstream file to openshift specific patch file, it reduces chance of code conflict Note for rebase: squash it into the following commit cfbb6d6 UPSTREAM: <carry>: create termination events
PersistentVolumeLabel admission plugin is being disabled in OCP 4.16. Skip all tests that require it.
…provided-node-ip annotation
The node.status.addresses logic grew organically and with weird semantics, this commit try to document existing semantics when the kubelet uses an external cloud provider and recover the same behavior existing pre-1.29. The node.status.addresses can be populated by the kubelet at startup or delegated to the external cloud provider. If the --node-ip flag is set to an IP in the node, the kubelet will add an annotation to the Node object that will be respected by the external cloud providers, no new IP addresses will be added for the same address type. If the IP set in the --node-ip flag is `0.0.0.0` or `::`, the kubelet will initialize the node with the default address of the corresponding IP family of the unspecified address, and the cloud-provider will override it later.
Remove PersistentVolumeLabel admission plugin from the default list of enabled admissions. The plugin is deprecated upstream and most of its functionality was removed in 1.29 and 1.30. This is continuation of openshift/cluster-kube-apiserver-operator#1693, the admission is enabled on multiple places.
…- revert This reverts commit 79b249c.
Skipping CI for Draft Pull Request. |
/test unit |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: soltysh The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
@soltysh: The following test failed, say
Full PR test history. Your PR dashboard. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
No description provided.