jiebi/CodeConvo huggingface dataset:
Change:
On the document, the operator should be 'Exists' ! But in the Error message, it becomes 'Exist' ! the error message should be create a yaml and apply it It's my first time, I am not sure should we change to ? <details</details<detailsK3S </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 apps
/assign
/assign

Discussion:
case core.ResourceQuotaScopeBestEffort, core.ResourceQuotaScopeNotBestEffort, core.ResourceQuotaScopeTerminating, core.ResourceQuotaScopeNotTerminating, core.ResourceQuotaScopeCrossNamespacePodAffinity: if req.Operator != core.ScopeSelectorOpExists { allErrs = append(allErrs, field.Invalid(fldPath.Child("operator"), req.Operator, <del> "must be 'Exist' when scope is any of ResourceQuotaScopeTerminating, ResourceQuotaScopeNotTerminating, ResourceQuotaScopeBestEffort, ResourceQuotaScopeNotBestEffort or ResourceQuotaScopeCrossNamespacePodAffinity")) </del> <ins> "must be 'Exists' when scope is any of ResourceQuotaScopeTerminating, ResourceQuotaScopeNotTerminating, ResourceQuotaScopeBestEffort, ResourceQuotaScopeNotBestEffort or ResourceQuotaScopeCrossNamespacePodAffinity")) </ins> } }

}, "invalid-cross-namespace-affinity": { rq:        core.ResourceQuota{ObjectMeta: metav1.ObjectMeta{Name: "abc", Namespace: "foo"}, Spec: invalidCrossNamespaceAffinitySpec}, <del> errDetail: "must be 'Exist' when scope is any of ResourceQuotaScopeTerminating, ResourceQuotaScopeNotTerminating, ResourceQuotaScopeBestEffort, ResourceQuotaScopeNotBestEffort or ResourceQuotaScopeCrossNamespacePodAffinity", </del> <ins> errDetail: "must be 'Exists' when scope is any of ResourceQuotaScopeTerminating, ResourceQuotaScopeNotTerminating, ResourceQuotaScopeBestEffort, ResourceQuotaScopeNotBestEffort or ResourceQuotaScopeCrossNamespacePodAffinity", </ins> }, } for name, tc := range testCases {
Change:
ci-kubernetes-integration-master --- FAIL: TestMultiWebhookAuthzConfig (9.23s) (03-20) I cannot search for previous flake. updated recently /sig auth /cc
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
Updated the description, the actual cause of the flake is an unexpected change in the file reload timestamp metric
interestingly, doesn't show any failures of this test for this reason (there are a few failures on a PR that broke a bunch of integration tests for a different reason)
Fix open in , switched the file write to an atomic write
No flake after 03-29. Thanks.

Discussion:
dir := t.TempDir() configFileName := filepath.Join(dir, "config.yaml") <del> if err := os.WriteFile(configFileName, []byte(` </del> <ins> if err := atomicWriteFile(configFileName, []byte(` </ins> apiVersion: apiserver.config.k8s.io/v1alpha1 kind: AuthorizationConfiguration authorizers:

} configFileName := filepath.Join(dir, "config.yaml") <del> if err := os.WriteFile(configFileName, []byte(` </del> <ins> if err := atomicWriteFile(configFileName, []byte(` </ins> apiVersion: apiserver.config.k8s.io/v1alpha1 kind: AuthorizationConfiguration authorizers:

} // write bogus file <del> if err := os.WriteFile(configFileName, []byte(`apiVersion: apiserver.config.k8s.io`), os.FileMode(0644)); err != nil { </del> <ins> if err := atomicWriteFile(configFileName, []byte(`apiVersion: apiserver.config.k8s.io`), os.FileMode(0644)); err != nil { </ins> t.Fatal(err) }

} // write good config with different webhook <del> if err := os.WriteFile(configFileName, []byte(` </del> <ins> if err := atomicWriteFile(configFileName, []byte(` </ins> apiVersion: apiserver.config.k8s.io/v1beta1 kind: AuthorizationConfiguration authorizers:

} return &m, nil } <ins> func atomicWriteFile(name string, data []byte, perm os.FileMode) error { tmp := name + ".tmp" if err := os.WriteFile(tmp, data, perm); err != nil { return err } return os.Rename(tmp, name) } </ins>
Change:
The script encounters an error when executed on Mac OS X because the option is not supported. The error message appears as follows: I expected the script to execute successfully. Execute the command on macOS. No response <details</details<details</details<details</details<details</details<details</details<details</details
/sig testing
/triage accepted
/priority backlog

