jiebi/CodeConvo huggingface dataset:
Change:
claim := obj.(*v1.PersistentVolumeClaim) reactor.DeleteClaimEvent(claim) // wait until claim is cleared from cache, i.e., deleteClaim is called <del> for len(ctrl.claims.ListKeys()) > 0 { time.Sleep(10 * time.Millisecond) </del> <ins> err := wait.Poll(10*time.Millisecond, wait.ForeverTestTimeout, func() (bool, error) { return len(ctrl.claims.ListKeys()) == 0, nil }) if err != nil { return err </ins> } // make sure the operation timestamp cache is NOT empty if !ctrl.operationTimestamps.Has("volume5-6") {

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: There are some places in that wait for conditions . We should update all the places to set something like /help /good-first-issue
This request has been marked as suitable for new contributors. Please ensure the request meets the requirements listed . If this request no longer meets these requirements, the label can be removed by commenting with the command. <detailsIn response to : <!-- 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! --What happened: There are some places in that wait for conditions . We should update all the places to set something like /good-first-issue 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
/kind cleanup /remove-kind bug
I can try to fix this :) /assign
/sig storage
Change:
"fmt" "net" "path" <del> "runtime" </del> kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" "k8s.io/kubernetes/cmd/kubeadm/app/images"

Discussion:
Right now we create 3 daemonsets for in , but will only give use image names for , so this feature is broken. We should only deploy one daemon set for the native architecture, but ensure it has the right label selectors, so we don't try to run pods on nodes of different architecture. We should also make sure all addons have architecture labels, and not just . If user is building heterogeneous clusters, the will need to take about deploying addons for additional architectures, we shouldn't pre-deploy multiple things knowing that they will most likely remain unschedulable.
I have the same issue as well. I tried to create a cluster with x86 (Intel NUC) and arm (Raspberry-Pi) and I see that the kube-proxy is crashing. Here's the log entry from kube-proxy Logs from kube-proxy exec user process caused "exec format error" Attached is the kube-proxy yaml file. I see that its picking up arm image Don't know how to fix this.
Change:
stopCh := make(chan struct{}) go podInformer.Run(stopCh) <ins> // wait for the podInformer to observe the pod, otherwise the rc manager // will try to create a new pod rather than adopting the existing one. if err := wait.Poll(10*time.Second, 60*time.Second, func() (bool, error) { objects := podInformer.GetIndexer().List() for _, object := range objects { pod, ok := object.(*api.Pod) if !ok { t.Fatal("expect object to be a pod") } if pod.Name == podName { return true, nil } } return false, nil }); err != nil { t.Fatal(err) } </ins> go rm.Run(5, stopCh) if err := wait.Poll(10*time.Second, 60*time.Second, func() (bool, error) { updatedPod, err := podClient.Get(pod.Name)

