jiebi/CodeConvo huggingface dataset:
Change:
PLEASE COORDINATE WITH SIG-SCHEDULING BEFORE WORKING ON THIS ISSUE. We want to avoid the situation where two people accidentally start work on the same fix. Main tracking issue: The method of is a simple wrapper around . It should be converted into a simple closure instead of being a method. i.e. we should have, (code is in ) /sig scheduling /kind cleanup /help
I'd like to take this task. /assign /remove-help
Thanks, go for it! :smile:

Discussion:
WaitForCacheSync: func() bool { return cache.WaitForCacheSync(c.StopEverything, c.scheduledPodsHasSynced) }, <del> NextPod: func() *v1.Pod { return c.getNextPod() }, </del> <ins> NextPod:         internalqueue.MakeNextPodFunc(c.podQueue), </ins> Error:           c.MakeDefaultErrorFunc(podBackoff, c.podQueue), StopEverything:  c.StopEverything, VolumeBinder:    c.volumeBinder,

}, nil } <del> func (c *configFactory) getNextPod() *v1.Pod { pod, err := c.podQueue.Pop() if err == nil { klog.V(4).Infof("About to try and schedule pod %v/%v", pod.Namespace, pod.Name) return pod } klog.Errorf("Error while retrieving next pod from scheduling queue: %v", err) return nil } </del> // assignedPod selects pods that are assigned (scheduled and running). func assignedPod(pod *v1.Pod) bool { return len(pod.Spec.NodeName) != 0

nominatedPodToNode: make(map[ktypes.UID]string), } } <ins> // MakeNextPodFunc returns a function to retrieve the next pod from a given // scheduling queue func MakeNextPodFunc(queue SchedulingQueue) func() *v1.Pod { return func() *v1.Pod { pod, err := queue.Pop() if err == nil { klog.V(4).Infof("About to try and schedule pod %v/%v", pod.Namespace, pod.Name) return pod } klog.Errorf("Error while retrieving next pod from scheduling queue: %v", err) return nil } } </ins>
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!--What happened: Was adding automation using node output and was unable to parse json from nodes due to newline in kernel version: What you expected to happen: json returned from to be valid json (no new lines). How to reproduce it (as minimally and precisely as possible): Anything else we need to know?: /sig windows Environment: Kubernetes version (use ): 1.13 Cloud provider or hardware configuration: Azure OS (e.g. from /etc/os-release):Windows Server version 1809 Kernel (e.g. ): 10.0..194 Install tools: acs-engine master
Do you have the raw json output by ? An escaped newline in a quoted string is valid json, though trimming it for windows would still probably be fine
might be turning n into an actual newline and causing your issues. the first output in the PR description is valid json
The raw json is: <details<summarykubectl get nodes -l "" -o json </summary</detailsI think you are correct that it was the echo that turning n into a an actual new line. Any idea why there would in a new line in the output like that? Is is safe to remove it as I did in my PR ()?
I also just noticed that the output from as is formated incorrectly because the new line is the kernel version (the container runtime ends up on second line):
yeah, newlines would screw up the human readable output, which is ugly, but aren't an API issue, which would be much more urgent. trimming the newline in the data source seems reasonable to me, but it was clearly explicitly so I would recommend hunting down the original reason for that to be sure

Discussion:
return "", err } <del> return fmt.Sprintf("%d.%d.%s.%dn", majorVersionNumber[0], minorVersionNumber[0], buildNumber, revision), nil </del> <ins> return fmt.Sprintf("%d.%d.%s.%d", majorVersionNumber[0], minorVersionNumber[0], buildNumber, revision), nil </ins> } // getOSImageVersion gets the osImage name and version.
Change:
What would you like to be : It would be useful if the kubelet exported a metric that contained its own name as a label, for instance: . This name should be consistent with the output of . Why is this needed: This would allow us to join the kubelet metrics against metrics exported by kube-state-metrics. An example of this can be seen in We've arranged in our cluster for the labels to be set to the node's name, but this is controlled by Prometheus and depends on your scrape & relabelling config. As such, in general we can't rely on this to be the case - for instance, with the prometheus-operator the label is a IP:Port combo. /cc
/sig instrumentation
This metric as it is right now doesn’t conform to the instrumentation guidelines, so yes we should changes this as part of the metrics overhaul targeted for 1.14.
you mean to add a label in kubelet metrics ?
precisely.
/assign

