jiebi/CodeConvo huggingface dataset:
Change:
} }) <del> It("should set fsGroup for one pod", func() { </del> <ins> It("should set fsGroup for one pod [Slow]", func() { </ins> By("Checking fsGroup is set") pod := createPodWithFsGroupTest(config, testVol, 1234, 1234) By("Deleting pod") framework.DeletePodOrFail(config.client, config.ns, pod.Name) }) <del> It("should set same fsGroup for two pods simultaneously", func() { </del> <ins> It("should set same fsGroup for two pods simultaneously [Slow]", func() { </ins> fsGroup := int64(1234) By("Create first pod and check fsGroup is set") pod1 := createPodWithFsGroupTest(config, testVol, fsGroup, fsGroup)

Discussion:
created a spread sheet of the slowest running tests for the pull-kubernetes-gce job. cc discussion on slack: spreadsheet: pie chart of test durations from SIGs: ! it seems appropriate to evaluate the state of the tests and reduce these runtimes. possibly move tests to periodic by marking them as [Slow]. /assign /kind design /area test (?)
/remove-kind bug
Are pull jobs the right place to be calculating the time? Or should be be counting in CI instead?
pull is the one timing out, so probably?
Looking at some of the top slowness:: subPath should fail for new directories when readOnly specified in the volumeSource: This test case is no longer defined in master HostPathType: This test case has not been checked in yet and is trying to be in a PR PersistentVolumes-local StatefulSet with pod affinity should use volumes spread across nodes when pod has anti-affinity: This test is already marked as slow in master
Created This should address most of the top slow storage tests
Change:
deps = [ "//pkg/api/pod:go_default_library", "//pkg/apis/core:go_default_library", <ins> "//staging/src/k8s.io/api/core/v1:go_default_library", </ins> "//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", ], )

Discussion:
<!-- Please use this template while reporting a bug and provide as much info as possible. Not doing so may result in your bug not being addressed in a timely manner. Thanks! If the matter is security related, please disclose it privately via --What happened: In k8s 1.19.2 If the seccomp annotations of psp doesn't contain , pod with seccomp annotations would not start with error: psp with works psp without doesn't work Is this due to ? What you expected to happen: In k8s 1.18, psp annotations without works. I think in k8s 1.19, it should also work.
/sig auth
/assign I think this was a regression with the seccomp graduation to GA. Since we auto-convert 'docker/default' to the runtime default in fields, but PSPs that only allow 'docker/default' aren't accepting 'runtime/default'. I think the easiest fix is to just add both and to the allowed profiles map whenever either is set (here: ) This will need to be cherry-picked /priority important-soon
I'm happy to work on this one tomorrow if is not tackling the issue earlier :upsidedownface:
Fix is incoming in
Thanks for the quick fix ! Can you open a cherry-pick for v1.19 too? (see )
Forgot to link it, but this is already done: :)
Is there an easy way to check in which version of k8s this fix is applied? Label, milestone, etc? Another question, what might be a workaround without updating cluster?
Find the fix commit and run And there's also a cherry-pick commit: The workaround could be add annotations to your PSPs, take a look at this PR:
Change:
return printTemplate(&rsForRevision.Spec.Template) } if deployment.Spec.Paused { <del> return "", fmt.Errorf("you cannot rollback a paused deployment; resume it first with 'kubectl rollout resume deployment/%s' and try again", name) </del> <ins> return "", fmt.Errorf("you cannot rollback a paused deployment; resume it first with 'kubectl rollout resume' and try again") </ins> } // Skip if the revision already matches current Deployment

Discussion:
when i rollout undo a pause deployment, it prints a command without namespace. Then i copy and run, it failed with a not found error. it should print a command that can be run correctly. kubectl rollout pause a deployment, then kubectl rollout undo it. copy the command in printed message. No response <details25.0 </details<detailsno </details<details</details<details</details<details</details<details</details
This issue is currently awaiting triage. If a SIG or subproject determines this is a relevant issue, they will accept it by applying the label and provide further guidance. The label can be by org members by writing in a comment. <detailsInstructions for interacting with me using PR comments are available . If you have questions or suggestions related to my behavior, please file an issue against the repository. </details
/sig cli
Change:
Time metav1.Time // String detailing the error encountered during Attach or Detach operation. <del> // This string maybe logged, so it should not contain sensitive </del> <ins> // This string may be logged, so it should not contain sensitive </ins> // information. // +optional Message string

Discussion:
This came up as a follow up to Also rather than opening 5 different issues - we are going to use this github issue to track all follow up items mentioned here -
/sig storage
/assign /assign
: PR
and the rest is fixed in
Change:
// Generate a pod name that is unique among nodes by appending the nodeName. func generatePodName(name string, nodeName types.NodeName) string { <del> return fmt.Sprintf("%s-%s", name, nodeName) </del> <ins> return fmt.Sprintf("%s-%s", name, strings.ToLower(string(nodeName))) </ins> } func applyDefaults(pod *api.Pod, source string, isFile bool, nodeName types.NodeName) error {

Discussion:
<!-- This form is for bug reports and feature requests ONLY! If you're looking for help check and the . --Is this a BUG REPORT or FEATURE REQUEST?: What happened: I created a static pod for etcd as following with vsphere as cloud provider: But the hostname is using upper name, and when kubelet start the etcd static pod, it will report error as follows: I think that the vsphere should not return upper case hostname, but only lower case hostname. What you expected to happen: How to reproduce it (as minimally and precisely as possible): Anything else we need to know?: Environment: Kubernetes version (use ): Cloud provider or hardware configuration: OS (e.g. from /etc/os-release): Kernel (e.g. ): Install tools: Others:
/area cloudprovider
Here is a quick
/sig node
Change:
return ssName, instanceID, *(cachedVM.(*compute.VirtualMachineScaleSetVM)), nil } <ins> func (ss *scaleSet) GetProvisioningStateByNodeName(name string) (provisioningState string, err error) { _, _, vm, err := ss.getVmssVM(name) if err != nil { return provisioningState, err } return *vm.ProvisioningState, nil } </ins> // getCachedVirtualMachineByInstanceID gets scaleSetVMInfo from cache. // The node must belong to one of scale sets. func (ss *scaleSet) getVmssVMByInstanceID(resourceGroup, scaleSetName, instanceID string) (vm compute.VirtualMachineScaleSetVM, err error) {

Discussion:
Implement proposal for Azure We should implement interface in Azure cloud provider. returns true if the instance is in stopped state to detach volumes. But if instance is deleted we should not return error. Related features: Related proposal: Related PRs: /kind feature /sig azure /cc
- can you assign me on this one ? I already have a PR in flight.
That's great! /assign just loop in for this RP review, thanks.
GitHub didn't allow me to assign the following users: yastij. Note that only and repo collaborators can be assigned. <detailsIn response to : That's great! /assign just loop in for this RP review, thanks. Instructions for interacting with me using PR comments are available . If you have questions or suggestions related to my behavior, please file an issue against the repository. </details
o, you are not a k8s member yet, anyway, you could send out the PR for this feature, related to this issue, thanks.
Thanks, looking forward to your PR.
Change:
} return nil } <ins> func extractDeviceAndPrefix(mntPath string) (string, string, error) { ind := strings.LastIndex(mntPath, "/") if ind < 0 { return "", "", fmt.Errorf("iscsi detach disk: malformatted mnt path: %s", mntPath) } device := mntPath[(ind + 1):] // strip -lun- from device path ind = strings.LastIndex(device, "-lun-") if ind < 0 { return "", "", fmt.Errorf("iscsi detach disk: malformatted mnt path: %s", mntPath) } prefix := device[:ind] return device, prefix, nil } func extractPortalAndIqn(device string) (string, string, error) { ind1 := strings.Index(device, "-") if ind1 < 0 { return "", "", fmt.Errorf("iscsi detach disk: no portal in %s", device) } portal := device[0:ind1] ind2 := strings.Index(device, "iqn.") if ind2 < 0 { return "", "", fmt.Errorf("iscsi detach disk: no iqn in %s", device) } ind := strings.LastIndex(device, "-lun-") iqn := device[ind2:ind] return portal, iqn, nil } </ins>

Discussion:
During iscsi volume cleanup, kubelet reads from and retrieves a list of device paths where iscsi volume mounts on. The device path was expected to be in the form of . But currently the device path in is in the form of , thus iscsi panicked . I suspect this panic started to happen after switched to use from . seems to always resolve device path (see output below), and thus the expected iscsi configuration in the device path no longer exists.
Change:
cachedNodeNameToInfo map[string]*schedulercache.NodeInfo } <ins> func (f *FakeExtender) Name() string { return "FakeExtender" } </ins> func (f *FakeExtender) IsIgnorable() bool { return f.ignorable }