Discussion:
https://k8s- Failed: TestAdoption {integration}
https://k8s- Failed: TestAdoption {integration}
https://k8s- Failed: TestAdoption {integration}
https://k8s- Failed: TestAdoption {integration}
The problem is that the rc manager hasn't observed pod1, so it creates another pod and scales down, pod1 might get deleted. I'm working on the fix.
Change:
func main() { flag.Parse() if len(flag.Args()) < 1 { <del> fmt.Fprintf(os.Stderr, "USAGE: %s <DIR or FILE> [...]n", os.Args[0]) </del> <ins> fmt.Fprintf(os.Stderr, "USAGE: %s <DIR or FILE or '-'> [...]n", os.Args[0]) </ins> os.Exit(64) } stableMetrics := []metric{} errors := []error{} <ins> addStdin := false </ins> for _, arg := range flag.Args() { <ins> if arg == "-" { addStdin = true continue } </ins> ms, es := searchPathForStableMetrics(arg) stableMetrics = append(stableMetrics, ms...) errors = append(errors, es...) } <ins> if addStdin { scanner := bufio.NewScanner(os.Stdin) scanner.Split(bufio.ScanLines) for scanner.Scan() { arg := scanner.Text() ms, es := searchPathForStableMetrics(arg) stableMetrics = append(stableMetrics, ms...) errors = append(errors, es...) } } </ins> for _, err := range errors { fmt.Fprintf(os.Stderr, "%sn", err) }

Discussion:
/assign /cc /sig instrumentation
GitHub didn't allow me to assign the following users: serathius. Note that only , repo collaborators and people who have commented on this issue/PR can be assigned. Additionally, issues/PRs can only have 10 assignees at the same time. For more information please see <detailsIn response to : /assign /cc /sig instrumentation 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
Hey Looks like this test is passing on testgrid, https://k8s- Which would point to problem being related to specific environment. From your log looks like problem is specific to Macs. I will try to reproduce it to confirm it. My current ideas for solution are: Disabling test on Mac Instead of passing files as arguments, pass them in STDIN WDYT?
FWIW ARG_MAX can technically vary even on linux ...? STDIN SGTM
Change:
ec.InvalidateCachedPredicateItem(nodeName, invalidPredicates) } <del> // getHashEquivalencePod returns the hash of equivalence pod. // 1. equivalenceHash // 2. if equivalence hash is valid func (ec *EquivalenceCache) getHashEquivalencePod(pod *v1.Pod) (uint64, bool) { </del> <ins> // equivalenceClassInfo holds equivalence hash which is used for checking equivalence cache. // We will pass this to podFitsOnNode to ensure equivalence hash is only calculated per schedule. type equivalenceClassInfo struct { // Equivalence hash. hash uint64 } // getEquivalenceClassInfo returns the equivalence class of given pod. func (ec *EquivalenceCache) getEquivalenceClassInfo(pod *v1.Pod) *equivalenceClassInfo { </ins> equivalencePod := ec.getEquivalencePod(pod) if equivalencePod != nil { hash := fnv.New32a() hashutil.DeepHashObject(hash, equivalencePod) <del> return uint64(hash.Sum32()), true </del> <ins> return &equivalenceClassInfo{ hash: uint64(hash.Sum32()), } </ins> } <del> return 0, false </del> <ins> return nil </ins> }

Discussion:
<!-- This form is for bug reports and feature requests ONLY! If you're looking for help check and the . --Today, . This seems unnecessary and should be done once for all the nodes. Is this a BUG REPORT or FEATURE REQUEST?: /kind enhancement /sig scheduling cc:
/assign Thanks, will send fix per slack discussion.
/cc
Change:
if m.adapter.cgroupManagerType == libcontainerSystemd { updateSystemdCgroupInfo(libcontainerCgroupConfig, cgroupConfig.Name) } else { <del> if libcontainercgroups.IsCgroup2UnifiedMode() { libcontainerCgroupConfig.Path = m.buildCgroupUnifiedPath(cgroupConfig.Name) } else { libcontainerCgroupConfig.Path = cgroupConfig.Name.ToCgroupfs() } </del> <ins> libcontainerCgroupConfig.Path = cgroupConfig.Name.ToCgroupfs() </ins> } manager, err := m.adapter.newManager(libcontainerCgroupConfig, cgroupPaths)

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: is created on a cgroup2 host What you expected to happen: Such directory should not be created How to reproduce it (as minimally and precisely as possible): Boot Ubuntu 20.04 with Install moby/moby with containerd/containerd and opencontainers/runc Install kubernetes-sigs/kind . This version uses as the base image. Run with Run Run to drop into the shell of the node The following directories are unexpectedly created. (No process seems to belong to these groups actually) Environment: (See above)
cc
/sig node
Change:
<ins> // +build !providerless </ins> /* Copyright 2018 The Kubernetes Authors.

Discussion:
make verify WHAT=typecheck-providerless outputs /cc /milestone v1.19
There are no sig labels on this issue. Please add an appropriate label by using one of the following commands: - Please see the for a listing of the SIGs, working groups, and committees available. <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
see example successful run:
For reference -
fix in
screaming
Change:
// implementing this brute force approach instead of fancy channel notification to avoid test specific code in prod. // wait for config to be observed <del> verifyIfKMSTransformersSwapped(t, wantPrefixForSecrets, test) </del> <ins> verifyIfKMSTransformersSwapped(t, wantPrefixForSecrets, "", test) </ins> // run storage migration // get secrets