Discussion:
collectors.NewVolumeStatsCollector(kl), collectors.NewLogMetricsCollector(kl.StatsProvider.ListPodStats), ) <ins> metrics.SetNodeName(kl.nodeName) </ins> // Setup filesystem directories. if err := kl.setupDataDirs(); err != nil {

"//pkg/features:go_default_library", "//pkg/kubelet/container:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", <ins> "//staging/src/k8s.io/apimachinery/pkg/types:go_default_library", </ins> "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library", "//vendor/github.com/prometheus/client_golang/prometheus:go_default_library", "//vendor/k8s.io/klog:go_default_library",

"github.com/prometheus/client_golang/prometheus" corev1 "k8s.io/api/core/v1" <ins> "k8s.io/apimachinery/pkg/types" </ins> utilfeature "k8s.io/apiserver/pkg/util/feature" "k8s.io/klog" "k8s.io/kubernetes/pkg/features"

const ( KubeletSubsystem             = "kubelet" <ins> NodeNameKey                  = "node_name" NodeLabelKey                 = "node" </ins> PodWorkerLatencyKey          = "pod_worker_latency_microseconds" PodStartLatencyKey           = "pod_start_latency_microseconds" CgroupManagerOperationsKey   = "cgroup_manager_latency_microseconds"

) var ( <ins> NodeName = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Subsystem: KubeletSubsystem, Name:      NodeNameKey, Help:      "The node's name. The count is always 1.", }, []string{NodeLabelKey}, ) </ins> ContainersPerPodCount = prometheus.NewSummary( prometheus.SummaryOpts{ Subsystem: KubeletSubsystem,

func Register(containerCache kubecontainer.RuntimeCache, collectors ...prometheus.Collector) { // Register the metrics. registerMetrics.Do(func() { <ins> prometheus.MustRegister(NodeName) </ins> prometheus.MustRegister(PodWorkerLatency) prometheus.MustRegister(PodStartLatency) prometheus.MustRegister(CgroupManagerLatency)

ConfigError.Set(0) } } <ins> func SetNodeName(name types.NodeName) { NodeName.WithLabelValues(string(name)).Set(1) } </ins>
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!--/kind bug /sig cli /area kubectl What happened: What you expected to happen: Should only be one desired replica How to reproduce it (as minimally and precisely as possible): Anything else we need to know?: Right here Environment: Kubernetes version (use ):

Discussion:
w.Write(LEVEL_0, "Selector:t%sn", selector) printLabelsMultiline(w, "Labels", ps.Labels) printAnnotationsMultiline(w, "Annotations", ps.Annotations) <del> w.Write(LEVEL_0, "Replicas:t%d desired | %d totaln", ps.Spec.Replicas, ps.Status.Replicas) </del> <ins> w.Write(LEVEL_0, "Replicas:t%d desired | %d totaln", *ps.Spec.Replicas, ps.Status.Replicas) </ins> w.Write(LEVEL_0, "Update Strategy:t%sn", ps.Spec.UpdateStrategy.Type) if ps.Spec.UpdateStrategy.RollingUpdate != nil { ru := ps.Spec.UpdateStrategy.RollingUpdate
Change:
! ! Which jobs are failing: Which test(s) are failing: Since when has it been failing: failures started between 3-4PM (EST), on 1/11/2019 the failures appear limited to containerd jobs (here's a triage search for note that only containerd jobs appear as failing): /sig node
the relevant commit range on master appears to be ... the relevent commit range in test-infra appears to be
cc
for test-infra: aws-janitor: clean up ELBs - definitely unrelated, only affects some of the AWS testing cleanup Update kubekins tag for eks jobs - definitely unrelated, affects the docker image in which some EKS testing runs only Update ubuntu image used for e2e node test - I think unrelated, appears to only affect the node e2e tests rest are merge commits
thanks for checking. it's also possible the commit ranges I linked to need to be expanded slightly... that was my first attempt at correlating merge timestamps with the triage board failures... it's possible I got timezone correlation wrong a few hours in one direction or the other.
ah, they probably do then. otherwise I'd say something else must have changed out of band (perhaps there's a pointer to a containerd version to use somewhere or something).
flakes or was something fixed offline (gce / gci / gke)? https://k8s- https://k8s- these turned (mostly) green without k/k and k/test-infra changes.
Huh. Disconcerting, but ok. /close
Closing this issue. <detailsIn response to : Huh. Disconcerting, but ok. 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
All test failed because of not being able to pull image from : I guess this is a bug in , and they fixed it now.
nice catch. thanks
should the CSI images be in our regular repo?

Discussion:
}) }) <ins> Describe("[Skipped][Example]Liveness", func() { It("liveness pods should be automatically restarted", func() { mkpath := func(file string) string { return filepath.Join(testContext.RepoRoot, "docs", "user-guide", "liveness", file) } execYaml := mkpath("exec-liveness.yaml") httpYaml := mkpath("http-liveness.yaml") nsFlag := fmt.Sprintf("--namespace=%v", ns) runKubectl("create", "-f", execYaml, nsFlag) runKubectl("create", "-f", httpYaml, nsFlag) checkRestart := func(podName string, timeout time.Duration) { err := waitForPodRunningInNamespace(c, podName, ns) Expect(err).NotTo(HaveOccurred()) for t := time.Now(); time.Since(t) < timeout; time.Sleep(poll) { pod, err := c.Pods(ns).Get(podName) expectNoError(err, fmt.Sprintf("getting pod %s", podName)) restartCount := api.GetExistingContainerStatus(pod.Status.ContainerStatuses, "liveness").RestartCount Logf("Pod: %s   restart count:%d", podName, restartCount) if restartCount > 0 { return } } Failf("Pod %s was not restarted", podName) } By("Check restarts") checkRestart("liveness-exec", time.Minute) checkRestart("liveness-http", time.Minute) }) }) </ins> }) func makeHttpRequestToService(c *client.Client, ns, service, path string) (string, error) {
Change:
<!-- Please only use this template for submitting reports about failing tests in Kubernetes CI jobs --Which jobs are failing: N/A Which test(s) are failing: should function for node-pod communication: udp Since when has it been failing: Unknown. Testgrid link: The test is currently excluded. Reason for failure: By default, cmd is used to execute commands in Windows containers, but it has some issues executing the command (no output): echo 'hostName' | nc -w 1 -u <targetIP<targetPortBut it has no issues running (output is correct): echo hostName | nc -w 1 -u <targetIP<targetPortThis causes the test "should function for node-pod communication: udp" to fail when using Windows Containers. Anything else we need to know: /sig testing /sig windows

Discussion:
if protocol == "udp" { // TODO: It would be enough to pass 1s+epsilon to timeout, but unfortunately // busybox timeout doesn't support non-integer values. <del> cmd = fmt.Sprintf("echo 'hostName' | nc -w 1 -u %s %d", targetIP, targetPort) </del> <ins> cmd = fmt.Sprintf("echo hostName | nc -w 1 -u %s %d", targetIP, targetPort) </ins> } else { ipPort := net.JoinHostPort(targetIP, strconv.Itoa(targetPort)) // The current versions of curl included in CentOS and RHEL distros
Change:
We should deprecate existing hardcoded cloudprovider specific volume limit predicates in favour of volume limits coming from CSI and node. We can replace all of the three predicates with CSI predicate. But that needs to take into account migration path for in-tree volumes. /sig storage /sig scheduling
/assign

Discussion:
// CheckServiceAffinityPred defines the name of predicate checkServiceAffinity. CheckServiceAffinityPred = "CheckServiceAffinity" // MaxEBSVolumeCountPred defines the name of predicate MaxEBSVolumeCount. <ins> // DEPRECATED // All cloudprovider specific predicates are deprecated in favour of MaxCSIVolumeCountPred. </ins> MaxEBSVolumeCountPred = "MaxEBSVolumeCount" // MaxGCEPDVolumeCountPred defines the name of predicate MaxGCEPDVolumeCount. <ins> // DEPRECATED // All cloudprovider specific predicates are deprecated in favour of MaxCSIVolumeCountPred. </ins> MaxGCEPDVolumeCountPred = "MaxGCEPDVolumeCount" // MaxAzureDiskVolumeCountPred defines the name of predicate MaxAzureDiskVolumeCount. <ins> // DEPRECATED // All cloudprovider specific predicates are deprecated in favour of MaxCSIVolumeCountPred. </ins> MaxAzureDiskVolumeCountPred = "MaxAzureDiskVolumeCount" // MaxCinderVolumeCountPred defines the name of predicate MaxCinderDiskVolumeCount. <ins> // DEPRECATED // All cloudprovider specific predicates are deprecated in favour of MaxCSIVolumeCountPred. </ins> MaxCinderVolumeCountPred = "MaxCinderVolumeCount" // MaxCSIVolumeCountPred defines the predicate that decides how many CSI volumes should be attached MaxCSIVolumeCountPred = "MaxCSIVolumeCountPred"

// NewMaxPDVolumeCountPredicate creates a predicate which evaluates whether a pod can fit based on the // number of volumes which match a filter that it requests, and those that are already present. // <ins> // DEPRECATED // All cloudprovider specific predicates defined here are deprecated in favour of CSI volume limit // predicate - MaxCSIVolumeCountPred. // </ins> // The predicate looks for both volumes used directly, as well as PVC volumes that are backed by relevant volume // types, counts the number of unique volumes, and rejects the new pod if it would place the total count over // the maximum.
Change:
<!-- Please only use this template for submitting reports about failing tests in Kubernetes CI jobs --Which jobs are failing: pull-kubernetes-bazel-test Which test(s) are failing: Since when has it been failing: Testgrid link: Reason for failure: Anything else we need to know:
the test failure seems related to the PR that is being tested no other flakes have been observed:
I've run it against latest master locally and it may fail. Not sure why it has low chance to fail in prow job.
- i can recreate it with
/sig testing

Discussion:
if err != nil { t.Errorf("Test %q failed: GetPV %q returned error: %v", name, pv.Name, err) } <del> if !reflect.DeepEqual(cachedPV, pv) { </del> <ins> // Cache may be overridden by API object with higher version, compare but ignore resource version. newCachedPV := cachedPV.DeepCopy() newCachedPV.ResourceVersion = pv.ResourceVersion if !reflect.DeepEqual(newCachedPV, pv) { </ins> t.Errorf("Test %q failed: cached PV check failed [A-expected, B-got]:n%s", name, diff.ObjectDiff(pv, cachedPV)) } }

if err != nil { t.Errorf("Test %q failed: GetPVC %q returned error: %v", name, getPVCName(pvc), err) } <del> if !reflect.DeepEqual(cachedPVC, pvc) { </del> <ins> // Cache may be overridden by API object with higher version, compare but ignore resource version. newCachedPVC := cachedPVC.DeepCopy() newCachedPVC.ResourceVersion = pvc.ResourceVersion if !reflect.DeepEqual(newCachedPVC, pvc) { </ins> t.Errorf("Test %q failed: cached PVC check failed [A-expected, B-got]:n%s", name, diff.ObjectDiff(pvc, cachedPVC)) } }
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!--What happened: When an AWS NLB is created through the Service of type, the health check security group rule is only created with a VPC primary CIDR block, as seen here: If the VPC has multiple CIDR blocks associated, and the worker nodes are running on those corresponding subnets, the health check fails. What you expected to happen: Multiple health check security group rules are created, one for each VPC CIDR block, using both and (). How to reproduce it (as minimally and precisely as possible): a VPC with with additional subnets created on a non-primary CIDR. a Kubernetes cluster (e.g. EKS) on subnets associated with a non-primary CIDR. a Service of type with nodes are healthy due to the security group rule being created only allowing traffic from the primary CIDR. Anything else we need to know?: Environment: Kubernetes version (use ): Cloud provider or hardware configuration: AWS OS (e.g. from /etc/os-release): Amazon Linux 2 Kernel (e.g. ): Install tools: N/A Others: N/A
Reiterating the mentions to trigger a notification: <detailsIn response to : 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
Hi, i'll provide a fix next week

Discussion:
return response } <del> func (c *Cloud) getVpcCidrBlock() (*string, error) { </del> <ins> func (c *Cloud) getVpcCidrBlocks() ([]string, error) { </ins> vpcs, err := c.ec2.DescribeVpcs(&ec2.DescribeVpcsInput{ VpcIds: []*string{aws.String(c.vpcID)}, })

if len(vpcs.Vpcs) != 1 { return nil, fmt.Errorf("Error querying VPC for ELB, got %d vpcs for %s", len(vpcs.Vpcs), c.vpcID) } <del> return vpcs.Vpcs[0].CidrBlock, nil </del> <ins> cidrBlocks := make([]string, 0, len(vpcs.Vpcs[0].CidrBlockAssociationSet)) for _, cidr := range vpcs.Vpcs[0].CidrBlockAssociationSet { cidrBlocks = append(cidrBlocks, aws.StringValue(cidr.CidrBlock)) } return cidrBlocks, nil </ins> } // abstraction for updating SG rules

return nil } <del> vpcCidr, err := c.getVpcCidrBlock() </del> <ins> vpcCidrBlocks, err := c.getVpcCidrBlocks() </ins> if err != nil { return err }

} // Run once for health check traffic <del> err = c.updateInstanceSecurityGroupsForNLBTraffic(actualGroups, desiredGroupIds, healthCheckPorts, lbName, []string{aws.StringValue(vpcCidr)}, false) </del> <ins> err = c.updateInstanceSecurityGroupsForNLBTraffic(actualGroups, desiredGroupIds, healthCheckPorts, lbName, vpcCidrBlocks, false) </ins> if err != nil { return err }
Change:
<!-- Please only use this template for submitting reports about failing tests in Kubernetes CI jobs --Which jobs are failing: Which test(s) are failing: Since when has it been failing: Testgrid link: Reason for failure: I0116 21:50:32. 3959 ] GET /healthz: (1.0472ms) 500 goroutine 2352 [running]: (respLogger).recordStatus(0xc001fa7110, 0x1f4) +0xd2 (respLogger).WriteHeader(0xc001fa7110, 0x1f4) +0x35 (baseTimeoutWriter).WriteHeader(0xc00382ad80, 0x1f4) +0xaf net/http.Error(0xdc0d5b8, 0xc0036a21c0, 0xc0003b5a40, 0x136, 0x1f4) +0xda (0xdc0d5b8, 0xc0036a21c0, 0xc00380ef00) +0x3aa net/http.HandlerFunc.ServeHTTP(0xc0027a40e0, 0xdc0d5b8, 0xc0036a21c0, 0xc00380ef00) +0x44 (pathHandler).ServeHTTP(0xc00278a900, 0xdc0d5b8, 0xc0036a21c0, 0xc00380ef00) +0x510 (PathRecorderMux).ServeHTTP(0xc00014f340, 0xdc0d5b8, 0xc0036a21c0, 0xc00380ef00) +0x8a (0x4c243b1, 0xe, 0xc0008aa360, 0xc00014f340, 0xdc0d5b8, 0xc0036a21c0, 0xc00380ef00) +0x661 (0xdc0d5b8, 0xc0036a21c0, 0xc00380ef00) +0x4c3 net/http.HandlerFunc.ServeHTTP(0xc0000da080, 0xdc0d5b8, 0xc0036a21c0, 0xc00380ef00) +0x44 (0xdc0d5b8, 0xc0036a21c0, 0xc00380ef00) +0x459 net/http.HandlerFunc.ServeHTTP(0xc00071c9c0, 0xdc0d5b8, 0xc0036a21c0, 0xc00380ef00) +0x44 (0xdc0d5b8, 0xc0036a21c0, 0xc00380ef00) +0x1eeb net/http.HandlerFunc.ServeHTTP(0xc0000da700, 0xdc0d5b8, 0xc0036a21c0, 0xc00380ef00) +0x44 (0xdc0d5b8, 0xc0036a21c0, 0xc00380ee00) +0x476 net/http.HandlerFunc.ServeHTTP(0xc0008a9400, 0xdc0d5b8, 0xc0036a21c0, 0xc00380ee00) +0x44 (timeoutHandler).ServeHTTP.func1(0xc003637560, 0xc00045dd00, 0x6b6d240, 0xc0036a21c0, 0xc00380ee00) +0xb3 created by (timeoutHandler).ServeHTTP +0x1b0 panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x28 pc=0x25f7a93] goroutine 3306 [running]: (Scheduler).bind(0xc00002db60, 0xc004ae3c00, 0xc0049d0a80, 0x0, 0x1c4efe1) +0x643 (Scheduler).scheduleOne.func1(0xc001ffe701, 0xc00002db60, 0xc004ae3c00, 0x6b51d40, 0xc003a1c1c0, 0xc001ffe700, 0x11, 0x64, 0x64, 0xbf07eb8a4781e3e8, ...) +0x21f created by (Scheduler).scheduleOne +0xb6f exit status 2 FAIL 4.409s !!! Error in ./test- Error in ./test- 'go test - -test.timeout=60m -' exited with status 1 Call stack: 1: ./test- main(...) Exiting with status 1 Anything else we need to know: run shell
/sig testing /sig scheduling
/assign

