jiebi/CodeConvo huggingface dataset:
Change:
Log statements and metrics indicating when the node authorizer graph has be updated for a pod. There is already a log statement for when the graph starts an update, but this is before the graph lock is obtained and doesn't tell when the graph update is completed. We are seeing node authorizer failures which prevent pods from starting for extended periods of time. It is believed that this is caused by a race between: the node authorizer graph being updated the node requesting the secret It is important to have logging that indicates when the graph finished updating in order to reflect lock contention on the graph.
/sig auth
/triage accepted Seems like a reasonable feature request.
Hi, folks I would like to work on this. /assign
Hi Fixed this issue here PTAL!

Discussion:
import ( "fmt" <ins> "time" </ins> "k8s.io/klog/v2"

return } } klog.V(4).Infof("updatePod %s/%s for node %s", pod.Namespace, pod.Name, pod.Spec.NodeName) <ins> startTime := time.Now() </ins> g.graph.AddPod(pod) <ins> klog.V(5).Infof("updatePod %s/%s for node %s completed in %v", pod.Namespace, pod.Name, pod.Spec.NodeName, time.Since(startTime)) </ins> } func (g *graphPopulator) deletePod(obj interface{}) {

klog.V(5).Infof("deletePod %s/%s, no node", pod.Namespace, pod.Name) return } klog.V(4).Infof("deletePod %s/%s for node %s", pod.Namespace, pod.Name, pod.Spec.NodeName) <ins> startTime := time.Now() </ins> g.graph.DeletePod(pod.Name, pod.Namespace) <ins> klog.V(5).Infof("deletePod %s/%s for node %s completed in %v", pod.Namespace, pod.Name, pod.Spec.NodeName, time.Since(startTime)) </ins> } func (g *graphPopulator) addPV(obj interface{}) {
Change:
Log messages like are not very informative. /sig cloud-provider Either actual response body or none of it if this is a security concern. /sig security sig security to confirm it is ok to change this to log an actual response body. two places it is being logged: version (use ):1.20, but doesn't matter Cloud provider or hardware configuration:GKE OS (e.g: ):COS
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
/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 : /help /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
FYI, already handle []byte display in , may be we can move this to structured-logging.
/assign
Hi, I just found a place to test my first submit. If you are still working on this, please let me know. I'll close my PR
Hi, l still working on this issues, thanks .
OK, go ahead. This PR can be used as a reference, I‘ll close it
/assign

Discussion:
defer resp.Body.Close() if resp.StatusCode != http.StatusOK { <del> klog.V(2).Infof("body of failing http response: %v", resp.Body) </del> <ins> klog.V(2).InfoS("Failed to read URL", "statusCode", resp.StatusCode, "URL", url) </ins> return nil, &HTTPError{ StatusCode: resp.StatusCode, URL:        url,
Change:
no longer continues parsing an item when a key is encountered that has no value. This appears to be a behavior change introduced in Kubernetes version 1.22. will continue . Run the following commands against a cluster running CoreDNS pods in the namespace: Nothing. Kubernetes version (use ): v1.22.0 Cloud provider or hardware configuration: N/A OS (e.g: ): N/A Kernel (e.g. ): N/A Install tools: N/A Network plugin and version (if this is a network-related bug): N/A Others: N/A
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
Debug data for Kubernetes version 1.21 cluster:
Debug data for Kubernetes version 1.22 cluster:
/sig cli
I reproduce the issue in my 1.23 environment. I'll try to fix it. /assign
PR works on it.
/unassign
to ensure I understand your comment correct, should fix this issue?
Yes, I've tested it. can resolve it. The bug is the line:
Yes, I've tested it. can resolve it. The bug is in this line:

Discussion:
} continue } <del> if len(results) == 0 { break } </del> fullResult = append(fullResult, results) } return fullResult, nil