Discussion:
case "$tree" in w/-text) # Only binary files have a size limit. <del> size="$(stat --printf=%s "$file")" </del> <ins> size="$(wc -c < "$file")" </ins> if [ "${size}" -gt "$maxsize" ] && ! kube::util::array_contains "$file" "${allowlist[@]}"; then echo    "$file is too large ($size bytes)"
Change:
The function removeMissingExtendedResources() located at , is designed to remove any extended resources from a container’s requests that are not found in nodeInfo.Allocatable before the pod is admitted. This is necessary to support cluster-level resources, which are extended resources that are unknown to nodes. However, this function only removes missingExtendedResources from the container’s requests, and does not process the requests of initContainers. This could lead to issues, as initContainers might request resources that do not exist on the node, which could result in the pod failing to be admitted or other unforeseen issues. As such, it may be necessary to refine the removeMissingExtendedResources() function to also handle initContainer’s requests. Refine the removeMissingExtendedResources() function to also handle initContainer’s requests. Create a pod that requests cluster-level extended resources in both the container and InitContainer. No response The problem persists in the latest version. <details</details<details</details<details</details<details</details
/sig node
/triage accepted /priority important-longterm

Discussion:
} func removeMissingExtendedResources(pod *v1.Pod, nodeInfo *schedulerframework.NodeInfo) *v1.Pod { <del> podCopy := pod.DeepCopy() for i, c := range pod.Spec.Containers { // We only handle requests in Requests but not Limits because the // PodFitsResources predicate, to which the result pod will be passed, // does not use Limits. podCopy.Spec.Containers[i].Resources.Requests = make(v1.ResourceList) for rName, rQuant := range c.Resources.Requests { if v1helper.IsExtendedResourceName(rName) { if _, found := nodeInfo.Allocatable.ScalarResources[rName]; !found { continue </del> <ins> filterExtendedResources := func(containers []v1.Container) { for i, c := range containers { // We only handle requests in Requests but not Limits because the // PodFitsResources predicate, to which the result pod will be passed, // does not use Limits. filteredResources := make(v1.ResourceList) for rName, rQuant := range c.Resources.Requests { if v1helper.IsExtendedResourceName(rName) { if _, found := nodeInfo.Allocatable.ScalarResources[rName]; !found { continue } </ins> } <ins> filteredResources[rName] = rQuant </ins> } <del> podCopy.Spec.Containers[i].Resources.Requests[rName] = rQuant </del> <ins> containers[i].Resources.Requests = filteredResources </ins> } } <ins> podCopy := pod.DeepCopy() filterExtendedResources(podCopy.Spec.Containers) filterExtendedResources(podCopy.Spec.InitContainers) </ins> return podCopy }

}, }, }, <ins> InitContainers: []v1.Container{ { Resources: v1.ResourceRequirements{ Requests: requests, Limits:   limits, }, }, }, </ins> }, } }
Change:
The test image currently uses as its BASEIMAGE: Per , v3.12 reached end of support on 2022-05-01 and is no longer receiving regular bugfixes or security fixes. Current versions of the image appear vulnerable to known CVEs as a result. I don't know if a fix is quite as simple as just The image's base should be an in-support version which is maintained with at least security fixes. No response <details</details<details</details<details</details<details</details<details</details<details</details
/sig testing
is like that, but then there are 2 additional steps the changes the image that has been built with the postsubmit job the repo to use the new image More detail in If you want to try, please make sure you are going to follow up with all the steps, you can see other promotions PRs too /help
This request has been marked as needing help from a contributor. Please ensure that the issue body includes answers to the following questions: Why are we solving this issue? To address this issue, are there any code changes? If there are code changes, what needs to be done in the code and what places can the assignee treat as reference points? Does this issue have zero to low barrier of entry? How can the assignee reach out to you for help? For more details on the requirements of such an issue, please see and ensure that they are met. If this request no longer meets these requirements, the label can be removed by commenting with the command. <detailsIn response to : is like that, but then there are 2 additional steps promote the image that has been built with the postsubmit job update the repo to use the new image </details
Thank you for this information! Is the manual and of images described in that same document something that you would consider a prerequisite for a proposed change like this? Or is it safe to assume that the automated PR test bucket(s) would provide sufficient test coverage?
I always trust the CI system
Good enough for me! Leading off with
/triage accepted