Discussion:
], importpath = "k8s.io/kubernetes/test/integration/util", deps = [ <ins> "//pkg/api/legacyscheme:go_default_library", </ins> "//pkg/cloudprovider/providers/gce:go_default_library", "//pkg/scheduler:go_default_library", "//pkg/scheduler/api:go_default_library",

clientv1core "k8s.io/client-go/kubernetes/typed/core/v1" "k8s.io/client-go/tools/record" "k8s.io/klog" <ins> "k8s.io/kubernetes/pkg/api/legacyscheme" </ins> "k8s.io/kubernetes/pkg/scheduler" schedulerapi "k8s.io/kubernetes/pkg/scheduler/api" "k8s.io/kubernetes/pkg/scheduler/factory"

if err != nil { klog.Fatalf("Error creating scheduler: %v", err) } <ins> config.Recorder = evtBroadcaster.NewRecorder(legacyscheme.Scheme, v1.EventSource{Component: "scheduler"}) </ins> sched := scheduler.NewFromConfig(config) informerFactory.Start(stopCh)
Change:
<!-- Please only use this template for submitting reports about failing tests in Kubernetes CI jobs --Which jobs are failing: In : Which test(s) are failing: - Since when has it been failing: At least 2019-01-07 Testgrid link: Reason for failure: /sig apps /sig cluster-lifecycle
cc
/assign

Discussion:
Name:      daemonSetName, }, Spec: apps.DaemonSetSpec{ <ins> Selector: &metav1.LabelSelector{ MatchLabels: labelSet, }, </ins> Template: v1.PodTemplateSpec{ ObjectMeta: metav1.ObjectMeta{ Labels: labelSet,
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!--What happened: The image used in the Statefulset e2e tests: doesn't work because is missing in the image and the entrypoint is a bash script (). What you expected to happen: The image should be able to execute the entrypoint. How to reproduce it (as minimally and precisely as possible): Run the image with the same args as used in the manifests: Anything else we need to know?: Can fix the issue by adding to the install command: and building a new image: But I don't know if this is the right way since I don't fully understand the whole BASEIMAGE infrastructure and what's supposed to go where. Environment: Kubernetes version (use ): Cloud provider or hardware configuration: OS (e.g. from /etc/os-release): Kernel (e.g. ): Install tools: Others: /sig testing

Discussion:
CROSS_BUILD_COPY qemu-QEMUARCH-static /usr/bin/ <del> RUN clean-install wget netcat </del> <ins> RUN clean-install wget bash netcat </ins> ADD on-start.sh /

<del> 1.2 </del> <ins> 1.3 </ins>