jiebi/CodeConvo huggingface dataset:
Change:
Which jobs are failing: Which test(s) are failing: [sig-scheduling] SchedulerPredicates [Serial] validates that NodeSelector is respected if matching [Conformance] [sig-scheduling] SchedulerPredicates [Serial] validates that NodeSelector is respected if not matching [Conformance] [sig-scheduling] SchedulerPredicates [Serial] validates that there exists conflict between pods with same hostPort and protocol but one using 0.0.0.0 hostIP [Conformance] [sig-scheduling] SchedulerPredicates [Serial] validates that there is no conflict between pods with same hostPort but different hostIP and protocol [Conformance] [sig-scheduling] SchedulerPreemption [Serial] PreemptionExecutionPath runs ReplicaSets to verify preemption running path [Conformance] [sig-scheduling] SchedulerPreemption [Serial] validates basic preemption works [Conformance] [sig-scheduling] SchedulerPreemption [Serial] validates lower priority pod preemption by critical pod [Conformance] Since when has it been failing: Testgrid link: Reason for failure: Test Panicked (0x0, 0xc001406da8, 0x1, 0x1, 0x0) +0x78 () +0x4e2 (0xc000e79e60) +0x35b (0xc000e79e60) +0x2b testing.tRunner(0xc000e79e60, 0x4c616e0) +0xdc created by testing.(*T).Run +0x357 Anything else we need to know: /sig scheduling /cc /priority critical-urgent /milestone v1.19
/retitle [Failing test] Conformance - GCE- master (ci-kubernetes-gce-conformance-latest) I am landing a fix for this now /assign
Thanks !

Discussion:
var localStorageVersion = utilversion.MustParseSemantic("v1.8.0-beta.0") <del> // variable set in BeforeEach, never modified afterwards var workerNodes sets.String </del> <ins> // variable populated in BeforeEach, never modified afterwards var workerNodes = sets.String{} </ins> type pausePodConfig struct { Name                              string
Change:
What happened: While trying to setup a outside of the cluster, I had a panic as follow: What you expected to happen: Produce an error message as my configuration lacks some options. How to reproduce it (as minimally and precisely as possible): Anything else we need to know?: Environment: Kubernetes version (use ): 1.18.4 Cloud provider or hardware configuration: Azure Others: --cloud-config= The panics come from because we exit as we're not in this case as the is just defaulted-initialised by the caller to here: and effectively assigned afterwards
/sig cloud-provider
/area provider/azure
cc
thanks for reporting the issue and filing the PR to fix it

Discussion:
// No credentials provided, useInstanceMetadata should be enabled for Kubelet. // TODO(feiskyer): print different error message for Kubelet and controller-manager, as they're // requiring different credential settings. <del> if !config.UseInstanceMetadata && az.Config.CloudConfigType == cloudConfigTypeFile { </del> <ins> if !config.UseInstanceMetadata && config.CloudConfigType == cloudConfigTypeFile { </ins> return fmt.Errorf("useInstanceMetadata must be enabled without Azure credentials") }

AzureAuthConfig: auth.AzureAuthConfig{ Cloud: "AZUREPUBLICCLOUD", }, <ins> CloudConfigType: cloudConfigTypeFile, </ins> } <del> az.Config.CloudConfigType = cloudConfigTypeFile </del> err = az.InitializeCloudFromConfig(&config, false) expectedErr = fmt.Errorf("useInstanceMetadata must be enabled without Azure credentials") assert.Equal(t, expectedErr, err)
Change:
<!-- Please only use this template for submitting reports about continuously failing tests or jobs in Kubernetes CI --Which jobs are failing: Which test(s) are failing: Since when has it been failing: Testgrid link: Reason for failure: Anything else we need to know: /sig cluster-lifecycle /cc /priority critical-urgent /milestone v1.19