missingKeyTests := []jsonpathTest{ {"nonexistent field", "{.hello}", storeData, "", false}, <ins> {"nonexistent field 2", "before-{.hello}after", storeData, "before-after", false}, </ins> } testJSONPath(missingKeyTests, true, t)

testJSONPath( []jsonpathTest{ { <del> "when range is used in a certain way in script, additional line is printed", `{range .items[?(.status.phase=="Running")]}{.metadata.name}{" is Runningn"}`, </del> <ins> "range over pods without selecting the last one", `{range .items[?(.status.phase=="Running")]}{.metadata.name}{" is Runningn"}{end}`, </ins> data, "pod1 is Runningnpod2 is Runningnpod3 is Runningn", false, // expect no error
Change:
Right now the golang version in the Makefile is set to GOLANGVERSION?=1.12.17. Build fails with " undefined: errors.Is", presumably because errors.Is didn't exist in golang 1.12.
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
I can take a look.
/triage accepted
According to , we should use 1.16. /kind bug /area release-eng
I send a fix. It would be good to make sure this doesn't break in the future. Question to How we can include building cloud/image as part of presubmits?
Somehow I thought maybe we'd switched to an ectd image built from the etcd project and needed to eventually drop this one? If not this is rather concerning. We don't have a great presubmit to shove this in, I would suggest a runifchanged presubmit to let reviewers of this image know if it builds w/o making it a required job on all PRs (since also changes should be scoped to a directory and infrequent).
For example the conformance image works this way

Discussion:
match: GOLANG_VERSION=d+.d+(alpha|beta|rc)?.?d+ - path: staging/publishing/rules.yaml match: 'default-go-version: d+.d+(alpha|beta|rc)?.?(d+)?' <ins> - path: cluster/images/etcd/Makefile match: 'GOLANG_VERSION?=d+.d+(alpha|beta|rc)?.?(d+)?' </ins> # Golang pre-releases are denoted as `1.y<pre-release stage>.z` # Example: go1.16rc1

# This option is for running docker manifest command export DOCKER_CLI_EXPERIMENTAL := enabled # golang version should match the golang version of the official build from https://github.com/etcd-io/etcd/releases. <del> GOLANG_VERSION?=1.12.17 </del> <ins> GOLANG_VERSION?=1.16.7 </ins> GOARM?=7 TEMP_DIR:=$(shell mktemp -d)

# Compile migrate migrate_tmp_dir=$(shell mktemp -d);  docker run --rm --interactive -v $(shell pwd)/../../../:/go/src/k8s.io/kubernetes$(DOCKER_VOL_OPTS) -v $${migrate_tmp_dir}:/build$(DOCKER_VOL_OPTS) -e GOARCH=$(ARCH) golang:$(GOLANG_VERSION)  <del> /bin/bash -c "CGO_ENABLED=0 go build -o /build/migrate k8s.io/kubernetes/cluster/images/etcd/migrate";  </del> <ins> /bin/bash -c "CGO_ENABLED=0 GO111MODULE=off go build -o /build/migrate k8s.io/kubernetes/cluster/images/etcd/migrate";  </ins> $(BIN_INSTALL) $${migrate_tmp_dir}/migrate $(TEMP_DIR);  docker run --rm --interactive -v $(shell pwd)/../../../:/go/src/k8s.io/kubernetes$(DOCKER_VOL_OPTS) -v $${migrate_tmp_dir}:/build$(DOCKER_VOL_OPTS) -e GOARCH=$(ARCH) golang:$(GOLANG_VERSION)  <del> /bin/bash -c "CGO_ENABLED=0 go build -o /build/cp k8s.io/kubernetes/cluster/images/etcd/cp";  </del> <ins> /bin/bash -c "CGO_ENABLED=0 GO111MODULE=off go build -o /build/cp k8s.io/kubernetes/cluster/images/etcd/cp";  </ins> $(BIN_INSTALL) $${migrate_tmp_dir}/cp $(TEMP_DIR); ifeq ($(ARCH),amd64)
Change:
<!-- Please only use this template for submitting reports about continuously failing tests or jobs in Kubernetes CI -- Kubernetes e2e suite.[sig-autoscaling] [Feature:HPA] Horizontal pod autoscaling (scale resource: CPU) [Serial] [Slow] ReplicaSet with idle sidecar (ContainerResource use case) Should not scale up on a busy sidecar with an idle application Kubernetes e2e suite.[sig-autoscaling] [Feature:HPA] Horizontal pod autoscaling (scale resource: CPU) [Serial] [Slow] ReplicaSet with idle sidecar (ContainerResource use case) Should scale from 1 pod to 3 pods and from 3 to 5 on a busy application with an idle sidecar container August 13th 2021 pr: feature is not turned on in api server /sig windows /assign /triage accepted
kubernetes-sigs/windows-testing enables this test for windows but the current number of CPU's require for this new test is higher due to each pod requiring 500m cpu. the existing tests work on the current infra with the same number for CPU requests. Since the new tests adds a second container for each pod it double the amount of cpu required and causes the pod to go to pending and the test to timeout:

Discussion:
} scaleTest := &HPAContainerResourceScaleTest{ initPods:                    1, <del> totalInitialCPUUsage:        250, perContainerCPURequest:      500, </del> <ins> totalInitialCPUUsage:        125, perContainerCPURequest:      250, </ins> targetCPUUtilizationPercent: 20, minPods:                     1, maxPods:                     5, firstScale:                  3, firstScaleStasis:            stasis, <del> cpuBurst:                    700, </del> <ins> cpuBurst:                    500, </ins> secondScale:                 5, sidecarStatus:               e2eautoscaling.Enable, sidecarType:                 e2eautoscaling.Idle,
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 --My IDE rendered the comments in and they were incomprehensible. I looked at the corresponding source, and found stuff like Those things set off in angle brackets are taken to be HTML tags. They should be backquoted. I expected the comments to render comprehensibly. Kubernetes version (use ): 1.22.0 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:
Here is an example of what I saw in my IDE. The HTML tags in the comment source just disappeared, because they are not actually meaningful HTML tags. <img width="627" alt="Screen Shot 2021-08-19 at 12 16 00 PM" src="https://user-"
/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 : /good-first-issue </details
Better source would look like this:
That would make it look like this: <img width="748" alt="Screen Shot 2021-08-19 at 3 18 23 PM" src="https://user-"
/assign /triage accepted
Can anyone tell me who is the mentor in Kubernetes,please
I don't know about a single designated mentor. I will be happy to help anyone working on this issue.
I would suggest either attending a SIG (Eg. APIMachinery or Storage) meeting which interests you and seeing what that SIG has as far as getting new contributors up to speed or reach out to ContribEx.

Discussion:
} // IndexerFunc is a function that for a given object computes <del> // <value of an index> for a particular <index>. </del> <ins> // `<value of an index>` for a particular `<index>`. </ins> type IndexerFunc func(obj runtime.Object) string <del> // IndexerFuncs is a mapping from <index name> to function that // for a given object computes <value for that index>. </del> <ins> // IndexerFuncs is a mapping from `<index name>` to function that // for a given object computes `<value for that index>`. </ins> type IndexerFuncs map[string]IndexerFunc // Everything accepts all objects.

Field: fields.Everything(), } <del> // MatchValue defines a pair (<index name>, <value for that index>). </del> <ins> // MatchValue defines a pair (`<index name>`, `<value for that index>`). </ins> type MatchValue struct { IndexName string Value     string
Change:
When using a generic ephemeral volume, the volume binder in kube-scheduler typically processes a new pod before the generic volume controller in kube-controller-manager has a chance to create the PVC. This leads to events for pods using generic ephemeral volumes: It would be nice to suppress these warnings for a short while (duration to be determined) after the pod creation. Later they should be emitted because then they indicate that the generic volume controller isn't working properly. This makes nicer to use.
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 storage

Discussion:
"time" v1 "k8s.io/api/core/v1" <ins> apierrors "k8s.io/apimachinery/pkg/api/errors" </ins> metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" utilfeature "k8s.io/apiserver/pkg/util/feature"

hasPVC = true pvc, err := pl.PVCLister.PersistentVolumeClaims(pod.Namespace).Get(pvcName) if err != nil { <del> // The error has already enough context ("persistentvolumeclaim "myclaim" not found") </del> <ins> // The error usually has already enough context ("persistentvolumeclaim "myclaim" not found"), // but we can do better for generic ephemeral inline volumes where that situation // is normal directly after creating a pod. if ephemeral && apierrors.IsNotFound(err) { err = fmt.Errorf("waiting for ephemeral volume controller to create the persistentvolumeclaim %q", pvcName) } </ins> return hasPVC, err }
Change:
The test ""should have ipv4 and ipv6 node podCIDRs" depends on a feature that is optional (one of the ipam controllers in the controller manager) We have discussed this previously, but since this is actually affecting downstream CIs I propose to remove it form the e2e framework. For cloud providers, it can be moved to the own external cloud provider code, since the policy is to not host more tests with dependencies. For the feature itself, it can easily be replaced by a unit or an integration test. ref:
we have discussed it before, but now is affecting downstream CIs and is really a controller-manager test. /cc /cc for sig-testing visibility /sig network
Removing the test sounds reasonable as it's specific to cloud providers. I'll review if we have enough unit tests for this and open a PR to remove it from e2e.
We can add more if they don't exist, as a condition to remove the e2e
/assign
/triage accepted
It's not specific to cloud providers. It's specific to different network plugins; some require it and some don't.
I think that the comment is related to the e2e framework skipper, that only skips by cloud provider, but yeah, it is about CNIs

Discussion:
} }) <del> // Marking this as LinuxOnly because windows tests run against Azure CNI which doesn't publish // a podCIDR for each family. ginkgo.It("should have ipv4 and ipv6 node podCIDRs [LinuxOnly]", func() { // TODO (aramase) can switch to new function to get all nodes nodeList, err := e2enode.GetReadySchedulableNodes(cs) framework.ExpectNoError(err) for _, node := range nodeList.Items { framework.ExpectEqual(len(node.Spec.PodCIDRs), 2) // assert podCIDR is same as podCIDRs[0] framework.ExpectEqual(node.Spec.PodCIDR, node.Spec.PodCIDRs[0]) // assert one is ipv4 and other is ipv6 framework.ExpectEqual(netutils.IsIPv4CIDRString(node.Spec.PodCIDRs[0]) != netutils.IsIPv4CIDRString(node.Spec.PodCIDRs[1]), true) } }) </del> ginkgo.It("should create pod, add ipv6 and ipv4 ip to pod ips", func() { podName := "pod-dualstack-ips"

}) // takes close to 140s to complete, so doesn't need to be marked [SLOW] <del> // TODO (aramase) remove phase 2 tag once phase 2 of dual stack is merged </del> ginkgo.It("should be able to reach pod on ipv4 and ipv6 ip", func() { serverDeploymentName := "dualstack-server" clientDeploymentName := "dualstack-client"
Change:
Testgrid doesn't load kubernetes/test-infra From: /sig api-machinery
/assign /triage accepted
Yes. It looks like a bug. There are many calls to , and they are not all guaranteed to happen before the second . I will revise.