Discussion:
<del> linux/amd64=alpine:3.12 linux/arm=arm32v6/alpine:3.12 linux/arm64=arm64v8/alpine:3.12 linux/ppc64le=ppc64le/alpine:3.12 linux/s390x=s390x/alpine:3.12 </del> <ins> linux/amd64=alpine:3.16 linux/arm=arm32v6/alpine:3.16 linux/arm64=arm64v8/alpine:3.16 linux/ppc64le=ppc64le/alpine:3.16 linux/s390x=s390x/alpine:3.16 </ins> windows/amd64/1809=REGISTRY/busybox:1.29-2-windows-amd64-1809 windows/amd64/ltsc2022=REGISTRY/busybox:1.29-2-windows-amd64-ltsc2022

<del> 2.50 </del> <ins> 2.51 </ins>
Change:
pull-kubernetes-unit dynamicresources unknown multiple failures in tests as seen in n/a /sig scheduling
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
probably cc
/assign
DeepCopy missing here:

Discussion:
"time" "github.com/google/go-cmp/cmp" <ins> "github.com/google/go-cmp/cmp/cmpopts" </ins> "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require"

} } sortObjects(wantObjects) <del> stripObjects(wantObjects) stripObjects(objects) </del> // Sometimes assert strips the diff too much, let's do it ourselves... <del> if diff := cmp.Diff(wantObjects, objects); diff != "" { </del> <ins> if diff := cmp.Diff(wantObjects, objects, cmpopts.IgnoreFields(metav1.ObjectMeta{}, "UID", "ResourceVersion")); diff != "" { </ins> t.Errorf("Stored objects are different (- expected, + actual):n%s", diff) }

expectAssumedClaims = append(expectAssumedClaims, expected.assumedClaim) } actualAssumedClaims := tc.listAssumedClaims() <del> assert.Equal(t, expectAssumedClaims, actualAssumedClaims, "assumed claims") </del> <ins> if diff := cmp.Diff(expectAssumedClaims, actualAssumedClaims, cmpopts.IgnoreFields(metav1.ObjectMeta{}, "UID", "ResourceVersion")); diff != "" { t.Errorf("Assumed claims are different (- expected, + actual):n%s", diff) } </ins> var expectInFlightClaims []metav1.Object if expected.inFlightClaim != nil { expectInFlightClaims = append(expectInFlightClaims, expected.inFlightClaim) } actualInFlightClaims := tc.listInFlightClaims() <del> assert.Equal(t, expectInFlightClaims, actualInFlightClaims, "in-flight claims") } // setGVK is implemented by metav1.TypeMeta and thus all API objects, in // contrast to metav1.Type, which is not (?!) implemented. type setGVK interface { SetGroupVersionKind(gvk schema.GroupVersionKind) } // stripObjects removes certain fields (Kind, APIVersion, etc.) which are not // important and might not be set. func stripObjects(objects []metav1.Object) { for _, obj := range objects { obj.SetResourceVersion("") obj.SetUID("") if objType, ok := obj.(setGVK); ok { objType.SetGroupVersionKind(schema.GroupVersionKind{}) } </del> <ins> if diff := cmp.Diff(expectInFlightClaims, actualInFlightClaims, cmpopts.IgnoreFields(metav1.ObjectMeta{}, "UID", "ResourceVersion")); diff != "" { t.Errorf("In-flight claims are different (- expected, + actual):n%s", diff) </ins> } }

} } sortObjects(assumedClaims) <del> stripObjects(assumedClaims) </del> return assumedClaims }

return true }) sortObjects(inFlightClaims) <del> stripObjects(inFlightClaims) </del> return inFlightClaims }
Change:
Failed error: Since migration to containerd 1.7.x No response The expected cpu usage is set to 0.5, but the actual cpu usage could be around 0.52-0.6, hence exceeding the limit more than the threshold of 5%. /sig windows
The label(s) cannot be applied, because the repository doesn't have them. <detailsIn response to : /sig sig-windows 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
/sig windows
cc:
/triage accepted I've reached out to some folks to see if the variance in the job limit is expected.
Jobs can potentially exceed the limit for a variety of reasons. If they do they get put into a deficit, so over time they would appear to be at the correct limit. Since we run for a short period of time we this is likely what we bumping into a scenario where the job happen to go over the limit. I would be in favor of softening the in this case since it appears we are just slightly over it occasionally. We can add a comment in the code that mention that it will even out over time.
Hi thank you for agreeing to soften the 5% check. Just check in to see the timeline for getting the limit updated? If needed, I can help with making the changes in a PR.
if you want to take a go at make this update, it would be appreciated!
/assign