Discussion:
} pod := api.Pod{ JSONBase: api.JSONBase{ <del> ID: fmt.Sprintf("%x", rand.Int()), </del> <ins> ID: fmt.Sprintf("%08x", rand.Uint32()), </ins> }, DesiredState: controllerSpec.DesiredState.PodTemplate.DesiredState, Labels:       controllerSpec.DesiredState.PodTemplate.Labels,

// Creates a name which can be reversed to identify both manifest id and container name. func manifestAndContainerToDockerName(manifest *api.ContainerManifest, container *api.Container) string { // Note, manifest.Id could be blank. <del> return fmt.Sprintf("%s--%s--%s--%x", containerNamePrefix, escapeDash(container.Name), escapeDash(manifest.Id), rand.Uint32()) </del> <ins> return fmt.Sprintf("%s--%s--%s--%08x", containerNamePrefix, escapeDash(container.Name), escapeDash(manifest.Id), rand.Uint32()) </ins> } // Upacks a container name, returning the manifest id and container name we would have used to
Change:
<!-- 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: After the test ASG min/max were reset to the desired node count. What you expected to happen: Min/Max shouldn't be reset, desired should. How to reproduce it (as minimally and precisely as possible): Run this command twice: Anything else we need to know?: Environment: Kubernetes version (use ): Cloud provider or hardware configuration: AWS OS (e.g: ): Kernel (e.g. ): Install tools: Network plugin and version (if this is a network-related bug): Others:
/assign ellis-tarn
GitHub didn't allow me to assign the following users: ellis-tarn. 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 ellis-tarn 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 autoscaling

Discussion:
func ResizeInstanceGroup(asg ASG, instanceGroupName string, size int) error { request := &autoscaling.UpdateAutoScalingGroupInput{ AutoScalingGroupName: aws.String(instanceGroupName), <del> MinSize:              aws.Int64(int64(size)), MaxSize:              aws.Int64(int64(size)), </del> <ins> DesiredCapacity:      aws.Int64(int64(size)), </ins> } if _, err := asg.UpdateAutoScalingGroup(request); err != nil { return fmt.Errorf("error resizing AWS autoscaling group: %q", err)
Change:
<!-- Please only use this template for submitting enhancement requests --What would you like to be : Currently test names are formed by concatenating the ginkgo context's together. The testname is used to create a directory. This creates a limit on the length of the the testname, as most operating systems can only support a filename of up to 255 bytes. This concatenating is done by the logging library (I think) A way to break up the long test names by ginkgo context. Why is this needed: This test () failed on PR Current workarounds are simple by shortening the test names. However this is not desirable if we wish to support more nesting of ginkgo contexts in order to reduce boilerplate testing code by sharing common setup. This is also not desirable because it limits the ability to communicate the intent of the .
/sig testing
why are we using the testname to create a directory? even if we do need to create a directory per test we should probably use something more unique. sometimes multiple storage test entries wind up with the same test name
/sig storage
I assume this is about the artifacts, for example in The test name is guaranteed to be unique per test run. It was chosen because then developers can find the artifacts for a certain test. The alternative might be to split at component texts, see
In this example, the directory might then become (I'm guessing a bit what the component texts are - I'm not sure).
Oh, there's an old todo about doing exactly that. It wasn't possible at the time because gubernator couldn't handle deeply nested directories:
Thank you all!

Discussion:
to.LogWriter = ginkgo.GinkgoWriter } else { test := ginkgo.CurrentGinkgoTestDescription() <ins> // Clean up each individual component text such that // it contains only characters that are valid as file // name. </ins> reg := regexp.MustCompile("[^a-zA-Z0-9_-]+") <ins> var components []string for _, component := range test.ComponentTexts { components = append(components, reg.ReplaceAllString(component, "_")) } </ins> // We end the prefix with a slash to ensure that all logs // end up in a directory named after the current test. // <del> // TODO: use a deeper directory hierarchy once gubernator // supports that (https://github.com/kubernetes/test-infra/issues/10289). </del> <ins> // Each component name maps to a directory. This // avoids cluttering the root artifact directory and // keeps each directory name smaller (the full test // name at one point exceeded 256 characters, which was // too much for some filesystems). </ins> to.LogPathPrefix = framework.TestContext.ReportDir + "/" + <del> reg.ReplaceAllString(test.FullTestText, "_") + "/" </del> <ins> strings.Join(components, "/") + "/" </ins> } podlogs.CopyAllLogs(ctx, cs, ns, to)
Change:
There is a todo in the node e2e test suite to obtain the kubelet address from the kubelet config The kubelet address is used in The kubelet flag is itself deprecated, , so we could get it from the kubelet config. /help wanted /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 : There is a todo in the node e2e test suite to obtain the kubelet address from the kubelet config --address 0.0.0.0 The IP address for the Kubelet to serve on (set to 0.0.0.0 for all IPv4 interfaces and for all IPv6 interfaces) (default 0.0.0.0) (DEPRECATED: This parameter should be set via the config file specified by the Kubelet's --config flag. See for more information.) , so we could get it from the kubelet config. /good-first-issue </details
/sig node
can I give it a try?
/assign knabben

Discussion:
"github.com/onsi/gomega" ) <del> // TODO(random-liu): Get this automatically from kubelet flag. var kubeletAddress = flag.String("kubelet-address", "http://127.0.0.1:10255", "Host and port of the kubelet") </del> var startServices = flag.Bool("start-services", true, "If true, start local node services") var stopServices = flag.Bool("stop-services", true, "If true, stop local node services after running tests") var busyboxImage = imageutils.GetE2EImage(imageutils.BusyBox)

) func getNodeSummary() (*kubeletstatsv1alpha1.Summary, error) { <del> req, err := http.NewRequest("GET", *kubeletAddress+"/stats/summary", nil) </del> <ins> kubeletConfig, err := getCurrentKubeletConfig() if err != nil { return nil, fmt.Errorf("failed to get current kubelet config") } req, err := http.NewRequest("GET", fmt.Sprintf("http://%s:%d/stats/summary", kubeletConfig.Address, kubeletConfig.ReadOnlyPort), nil) </ins> if err != nil { return nil, fmt.Errorf("failed to build http request: %v", err) }
Change:
<!-- 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: What you expected to happen: From the comment above it should be 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: ): Kernel (e.g. ): Install tools: Network plugin and version (if this is a network-related bug): Others: /area provider/azure /sig cloud-provider

Discussion:
for name, vmEntry := range oldCache { // if the nil cache entry has existed for 15 minutes in the cache // then it should not be added back to the cache <del> if vmEntry.virtualMachine == nil || time.Since(vmEntry.lastUpdate) > 15*time.Minute { </del> <ins> if vmEntry.virtualMachine == nil && time.Since(vmEntry.lastUpdate) > 15*time.Minute { </ins> klog.V(5).Infof("ignoring expired entries from old cache for %s", name) continue }
Change:
<!-- 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: The following issues are observed while running this e2e test case for vSphere CSI Migration feature validation. Issue-1 - test failed with Unexpected error: This is happening because YAML is using version. Issue-2 - After upgrading from . Test executed successfully but reported failure in the cleanup stage. when is called in DeleteAllStatefulSets, it does not find statefulset. moving call to in the defer block helps avoid printing this message. There may be a race between namespace deletion and after each execution. I am not familiar with recent e2e framework changes. What you expected to happen: Test should pass. How to reproduce it (as minimally and precisely as possible): execute using Kubernetes master branch builds. Anything else we need to know?: Environment: Kubernetes version (use ):Cloud provider or hardware configuration: vSphere Cloud Provider
/sig testing /sig storage
/remove-sig testing The framework and CI are SIG testing. SIG storage owns their tests.
Issues go stale after 90d of inactivity. Mark the issue as fresh with . Stale issues rot after an additional 30d of inactivity and eventually close. If this issue is safe to close now please do so with . Send feedback to sig-testing, kubernetes/test-infra and/or . /lifecycle stale
Stale issues rot after 30d of inactivity. Mark the issue as fresh with . Rotten issues close after an additional 30d of inactivity. If this issue is safe to close now please do so with . Send feedback to sig-testing, kubernetes/test-infra and/or . /lifecycle rotten

Discussion:
client = f.ClientSet Bootstrap(f) }) <del> ginkgo.AfterEach(func() { framework.Logf("Deleting all statefulset in namespace: %v", namespace) e2estatefulset.DeleteAllStatefulSets(client, namespace) }) </del> ginkgo.It("vsphere statefulset testing", func() { ginkgo.By("Creating StorageClass for Statefulset")

ginkgo.By("Creating statefulset") statefulset := e2estatefulset.CreateStatefulSet(client, manifestPath, namespace) <ins> defer e2estatefulset.DeleteAllStatefulSets(client, namespace) </ins> replicas := *(statefulset.Spec.Replicas) // Waiting for pods status to be Ready e2estatefulset.WaitForStatusReadyReplicas(client, statefulset, replicas)

<del> apiVersion: apps/v1beta2 </del> <ins> apiVersion: apps/v1 </ins> kind: StatefulSet metadata: name: web
Change:
<!-- 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: Following issue was observed while running the e2e test cases for CSI migration testing. <pre•! Panic [50.165 seconds] [sig-storage] vcp-performance [Feature:vsphere] vcp performance tests [It] Test Panicked assignment to entry in nil map Full Stack Trace (0x0, 0x0, 0x0) +0x105 panic(0x4b3a0e0, 0x5c329d0) +0x166 (0xc0032a3140, 0x0, 0x0, 0x0) </preWhat you expected to happen: Tests util methods should not panic How to reproduce it (as minimally and precisely as possible): Execute test suite which can be found here - Anything else we need to know?: The vsphere util method - is used by multiple test suites (Scale tests, performance tests) Environment: Kubernetes version (use ): <preClient Version: version.Info{Major:"1", Minor:"19+", GitVersion:"v1.19.0-alpha.3.1808+-dirty", GitCommit:"", GitTreeState:"dirty", BuildDate:"2020-07-04T03:10:03Z", GoVersion:"go1.14.4", Compiler:"gc", Platform:"darwin/amd64"} Server Version: version.Info{Major:"1", Minor:"19+", GitVersion:"v1.19.0-alpha.3.1808+", GitCommit:"", GitTreeState:"clean", BuildDate:"2020-07-02T20:49:42Z", GoVersion:"go1.14.4", Compiler:"gc", Platform:"linux/amd64"} </pre- Cloud provider or hardware configuration: vSphere Cloud Provider
/sig storage

Discussion:
} // disksAreAttached takes map of node and it's volumes and returns map of node, its volumes and attachment state <del> func disksAreAttached(nodeVolumes map[string][]string) (nodeVolumesAttachMap map[string]map[string]bool, err error) { </del> <ins> func disksAreAttached(nodeVolumes map[string][]string) (map[string]map[string]bool, error) { </ins> ctx, cancel := context.WithCancel(context.Background()) defer cancel()

} volumeAttachedMap[volume] = attached } <del> nodeVolumesAttachMap[vm] = volumeAttachedMap </del> <ins> disksAttached[vm] = volumeAttachedMap </ins> } return disksAttached, nil }
Change:
/area controller-manager What would you like to be : Don't resync disruption in disruption controller. Why is this needed: There are 3000+ deployments in my k8s cluster, thus when i create all deployments,the depth of disruption workquque is too long in every period, the period of collecting data is 10s, i found that the depth of disruption workquque less than or equal the number of disruption , and there is also a AddEventHandlerWithResyncPeriod(30s) to resync all disruption, I don't know why there need to have to AddEventHandlerWithResyncPeriod all disruption? Can we not resync disruption and just watch it's changes?
/sig apps
/assign
Issues go stale after 90d of inactivity. Mark the issue as fresh with . Stale issues rot after an additional 30d of inactivity and eventually close. If this issue is safe to close now please do so with . Send feedback to sig-testing, kubernetes/test-infra and/or . /lifecycle stale
/remove-lifecycle stale