Discussion:
<!-- Please only use this template for submitting enhancement requests --What would you like to be : In pkg/scheduler/core/generic_scheduler# , add some debug info: each scheduler extender's score and its name for each pod, e.g. And we need add a function(e.g. ) in interface to get extender's name or similar identity. For , it might be enough to return its url . Why is this needed: If there are two or more scheduler extenders configured for scheduler(and we have now), it will be very useful to debug why kubelet nodes get so high/low score. <!-- DO NOT EDIT BELOW THIS LINE --/kind feature
/assign
Reiterating the mentions to trigger a notification: <detailsIn response to : /assign Instructions for interacting with me using PR comments are available . If you have questions or suggestions related to my behavior, please file an issue against the repository. </details
Why don't you send a PR instead?
Thanks. PR is sent. PTAL.
Change:
import ( "errors" <del> "strings" </del> "k8s.io/apimachinery/pkg/runtime/schema" utilerrors "k8s.io/apimachinery/pkg/util/errors"

Discussion:
<!-- This form is for bug reports and feature requests ONLY! If you're looking for help check and the . --Is this a BUG REPORT or FEATURE REQUEST?: What happened: I've created a CRD with the name . There is no validation specified on the CRD object. Creating the CRD itself succeeds, but attempting to create CRD resources with of that type fails with a validation error. What you expected to happen: I expect to be able to create CRD resources of type without a validation error. How to reproduce it (as minimally and precisely as possible): A normal working CRD example, : Applying this succeeds as expected: Simply changing the name of the CRD kind to breaks however, : CRD creates, but the actual resource fails validation: If you supply the object does create correctly. Anything else we need to know?: Environment: Kubernetes version (use ):Cloud provider or hardware configuration: Digitalocean VM cluster OS (e.g. from /etc/os-release): Server (Ubuntu 14.04.5) Client (Ubuntu 16.04.4) Kernel (e.g. ): Server (4.4.0-111-generic) Client (4.13.0-38-generic) Install tools: Others:
/sig api-machinery /area custom-resources
is a special suffix for name. When you create a object using , which will be render as instead of plain . That's why error occurs due to missing item list.
This sounds like a bug in , not a thing that should be "fixed" by restricting names.
I think the magic suffix is somewhat unexpected, but in the case that it doesn't change -- I would expect a warning or error when creating a CRD with that name. As for this specific behavior, I would consider it a bug -- there's no indication that the kubectl validation is against a different than the one explicitly specified in the resource, and confusingly disabling validation causes the operation to succeed normally (creating the explicitly defined resource , regardless of magic suffix).
cc
cc
PTAL . It is a kubectl bug.
Thanks! Fix works for me
Change:
ctx, cancel := getContextWithCancel() defer cancel() <ins> if _, ok := c.common.diskAttachDetachMap.Load(strings.ToLower(diskURI)); ok { return fmt.Errorf("failed to delete disk(%s) since it's in attaching or detaching state", diskURI) } </ins> _, err = c.common.cloud.DisksClient.Delete(ctx, resourceGroup, diskName) if err != nil { return err

Discussion:
<!-- Please use this template while reporting a bug and provide as much info as possible. Not doing so may result in your bug not being addressed in a timely manner. Thanks! If the matter is security related, please disclose it privately via --What happened: We found that cloud provider tries to attach a disk, it totally costs 121s in the end one minute(disk still in being detaching state), azure cloud provider tries to delete that disk and it succeeded 121s, attach disk operation succeeded and finally azure vm has attached one non-existing disk What you expected to happen: should not delete an azure disk when that disk is being attached How to reproduce it (as minimally and precisely as possible): Anything else we need to know?: The difficulty here is when a disk is being attached or detached, the disk state is still "unattached", would be the reason why delete disk at that time would succeed: Azure disk RP would have two options to fix this issue: a new disk state: , disk delete operation when disk is being attached or detached Otherwise on azure provider(client) side, we cannot know whether that disk is being attached or detached since the second delete disk operation is done after 1 min Environment: Kubernetes version (use ): Cloud provider or hardware configuration: OS (e.g: ): Kernel (e.g. ): Install tools: Network plugin and version (if this is a network-related bug): Others: /kind bug /assign /priority important-soon /sig cloud-provider /area provider/azure
Change:
CSIVolumeHealth: {Default: false, PreRelease: featuregate.Alpha}, <del> CSRDuration: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.26 </del> ContainerCheckpoint: {Default: false, PreRelease: featuregate.Alpha}, ControllerManagerLeaderMigration: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.26

Discussion:
Remove the "CSRDuration" feature gate starting in Kube v1.26. PR proposes that the CertificateSigningRequest's Spec.ExpirationSeconds field be promoted to GA in v1.24. It was originally introduced as beta in v1.22 with a corresponding feature gate called "CSRDuration" to optionally disable it (see PR ). If PR is merged and included in v1.24, then in v1.26 the "CSRDuration" feature gate should be removed. See also where a member of SIG-auth asked me to create this issue.
/sig auth
/triage accepted /milestone v1.26
Is this task a ? I would like to be assign to it.
The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules: After 90d of inactivity, is applied After 30d of inactivity since was applied, is applied After 30d of inactivity since was applied, the issue is closed You can: Mark this issue or PR as fresh with Mark this issue or PR as rotten with Close this issue or PR with Offer to help out with [Issue Triage][1] Please send feedback to sig-contributor-experience at . /lifecycle stale [1]:
/remove-lifecycle stale
I'd like to work on this! /assign
Fixed it here:
Change:
<del> 2.46 </del> <ins> 2.47 </ins>

Discussion:
agnhost was updated to v2.46 in: However, is failing: . exporting to image exporting layers exporting layers 2.9s done exporting manifest sha256:db8e9d1930d4799d474ea9228d4957d54053c107e10385d77021ef44f567fc69 done exporting config sha256:037153f61da4211d6ec5f00f694639ce15a0bbebf12fa5c86eea059fc3c0b07c done exporting attestation manifest sha256:744b616c276ff7f6518476765c2457e0b2664225ef798ce7e93874450807310b exporting attestation manifest sha256:744b616c276ff7f6518476765c2457e0b2664225ef798ce7e93874450807310b 0.0s done exporting manifest list sha256:29bf785c1a8338d5f7a8be8cae8a2435b94370eecbaa586a61e08454095940cb done pushing layers pushing layers 5.9s done pushing manifest for pushing manifest for 4.3s done DONE 13.2s /workspace/test/images /workspace/test/images/agnhost /workspace/test/images is a manifest list make: * [Makefile:43: all-build-and-push] Error 1 ERROR ERROR: build step 0 "" failed: step exited with non-zero status: 2
2024/02/13 15:34:04 Failed to run some build jobs: [error running [gcloud builds submit --verbosity info --config --substitutions PULLBASEREF=master,PULLBASESHA=,WHAT=agnhost,GITTAG=v20240213-v1.30.0-alpha.

1-173-gc3b2295c3a --project k8s-staging-e2e-test-images --gcs-log-dir gs://k8s-staging-e2e-test-images-gcb/logs --gcs-source-staging-dir gs://k8s-staging-e2e-test-images-gcb/source gs://k8s-staging-e2e-test-images-gcb/source/-7566-469c-a5a0-]: exit status 1] N/A 2024-02-14 No response No response_ /sig testing
This issue is currently awaiting triage. If a SIG or subproject determines this is a relevant issue, they will accept it by applying the label and provide further guidance. The label can be by org members by writing in a comment. <detailsInstructions for interacting with me using PR comments are available . If you have questions or suggestions related to my behavior, please file an issue against the repository. </details
PR:
Change:
} } if !podResized { <del> return </del> <ins> return pod </ins> } kl.podResizeMutex.Lock() defer kl.podResizeMutex.Unlock() fit, updatedPod, resizeStatus := kl.canResizePod(pod) <ins> if updatedPod == nil { return pod } </ins> if fit { // Update pod resource allocation checkpoint if err := kl.statusManager.SetPodAllocation(updatedPod); err != nil { //TODO(vinaykul,InPlacePodVerticalScaling): Can we recover from this in some way? Investigate <del> klog.ErrorS(err, "SetPodAllocation failed", "pod", klog.KObj(pod)) </del> <ins> klog.ErrorS(err, "SetPodAllocation failed", "pod", klog.KObj(updatedPod)) return pod </ins> } <del> *pod = *updatedPod </del> } if resizeStatus != "" { // Save resize decision to checkpoint <del> if err := kl.statusManager.SetPodResizeStatus(pod.UID, resizeStatus); err != nil { </del> <ins> if err := kl.statusManager.SetPodResizeStatus(updatedPod.UID, resizeStatus); err != nil { </ins> //TODO(vinaykul,InPlacePodVerticalScaling): Can we recover from this in some way? Investigate <del> klog.ErrorS(err, "SetPodResizeStatus failed", "pod", klog.KObj(pod)) </del> <ins> klog.ErrorS(err, "SetPodResizeStatus failed", "pod", klog.KObj(updatedPod)) return pod </ins> } <del> pod.Status.Resize = resizeStatus </del> <ins> updatedPod.Status.Resize = resizeStatus </ins> } <del> kl.podManager.UpdatePod(pod) kl.statusManager.SetPodStatus(pod, pod.Status) return </del> <ins> kl.podManager.UpdatePod(updatedPod) kl.statusManager.SetPodStatus(updatedPod, updatedPod.Status) return updatedPod </ins> } // LatestLoopEntryTime returns the last time in the sync loop monitor.

Discussion:
mutates the pod object in place (vs creating a copy first). That's illegal and can cause data races or potentially panics (the panic is unlikely here but I can't rule it out). This line should be: This should be fixed because we might serialize the object in the middle of this from somewhere else and if the object changes midway the protobuf object we create may not be valid, leading to panics in kubelets with this gate turned on. /sig node /priority critical-urgent /kind bug /assign No mutation of pod objects from within methods (in fact no mutation of should occur in most loops). N/A No response <details</details<details</details<details</details<details</details<details</details<details</details
This issue is currently awaiting triage. If a SIG or subproject determines this is a relevant issue, they will accept it by applying the label and provide further guidance. The label can be by org members by writing in a comment. <detailsInstructions for interacting with me using PR comments are available . If you have questions or suggestions related to my behavior, please file an issue against the repository. </details
ACK. I'll fix it shortly.
is similar. is my try for both data races that we found.
One small , thanks.
Please review
This Issue/PR has been marked as release blocker. Please have the fix merged by eod today otherwise the feature has to be reverted. For the Issue/PR owner: please have a revert/feature disable PR open today in case the fix failed to get in. Thank you! See the -- Kubernetes 1.27 release manager
Change:
if action.GetSubresource() == "" { err = tracker.Create(gvr, action.GetObject(), ns) } else { <del> // TODO: Currently we're handling subresource creation as an update // on the enclosing resource. This works for some subresources but // might not be generic enough. err = tracker.Update(gvr, action.GetObject(), ns) </del> <ins> oldObj, getOldObjErr := tracker.Get(gvr, ns, objMeta.GetName()) if getOldObjErr != nil { return true, nil, getOldObjErr } // Check whether the existing historical object type is the same as the current operation object type that needs to be updated, and if it is the same, perform the update operation. if reflect.TypeOf(oldObj) == reflect.TypeOf(action.GetObject()) { // TODO: Currently we're handling subresource creation as an update // on the enclosing resource. This works for some subresources but // might not be generic enough. err = tracker.Update(gvr, action.GetObject(), ns) } else { // If the historical object type is different from the current object type, need to make sure we return the object submitted,don't persist the submitted object in the tracker. return true, action.GetObject(), nil } </ins> } if err != nil { return true, nil, err

Discussion:
After I evicted an pod, I performed the operation of the full list instance, but found something that did not meet expectations After pods are evicted, non-evicted ones can be listed normally No response <details</detailsv1.20.0 <details</details<details</details<details</details<details</details<details</details
/sig node
/sig api-machinery /remove-sig node
/remove-sig api-machinery
/assign since you are tagged on the PR. Thanks! /triage accepted
/sig testing
If you have time, please help to look at this pr, thanks
this is a general issue with subresources that accept create requests of different object types than the parent resource see also:
Change:
{ ObjectMeta: metav1.ObjectMeta{ Name:              "192.168.2.2", <del> CreationTimestamp: metav1.Time{Time: time.Now().AddDate(-10, 0, 0)}, </del> <ins> CreationTimestamp: metav1.Time{}, </ins> }, Spec: networking.IPAddressSpec{ ParentRef: &networking.ParentReference{

Discussion:
and also v1.27-1.29 TestPrintIPAddressList After 03-01 the leap day caused the failure /sig cli network
This issue is currently awaiting triage. If a SIG or subproject determines this is a relevant issue, they will accept it by applying the label and provide further guidance. The label can be by org members by writing in a comment. <detailsInstructions for interacting with me using PR comments are available . If you have questions or suggestions related to my behavior, please file an issue against the repository. </details