Discussion:
transformation expandless | 14m1s Failed; === RUN TestEncryptionConfigHotReload TestEncryptionConfigHotReload When I see this flake, 10-09 is the first one.(But the job history in the testgrid only started from 10-03) some PR that may be related: /sig auth /cc
/cc
/triage accepted
/cc failed two times in recent 3 runs:
/reopen as of this is still .
Reopened this issue. <detailsIn response to : /reopen 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
Change:
workingSetStats[host][0], workingSetStats[host][len(workingSetStats[host])/2], workingSetStats[host][len(workingSetStats[host])-1]) } framework.Logf("Node-Problem-Detector CPU and Memory Stats:nt%snt%snt%s", cpuStatsMsg, rssStatsMsg, workingSetStatsMsg) <ins> ginkgo.By("Check node-problem-detector can post conditions and events to API server") for _, node := range nodes { ginkgo.By(fmt.Sprintf("Check node-problem-detector posted KernelDeadlock condition on node %q", node.Name)) gomega.Eventually(ctx, func() error { return verifyNodeCondition(ctx, f, "KernelDeadlock", v1.ConditionTrue, "DockerHung", node.Name) }, pollTimeout, pollInterval).Should(gomega.Succeed()) ginkgo.By(fmt.Sprintf("Check node-problem-detector posted DockerHung event on node %q", node.Name)) eventListOptions := metav1.ListOptions{FieldSelector: fields.Set{"involvedObject.kind": "Node"}.AsSelector().String()} gomega.Eventually(ctx, func(ctx context.Context) error { return verifyEvents(ctx, f, eventListOptions, 1, "DockerHung", node.Name) }, pollTimeout, pollInterval).Should(gomega.Succeed()) if checkForKubeletStart { // Node problem detector reports kubelet start events automatically starting from NPD v0.7.0+. // Since Kubelet may be restarted for a few times after node is booted. We just check the event // is detected, but do not check how many times Kubelet is started. // // Some test suites run for hours and KubeletStart event will already be cleaned up ginkgo.By(fmt.Sprintf("Check node-problem-detector posted KubeletStart event on node %q", node.Name)) gomega.Eventually(ctx, func(ctx context.Context) error { return verifyEventExists(ctx, f, eventListOptions, "KubeletStart", node.Name) }, pollTimeout, pollInterval).Should(gomega.Succeed()) } else { ginkgo.By("KubeletStart event will NOT be checked") } } </ins> }) })

Discussion:
/kind failing-test <!-- If this is a flake, please add: /kind flake --/sig node
needs containerd 1.7.14 in the COS image - specifically
Thanks, I missed that. Checking the logs from i noticed that container is destroyed ! I see also from kernel logs that docker is blocked for 120second ( around the same time the container is destroyed ) Could it be that Docker Hung should be moved to be last in the test to avoid deleting a container?
/assign
/cc
Looking at the in job name initially I thought this job runs alpha features, so they might have forgotten to disable feature. But it seems this has already taken care -
/triage accepted
Change:
"testing" "code.google.com/p/go.net/websocket" <ins> "github.com/GoogleCloudPlatform/kubernetes/pkg/api" </ins> "github.com/GoogleCloudPlatform/kubernetes/pkg/runtime" "github.com/GoogleCloudPlatform/kubernetes/pkg/watch" )

Discussion:
is always using the cross namespace context. This needs to be fixed to support scoped watches.
Change:
ret=0 run-checks "${KUBE_ROOT}/hack/verify-*.sh" bash <del> run-checks "${KUBE_ROOT}/hack/verify-*.py" python </del> <ins> run-checks "${KUBE_ROOT}/hack/verify-*.py" python3 </ins> missing-target-checks if [[ ${ret} -eq 1 ]]; then

Discussion:
<!-- Please only use this template for submitting reports about continuously failing tests or jobs in Kubernetes CI --Which jobs are failing: pull-kubernetes-verify Which test(s) are failing: publishing-bot Since when has it been failing: 07-31 12:23 PDT Testgrid link: Reason for failure: missing pyyaml module Anything else we need to know: Running case: verify.publishing-bot +++ working dir: +++ command: python "hack/make-rules/../../hack/verify-publishing-" Please install missing pyyaml module and re-run hack/make-rules/../../hack/verify-publishing- +++ exit code: 1 +++ error: 1
/sig testing
due to python3 bump in test-infra kubekins; being reverted in
Resolved by test-infra revert
Change:
// allocate hugepages if *is2MiHugepagesSupported { <del> err := configureHugePages(hugepagesSize2M, 256) framework.ExpectNoError(err) </del> <ins> hugepagesCount := 256 ginkgo.By("Configuring hugepages") gomega.Eventually(func() error { if err := configureHugePages(hugepagesSize2M, hugepagesCount); err != nil { return err } return nil }, 30*time.Second, framework.Poll).Should(gomega.BeNil()) ginkgo.By("restarting kubelet to pick up pre-allocated hugepages") // stop the kubelet and wait until the server will restart it automatically stopKubelet() // wait until the kubelet health check will fail gomega.Eventually(func() bool { return kubeletHealthCheck(kubeletHealthCheckURL) }, time.Minute, time.Second).Should(gomega.BeFalse()) // wait until the kubelet health check will pass gomega.Eventually(func() bool { return kubeletHealthCheck(kubeletHealthCheckURL) }, 2*time.Minute, 10*time.Second).Should(gomega.BeTrue()) ginkgo.By("Waiting for hugepages resource to become available on the local node") gomega.Eventually(func() error { node, err := f.ClientSet.CoreV1().Nodes().Get(context.TODO(), framework.TestContext.NodeName, metav1.GetOptions{}) if err != nil { return err } capacity, ok := node.Status.Capacity[v1.ResourceName(hugepagesResourceName2Mi)] if !ok { return fmt.Errorf("the node does not have the resource %s", hugepagesResourceName2Mi) } size, succeed := capacity.AsInt64() if !succeed { return fmt.Errorf("failed to convert quantity to int64") } // 512 Mb, the expected size in bytes expectedSize := int64(hugepagesCount * hugepagesSize2M * 1024) if size != expectedSize { return fmt.Errorf("the actual size %d is different from the expected one %d", size, expectedSize) } return nil }, time.Minute, framework.Poll).Should(gomega.BeNil()) </ins> } // get the old kubelet config

Discussion:
<!-- Please only use this template for submitting reports about continuously failing tests or jobs in Kubernetes CI --e2e-memory-manager Different tests under the memory manager lane The node does not have configured hugepages
/sig node
/assign
/triage accepted
Change:
framework.ExpectEqual(rcStatus.Status.ReadyReplicas, int32(0), "ReplicationControllerStatus's readyReplicas does not equal 0") ginkgo.By("waiting for RC to be modified") eventFound = false <del> ctx, cancel = context.WithTimeout(context.Background(), 30*time.Second) </del> <ins> ctx, cancel = context.WithTimeout(context.Background(), 60*time.Second) </ins> defer cancel() _, err = watchUntilWithoutRetry(ctx, retryWatcher, func(watchEvent watch.Event) (bool, error) { if watchEvent.Type != watch.Modified {

Discussion:
<!-- Please only use this template for submitting reports about continuously failing tests or jobs in Kubernetes CI --Which jobs are failing: - Triage link for more jobs that are affected: Which test(s) are failing: Since when has it been failing: Since October 23 Testgrid link: Reason for failure: Anything else we need to know: Example spyglass link: /sig apps /cc /priority important-soon
/cc missed this in the main body
/assign /triage accepted
/remove-priority important-soon /priority critical-urgent top flake for pull-kubernetes-conformance-kind-ipv6-parallel, 2nd top flake for per /area conformance this is a conformance test /remove-kind failing-test /kind flake this is not failing continuously, but is instead flaking
/assign
I increased the timeout while waiting for available Replicas.
Test grid green since Merge 5 Nov 2020 /cc
Change:
deps = [ "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", <ins> "//staging/src/k8s.io/apimachinery/pkg/util/uuid:go_default_library", </ins> "//staging/src/k8s.io/csi-translation-lib/plugins:go_default_library", ], )

Discussion:
Minimal Repro: Create 2 different disks Create 2 Pods each using one of the disks Start both pods on the same node You will notice one of the disks gets ed to a path: , then both disks are ed from to a target path: which is similar but at least uses the pod . Both of these volumes are being treated as the same volume in the Kubelet even though they are definitely not the same volume. Note: it may not be "treated" as the same volume - it may just be that since the paths are the same the following volumes see that the path is already a mountpoint and skip the step. This is the more likely scenario based on observations. The value is the "name" of the inline-volume. These can obviously be the same across different pods - we should actually be placing it in a more unique directory (based off the translated maybe?). /cc
/sig storage
The inline volume example I'm using (ignore the fact that is a complete misnomer): I've confirmed that changing the "name" makes inline volumes work well since there is no longer a collision on the paths
/assign
Alright, problem is sort of twofold: The referred to above for inline-volumes is set here: As we can see from the comment: it is set to the because the in-tree CSI Plugin makes a lot of naming assumptions based on the which for PVC/PVs is the PV name (unique in a cluster). Primarily, during unmount the CSI Plugin tries to from a "well known ": which happens to be some path based on the which for the inline volume is just the ( above). So we run into the problem that if we use the directory is not sufficiently unique for different disks. And if we use something else like then the unmount pathway is unable to find the . I think using is a no-go. So we need to use something sufficiently unique (like ) for the ( above) and fix up some of the other codepaths to either use different "well-known paths" to write to, or to fix up path generation code so they give us the correct locations. I'm also going to check to see whether 's refactor fixes this issue (because it might since it translates things earlier)
OK. Really good news.

your refactor in its current state actually fixes this issue if we set the to something unique here: Looks like the early translation is also making the pathway from the "correct" dir for inline migration. So I will create a PR that fixes this issue that should merge after
Change:
existingNamespace.Status.Phase = api.NamespaceTerminating } <del> // Remove orphan finalizer if options.OrphanDependents = false. if options.OrphanDependents != nil && *options.OrphanDependents == false { // remove Orphan finalizer. </del> <ins> // the current finalizers which are on namespace currentFinalizers := map[string]bool{} for _, f := range existingNamespace.Finalizers { currentFinalizers[f] = true } // the finalizers we should ensure on namespace shouldHaveFinalizers := map[string]bool{ metav1.FinalizerOrphanDependents: shouldHaveOrphanFinalizer(options, currentFinalizers[metav1.FinalizerOrphanDependents]), metav1.FinalizerDeleteDependents: shouldHaveDeleteDependentsFinalizer(options, currentFinalizers[metav1.FinalizerDeleteDependents]), } // determine whether there are changes changeNeeded := false for finalizer, shouldHave := range shouldHaveFinalizers { changeNeeded = currentFinalizers[finalizer] != shouldHave || changeNeeded if shouldHave { currentFinalizers[finalizer] = true } else { delete(currentFinalizers, finalizer) } } // make the changes if needed if changeNeeded { </ins> newFinalizers := []string{} <del> for i := range existingNamespace.ObjectMeta.Finalizers { finalizer := existingNamespace.ObjectMeta.Finalizers[i] if string(finalizer) != metav1.FinalizerOrphanDependents { newFinalizers = append(newFinalizers, finalizer) } </del> <ins> for f := range currentFinalizers { newFinalizers = append(newFinalizers, f) </ins> } <del> existingNamespace.ObjectMeta.Finalizers = newFinalizers </del> <ins> existingNamespace.Finalizers = newFinalizers </ins> } return existingNamespace, nil }),

Discussion:
What happened: I created a namespace with finalizer, and then tried to delete it: The namespace can be deleted, and the finalizer is removed by garbage collection controller: What you expected to happen: Since kubectl species , it is not an orphaning operation, the finalizer should be removed in namespace store. How to reproduce it (as minimally and precisely as possible): Same as what I observed: a namespace. finalizer. . Anything else we need to know?: Environment: Kubernetes version (use ): HEAD
/sig api-machinery
cc
Discussion on slack:
Change:
# Configure kubelet to run as a windows service. flags+=" --windows-service=true" <del> # TODO(mtaufen): Configure logging for kubelet running as a service. I haven't # been able to figure out how to direct stdout/stderr into log files when # configuring it to run via sc.exe, so we just manually override logging # config here. flags+=" --log-file=${WINDOWS_LOGS_DIR}kubelet.log" # klog sets this to true internally, so need to override to false so we # actually log to the file flags+=" --logtostderr=false" </del> # Configure the file path for host dns configuration flags+=" --resolv-conf=${WINDOWS_CNI_DIR}hostdns.conf"

Discussion:
/kind feature Hey, in K8s 1.23 we are planning to deprecate multiple klog flags. Deprecated flags: , , , , , , , , , , , One of the alpha milestones is requires us to remove usage of deprecated flags within K8s repo. Examples found for windows [ ] [ ] /sig windows /wg structured-logging
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 I've started looking into this. Part of the problem is that go-runner is not part of kubernetes-node-windows- I suspect that is where the scripts get and kube- from.