Discussion:
dc.podLister = podInformer.Lister() dc.podListerSynced = podInformer.Informer().HasSynced <del> pdbInformer.Informer().AddEventHandlerWithResyncPeriod( </del> <ins> pdbInformer.Informer().AddEventHandler( </ins> cache.ResourceEventHandlerFuncs{ AddFunc:    dc.addDb, UpdateFunc: dc.updateDb, DeleteFunc: dc.removeDb, }, <del> 30*time.Second, </del> ) dc.pdbLister = pdbInformer.Lister() dc.pdbListerSynced = pdbInformer.Informer().HasSynced
Change:
The NodeProblemDetector test - SystemLogMonitor should generate node condition and events for corresponding errors can produce the following error message which is misleading This message outputted by verifyTotalEvents is meant to indicate that a specific number of occurrences of events is expected but an unexpected number of events occurred during the test run. It's misleading because it can be interpreted as where 7 and 4 are event IDs instead of event counts Example
I have implemented a fix for this and will submit the PR soon /sig node

Discussion:
count += int(event.Count) } if count != num { <del> return fmt.Errorf("expect event number %d, got %d: %v", num, count, events.Items) </del> <ins> return fmt.Errorf("expected %d events with reason set to %s and message set to %snbut %d actual events occurred. Events : %v", num, reason, message, count, events.Items) </ins> } return nil }