Discussion:
gomega.Expect(pod.Status.Phase).To(gomega.Equal(v1.PodRunning)) allPods = append(allPods, pod) } <del> ginkgo.By("Ensuring cpu doesn't exceed limit by >5%") </del> <ins> ginkgo.By("Ensuring cpu doesn't exceed limit by >8%") </ins> for _, p := range allPods { ginkgo.By("Gathering node summary stats") nodeStats, err := e2ekubelet.GetStatsSummary(ctx, f.ClientSet, p.Spec.NodeName)

if cpuUsage <= 0 { framework.Failf("Pod %s/%s reported usage is %v, but it should be greater than 0", p.Namespace, p.Name, cpuUsage) } <del> if cpuUsage >= .5*1.05 { framework.Failf("Pod %s/%s reported usage is %v, but it should not exceed limit by > 5%%", p.Namespace, p.Name, cpuUsage) </del> <ins> // Jobs can potentially exceed the limit for a variety of reasons on Windows. // Softening the limit margin to 8% and allow a occasional overload. // https://github.com/kubernetes/kubernetes/issues/124643 if cpuUsage >= .8*1.05 { framework.Failf("Pod %s/%s reported usage is %v, but it should not exceed limit by > 8%%", p.Namespace, p.Name, cpuUsage) </ins> } } })
Change:
Multiple, for example: Since See above The test tolerations are now to strict: No response /sig node
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
cc
I think it's from if you check the cri-o versions the succeessful one was and the failing was
Working on a fix in
cc
/reopen need to bump in kube as well to fully get the fix
Reopened this issue. <detailsIn response to : /reopen </details

Discussion:
} } <del> func (i *indexedWatchers) terminateAll() { </del> <ins> func (i *indexedWatchers) terminateAll(objectType reflect.Type) { if len(i.allWatchers) > 0 || len(i.valueWatchers) > 0 { glog.Warningf("Terminating all watchers from cacher %v", objectType) } </ins> i.allWatchers.terminateAll() for index, watchers := range i.valueWatchers { watchers.terminateAll()

} func (c *Cacher) terminateAllWatchers() { <del> glog.Warningf("Terminating all watchers from cacher %v", c.objectType) </del> c.Lock() defer c.Unlock() <del> c.watchers.terminateAll() </del> <ins> c.watchers.terminateAll(c.objectType) </ins> } func (c *Cacher) isStopped() bool {
Change:
E2eNode Suite: [It] [sig-node] [NodeConformance] Containers Lifecycle when a pod is terminating because its liveness probe fails should execute readiness probe while in preStop, but not liveness [NodeConformance] Has been flaking sinc Testcase addition in It has been constantly failing in our internal CI on /sig node
^^
this is strange, I don't understand why the hook is never executed... is it a matter of waiting more for this to happen? What's the performance of these ppc runners?
On our ppc node it seems to a OOM error. I see the container related to testcase being killed with OOM message. request you to point me out if there is any memory requirement to run the e2e-node suite. Also, is there anything related to this particular test that consumes more memory?
Interesting... not that I knew. These are small containers using BusyBox images, I don't think we can do much smaller than that. Do you have memory pressure on the node? Because we don't set any resource limit on our Pods. Maybe we should try to reduce the env variable?
I shall try reducing the as you suggested. But, the test fails with OOM messages even when run alone (not as part of the complete suite)
Any clue on why we are experiencing OOM error only for this testcase? I am trying to compare pod spec to see if this is defined differently.
I don't think we have anything special in the Pod spec... I might try to replicate exactly one test that works.
cc
I think this is still failing. /reopen
Reopened this issue. <detailsIn response to : I think this is still failing. 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
A short preStop hook period looks like an issue. I'll post a PR.
/assign /triage accepted
can we close this?
Yes, I think so as there is no failure recently. /close
Closing this issue. <detailsIn response to : can we close this? /close 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

Discussion:
v1.ResourceMemory: resource.MustParse("15Mi"), }, Limits: v1.ResourceList{ <del> v1.ResourceMemory: resource.MustParse("15Mi"), </del> <ins> v1.ResourceMemory: resource.MustParse("35Mi"), </ins> }, }
Change:
While debugging I discovered that setting causes @ (recent master branch commit) to fail on cleanup at the end. This doesn't happen if you don't set . It's not immediately apparent why those are related. This make target should not fail on a clean branch with no diff. set GOTOOLCHAIN to some valid go version and then run /sig testing release /triage accepted n/a Linux. ~Debian. But this is happening inside our build container. n/a docker 20.10.21 n/a
I would guess: we wind up downloading go underneath the tempdir we setup for the script and then there's some non-writeable go toolchain download cache there, or something like that.
That is indeed the case. Go toolchains are downloaded into and the folder is write protected. I will send in a fix. /assign

Discussion:
--filter='+ /vendor/'  --filter='+ /staging/***/Godeps/**'  --filter='+ /_output/dockerized/bin/**'  <ins> --filter='- /_output/dockerized/go/**'  </ins> --filter='+ zz_generated.*'  --filter='+ generated.proto'  --filter='+ *.pb.go'
Change:
master-informing: ci-crio-cgroupv1-node-e2e-conformanceE2eNode Suite.[It] [sig-node] Swap [LinuxOnly] [NodeFeature:NodeSwap] [NodeConformance] with configuration QOS Best-effort E2eNode Suite.[It] [sig-node] Swap [LinuxOnly] [NodeFeature:NodeSwap] [NodeConformance] with configuration QOS Burstable E2eNode Suite.[It] [sig-node] Swap [LinuxOnly] [NodeFeature:NodeSwap] [NodeConformance] with configuration QOS Burstable with memory request equals to limit E2eNode Suite.[It] [sig-node] Swap [LinuxOnly] [NodeFeature:NodeSwap] [NodeConformance] with configuration QOS Guaranteed After was merged No response /sig node
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
/assign
/cc

Discussion:
import ( "context" "fmt" <del> "k8s.io/kubernetes/pkg/apis/core/v1/helper/qos" "k8s.io/kubernetes/pkg/kubelet/apis/config" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" "k8s.io/kubernetes/test/e2e/nodefeature" imageutils "k8s.io/kubernetes/test/utils/image" </del> "math/big" "path/filepath" "strconv" "strings" "time" <ins> "k8s.io/kubernetes/pkg/apis/core/v1/helper/qos" "k8s.io/kubernetes/pkg/kubelet/apis/config" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" "k8s.io/kubernetes/test/e2e/nodefeature" imageutils "k8s.io/kubernetes/test/utils/image" </ins> "github.com/onsi/ginkgo/v2" "github.com/onsi/gomega" v1 "k8s.io/api/core/v1"

pod := getSwapTestPod(f, qosClass, memoryRequestEqualLimit) pod = runPodAndWaitUntilScheduled(f, pod) <del> gomega.Expect(isPodCgroupV2(f, pod)).To(gomega.BeTrueBecause("cgroup v2 is required for swap")) </del> <ins> if !isPodCgroupV2(f, pod) { e2eskipper.Skipf("swap tests require cgroup v2") } </ins> gomega.Expect(getSwapBehavior()).To(gomega.Or(gomega.Equal(types.NoSwap), gomega.BeEmpty()), "NodeConformance is expected to run with NoSwap") expectNoSwap(f, pod)

pod := getSwapTestPod(f, qosClass, memoryRequestEqualLimit) pod = runPodAndWaitUntilScheduled(f, pod) <del> gomega.Expect(isPodCgroupV2(f, pod)).To(gomega.BeTrueBecause("cgroup v2 is required for swap")) </del> <ins> if !isPodCgroupV2(f, pod) { e2eskipper.Skipf("swap tests require cgroup v2") } </ins> gomega.Expect(getSwapBehavior()).To(gomega.Equal(types.LimitedSwap)) expectedSwapLimit := calcSwapForBurstablePod(f, pod)

sleepingPod := getSleepingPod(f.Namespace.Name) sleepingPod = runPodAndWaitUntilScheduled(f, sleepingPod) <del> gomega.Expect(isPodCgroupV2(f, sleepingPod)).To(gomega.BeTrueBecause("node uses cgroup v1")) </del> <ins> if !isPodCgroupV2(f, sleepingPod) { e2eskipper.Skipf("swap tests require cgroup v2") } </ins> nodeName = sleepingPod.Spec.NodeName gomega.Expect(nodeName).ToNot(gomega.BeEmpty(), "node name is empty")