Discussion:
onExecuteFunc := func() { firstRunning.Done() <del> firstRunning.Wait() sendSignals() </del> fakeFilter.wait() allRunning.Done()

} firstRunning.Wait() <ins> sendSignals() </ins> fakeFilter.wait() firstRunning.Add(concurrentRequests) for i := 0; i < concurrentRequests; i++ { go func() { defer wg.Done()

} }() } <ins> firstRunning.Wait() sendSignals() </ins> wg.Wait() }
Change:
<!-- Please only use this template for submitting reports about flaky tests or jobs (pass or fail with no underlying change in code) in Kubernetes CI -- " TestEnsurePIPTagged/ensurePIPTaggedshouldensurethepipistaggedasconfigured": 8, " TestEnsurePIPTagged": 8, failed exmaple links to appreciated links to specific failures in spyglass appreciated <!-- Please see the deflaking doc () for more guidance! --
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 cloud-provider /cc as the test case is updated recently in .
flaking badly since the merged update -
/assign
to fix

Discussion:
klog.Warningf("parseTags: error when parsing key-value pair %s-%s, would ignore this one", k, v) continue } <del> formatted[k] = to.StringPtr(v) </del> <ins> formatted[strings.ToLower(k)] = to.StringPtr(v) </ins> } return formatted }
Change:
resource is currently skipped by test. When it flakes, it fails with the following error this is the test result: We need to identify the root case of why it flakes and fix it. "flowschemas" being skipped means that we may not catch any errors related to field resetting when we add a new version of the API. remove "flowschemas" from go test -v -count=1 ./test/integration/apiserver/apply -run="" run multiple times to see the flake 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:
/sig api-machinery cc
is someone going to look at this one or you need help from the broader sig? (we saw this one during triage)
I have limited knowledge on how the test works. Yes, i would appreciate some help from the broader sig.
Judging from the comment it sounds like whoever wrote that believed that the APF controller was interfering with the test (probably by writing back a status). The fix might be to disable that controller for that test.
/triage accepted
/assign
Bug might explain this.
Current understanding is as follows. The annotations needed to guide strategic merge patch are missing from the Condition slice field in FlowSchemaStatus and in PriorityLevelConfigurationStatus. The APF config-consuming controller was written, however, with the mistaken understanding that a strategic merge patch of Status with one Condition will only affect that member of the Condition slice. The truth is that currently such a patch will replace the entire slice. That is why FlowSchema fails TestApplyResetFields and is specifically excluded. will change that controller to use server-side apply instead of strategic merge patch, so that indeed only the one intended member of the Condition slice is affected. calls for adding the missing annotations in the API. This is too disruptive to do to an existing version and so will have to be done as we create the next version of the API.
/reopen was reverted due to
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
/reopen for
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
yields zero result