count += int(event.Count) } if count != num { <del> return fmt.Errorf("expect event number %d, got %d: %v", num, count, events.Items) </del> <ins> return fmt.Errorf("expected total number of events was %d, actual events counted was %dnEvents  : %v", num, count, events.Items) </ins> } return nil }
Change:
<!-- 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: kubelet doesn't start up on a cgroup2 host without hugetlb controller What you expected to happen: Should work without hugetlb controller How to reproduce it (as minimally and precisely as possible): Boot Ubuntu 20.04 host with . Make sure cgroup v2 controllers are enabled but hugetlb is not: Install Moby from its master branch (Docker 20.0X). Binaries are available at Install kind from its master branch (kubernetes-sigs/kind Run with kubernetes/kubernetes Run Run Environment
cc
/sig sig-node
The label(s) cannot be applied, because the repository doesn't have them <detailsIn response to : /sig sig-node </details
/sig node
/area kubelet
looks like you already saw since you filed :)
That’s for containerd, not for kubelet :)
right :)
we can relax the hugetlb requirement, since it is also optional on cgroup v1. could you please try if the following patch is enough to fix the issue on your environment?
LOL this again :-) guess this isn't just glinux with hugetlb issues :upsidedownface:
IKR!!!
Perfect, could you open a PR? Now kind works on cgroup v2!
opened a PR here:

Discussion:
} cgroupConfig.Resources.SkipDevices = true <ins> // if the hugetlb controller is missing supportedControllers := getSupportedUnifiedControllers() if !supportedControllers.Has("hugetlb") { cgroupConfig.Resources.HugetlbLimit = nil // the cgroup is not present, but its not required so skip it klog.V(6).Infof("Optional subsystem not supported: hugetlb") } </ins> manager, err := cgroupfs2.NewManager(cgroupConfig, cgroupConfig.Path, false) if err != nil { return fmt.Errorf("failed to create cgroup v2 manager: %v", err)
Change:
Hi, first I have to mention I didn't saw this in Kubernetes CI, we're running the conformance tests on our internal platform and from time to time the test fails. Which test(s) are flaking: Reason for failure: The test works like this: create deployment wait until replicaset is created delete deployment (with orphan) count if we have 0 deployments, 1 replicaset and 2 pods In our environment it fails because from time to time we don't already have 2 pods. Imho this happens because the test doesn't wait until all Pods are created before deleting the Deployment Proposed
/sig apps These SIGs are my best guesses for this issue. Please comment if I am incorrect about one. I am a bot run by vllry. ‍
/sig api-machinery (as per the test location)
/cc /sig apps
/milestone v1.19 Since I milestoned

Discussion:
} // wait for deployment to create some rs ginkgo.By("Wait for the Deployment to create new ReplicaSet") <ins> var replicaset appsv1.ReplicaSet </ins> err = wait.PollImmediate(500*time.Millisecond, 1*time.Minute, func() (bool, error) { rsList, err := rsClient.List(context.TODO(), metav1.ListOptions{}) if err != nil { return false, fmt.Errorf("failed to list rs: %v", err) } <del> return len(rsList.Items) > 0, nil </del> <ins> if len(rsList.Items) > 0 { replicaset = rsList.Items[0] return true, nil } return false, nil </ins> }) if err != nil { framework.Failf("Failed to wait for the Deployment to create some ReplicaSet: %v", err) } <ins> desiredGeneration := replicaset.Generation if err := wait.PollImmediate(100*time.Millisecond, 60*time.Second, func() (bool, error) { newRS, err := clientSet.AppsV1().ReplicaSets(replicaset.Namespace).Get(context.TODO(), replicaset.Name, metav1.GetOptions{}) if err != nil { return false, err } return newRS.Status.ObservedGeneration >= desiredGeneration && newRS.Status.Replicas == *replicaset.Spec.Replicas, nil }); err != nil { framework.Failf("failed to verify .Status.Replicas is equal to .Spec.Replicas for replicaset %q: %v", replicaset.Name, err) } </ins> ginkgo.By("delete the deployment") deleteOptions := getOrphanOptions() deleteOptions.Preconditions = metav1.NewUIDPreconditions(string(createdDeployment.UID))