Discussion:
// resetFieldsStatusDefault conflicts with statusDefault const resetFieldsStatusDefault = `{"status": {"conditions": [{"type": "MyStatus", "status":"False"}]}}` <del> var resetFieldsSkippedResources = map[string]struct{}{ // TODO: flowschemas is flaking, // possible bug in the flowschemas controller. "flowschemas": {}, } </del> <ins> var resetFieldsSkippedResources = map[string]struct{}{} </ins> // noConflicts is the set of reources for which // a conflict cannot occur.
Change:
<!-- Please only use this template for submitting reports about flaky tests or jobs (pass or fail with no underlying change in code) in Kubernetes CI --pull-kubernetes-unit TestDifferentWidths links to appreciated links to specific failures in spyglass appreciated
/sig api-machinery
/assign /cc /triage accepted
Yes, a couple of the unit tests have too stringent evaluations. See

Discussion:
concurrencyLimit:       6, evalDuration:           time.Second * 20, expectedFair:           []bool{true}, <del> expectedFairnessMargin: []float64{0.1}, </del> <ins> expectedFairnessMargin: []float64{0.16}, </ins> expectAllRequests:      true, evalInqueueMetrics:     true, evalExecutingMetrics:   true,

concurrencyLimit:       6, evalDuration:           time.Second * 40, expectedFair:           []bool{true}, <del> expectedFairnessMargin: []float64{0.35}, </del> <ins> expectedFairnessMargin: []float64{0.38}, </ins> expectAllRequests:      true, evalInqueueMetrics:     true, evalExecutingMetrics:   true,