jiebi/CodeConvo huggingface dataset:
Change:
// Register registers a collectable metric but uses the global registry Register = defaultRegistry.Register <ins> // Registerer exposes the global registerer Registerer = defaultRegistry.Registerer </ins> ) func init() {

Discussion:
At (originally ) component-base metrics exposed Registerer API for raw prometheus registration, and I took dependency in The resulting does not seem to emit the new metrics (example: ). The metrics handler should emit the registered metrics. Falling back to does work. So there is some material difference with . 24, 1.25, 1.26 GKE No response No response No response No response
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
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
/assign jkh52
Change:
examples/storage/cassandra/image/run.sh:	cluster_name  examples/storage/vitess/env.sh:    node_ip=$(get_node_ip) hack/jenkins/e2e-runner.sh:    local -r image_project="$1" <ins> hack/local-up-cluster.sh:        advertise_address="--advertise_address=${API_HOST}" </ins> hack/local-up-cluster.sh:      runtime_config="--runtime-config=${RUNTIME_CONFIG}" <ins> hack/local-up-cluster.sh:    advertise_address="" </ins> hack/local-up-cluster.sh:    runtime_config="" hack/test-update-storage-objects.sh:  local storage_media_type=${2:-""} hack/test-update-storage-objects.sh:  local storage_versions=${1:-""}

Discussion:
seems to have broken the kubernetes service when using : With this patch: Without it: Tested with v 1.3.2.
Looks like we don't like explicitly don't want to allow 127.0.0.1 loopback address here -
Change:
func testPodFailSubpath(f *framework.Framework, pod *v1.Pod) { <del> pod, err := f.ClientSet.CoreV1().Pods(f.Namespace.Name).Create(pod) Expect(err).ToNot(HaveOccurred(), "while creating pod") </del> <ins> var podClient *framework.PodClient podClient = f.PodClient() pod = podClient.Create(pod) </ins> defer func() { framework.DeletePodWithWait(f, f.ClientSet, pod) }() <del> err = framework.WaitTimeoutForPodRunningInNamespace(f.ClientSet, pod.Name, pod.Namespace, framework.PodStartShortTimeout) </del> <ins> err := framework.WaitTimeoutForPodRunningInNamespace(f.ClientSet, pod.Name, pod.Namespace, framework.PodStartShortTimeout) </ins> Expect(err).To(HaveOccurred(), "while waiting for pod to be running") }

Discussion:
Which jobs are failing: All new tests introduced for api change Which test(s) are failing: New alpha subpathExpr tests [Feature:VolumeSubpathEnvExpansion][NodeAlphaFeature:VolumeSubpathEnvExpansion] Existing tests are working fine and the whole suite works correctly in the gce suite https://k8s- Since when has it been failing: 21st February 2019 (since merge of PR) Testgrid link: https://k8s- Reason for failure: Investigation shows that node e2e tests use a different framework pod creation pattern Doing some comparisons of tests that work and those that don't reveals differences in the standard client set as and the existing ones which do work go through the intermediate which uses The version has an additional function specifically for node tests
/sig storage
/sig node /sig test
/assign
/cc
/sig test
Change:
"strings" "testing" <ins> "github.com/GoogleCloudPlatform/kubernetes/pkg/api" </ins> "github.com/GoogleCloudPlatform/kubernetes/pkg/client/clientcmd" clientcmdapi "github.com/GoogleCloudPlatform/kubernetes/pkg/client/clientcmd/api" "github.com/GoogleCloudPlatform/kubernetes/pkg/util"

Discussion:
E.g., it calls Convert() for every byte of a slice of uint8. E0330 22:15:23. 5352 ] TIM: converting bool E0330 22:15:23. 5352 ] TIM: converting []v1.NamedExtension E0330 22:15:23. 5352 ] TIM: converting []v1.NamedCluster E0330 22:15:23. 5352 ] TIM: converting []v1.NamedCluster E0330 22:15:23. 5352 ] TIM: converting v1.Cluster E0330 22:15:23. 5352 ] TIM: converting v1.Cluster E0330 22:15:23. 5352 ] TIM: converting string E0330 22:15:23. 5352 ] TIM: converting string E0330 22:15:23. 5352 ] TIM: converting bool E0330 22:15:23. 5352 ] TIM: converting string E0330 22:15:23. 5352 ] TIM: converting []uint8 E0330 22:15:23. 5352 ] TIM: converting uint8 E0330 22:15:23. 5352 ] TIM: converting uint8 E0330 22:15:23. 5352 ] TIM: converting uint8 E0330 22:15:23. 5352 ] TIM: converting uint8 E0330 22:15:23. 5352 ] TIM: converting uint8 E0330 22:15:23. 5352 ] TIM: converting uint8 E0330 22:15:23. 5352 ] TIM: converting uint8 E0330 22:15:23. 5352 ] TIM: converting uint8 E0330 22:15:23. 5352 ] TIM: converting uint8 E0330 22:15:23. 5352 ] TIM: converting uint8 E0330 22:15:23. 5352 ] TIM: converting uint8 E0330 22:15:23. 5352 ] TIM: converting uint8 E0330 22:15:23. 5352 ] TIM: converting uint8 E0330 22:15:23.

5352 ] TIM: converting uint8 E0330 22:15:23. 5352 ] TIM: converting uint8 ... thousands of these.
There's an easy fix for this :/
Change:
t.Errorf("Expect latency to be greater than 0, got: %v", m.Histogram.SampleSum) } } <ins> func collectAndComparePermitWaitDuration(t *testing.T, wantRes string) { m := collectHistogramMetric(metrics.PermitWaitDuration) if wantRes == "" { if m != nil { t.Errorf("PermitWaitDuration shouldn't be recorded but got %+v", m) } return } if wantRes != "" { if len(m.Label) != 1 { t.Fatalf("Unexpected number of label pairs, got: %v, want: 1", len(m.Label)) } if *m.Label[0].Value != wantRes { t.Errorf("Unexpected result label, got: %q, want %q", *m.Label[0].Value, wantRes) } if *m.Histogram.SampleCount != 1 { t.Errorf("Expect 1 sample, got: %v", m.Histogram.SampleCount) } if *m.Histogram.SampleSum <= 0 { t.Errorf("Expect latency to be greater than 0, got: %v", m.Histogram.SampleSum) } } } func collectHistogramMetric(metric prometheus.Collector) *dto.Metric { ch := make(chan prometheus.Metric, 1) metric.Collect(ch) select { case got := <-ch: m := &dto.Metric{} got.Write(m) return m default: return nil } } </ins>

Discussion:
<!-- Please only use this template for submitting enhancement requests --What would you like to be : metric name Description -- -- permitwaitduration_seconds Duration of permit extension point finishes waiting. Why is this needed: In permit extension point, if the status is "Wait", we block until the pod is scheduled or timeout: Blocking is an important behavior that we should monitor. /sig scheduling
/assign
Change:
} return nil, fmt.Errorf("bad pod %s", name) } <del> resp, err := http.Get(fw.testHTTPServer.URL + "/podInfo?podID=goodpod") </del> <ins> resp, err := http.Get(fw.testHTTPServer.URL + "/podInfo?podID=goodpod&podNamespace=default") </ins> if err != nil { t.Errorf("Got error GETing: %v", err) }

Discussion:
The podInfo call has no way to accept namespace, which means the apiserver can't fetch pod info. Probably need to make namespace a required path parameter.
this is probably you :)
- is this something you see when working off ??
- ok so this is pod_cache, will review
If you don't time, I can pick up this one.
I got it.
Per discussion with , will deliver a pull after is merged.
Change:
if stderr != nil { command.Stderr = stderr } <del> return command.Run() </del> <ins> return newRktExitError(command.Run()) </ins> } // PortForward executes socat in the pod's network namespace and copies

Discussion:
With rkt as the container runtime, the e2e test fails with I dove into it a bit further and it looks like a real issue. With additional logging it appears that the probe does fail (exec happens and returns incorrectly as expected), but when calls it never gets that the given ID exists. The pod definition I've been using is: It restarts very slowly with rkt (on the order of an hour I believe, see sleep 600), but restarts very frequently with docker. cc
Change:
// Filters the nodes to find the ones that fit based on the given predicate functions // Each node is passed through the predicate functions to determine if it is a fit <del> func (g *genericScheduler) findNodesThatFit(pluginContext *framework.PluginContext, pod *v1.Pod, nodes []*v1.Node) ([]*v1.Node, FailedPredicateMap, error) { </del> <ins> func (g *genericScheduler) findNodesThatFit(pluginContext *framework.PluginContext, pod *v1.Pod, nodeLister algorithm.NodeLister) ([]*v1.Node, FailedPredicateMap, error) { </ins> var filtered []*v1.Node failedPredicateMap := FailedPredicateMap{} if len(g.predicates) == 0 { <del> filtered = nodes </del> <ins> filtered = nodeLister.ListNodes() </ins> } else { allNodes := int32(g.cache.NodeTree().NumNodes()) numNodesToFind := g.numFeasibleNodesToFind(allNodes)

Discussion:
In : It seems that nodes are only used in the case there are no predicates. This call can be moved inside . Moving it there saves us from creating the node slice unless it is necessary. Checking if there are no nodes (line 202 below) can be done using . /kind cleanup /sig scheduling
I can work on this
Change:
"bytes" "fmt" "net/http" <ins> "reflect" </ins> "strings" "sync" "sync/atomic"

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: for extension API server panics with: Apparently introduces this panic with . What you expected to happen: to do not panic. How to reproduce it (as minimally and precisely as possible): extension API server with - for example the endpoint that the apiserver panics with 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:
/kind regression
/sig api-machinery
/assign
cc
Oops - sorry for that. It seems it is basically this comment: that I blindly applied without e2e retesting (the problem seem to be lack of tests, which is a bit surprising because bugs in my previous implementations were caught by tests). ^^ BTW - this has been cherrypicked to previous releases: 16: 17: 18: so it's actually even more critical...
I can file the automated cherry-pick PRs once the PR against the master branch is merged. :)
Reopening - since we need to cherrypick it still.
I now opened the cherry-picks: 16 - 17 - 18 -
Fix and picks are merged
Change:
}(plugins[i]) } <ins> w := newWatcherWithHandler(t, hdlr, false /* testDeprecatedDir */) defer func() { require.NoError(t, w.Stop()) }() </ins> c := make(chan struct{}) go func() { defer close(c)

Discussion:
What happened: A race condition in the plugin watcher might happen when a is created, started and immediately stopped and cleaned up. If executed several times, the unit test will expose this issue. The PR addressed part of the problem by serializing the handling of CREATE and DELETE events. However, a race might still happen in the function. describes in detail the problem. How to reproduce it (as minimally and precisely as possible): /sig storage /sig node
/assign
Change:
} func TestParseACRLoginServerFromImage(t *testing.T) { <ins> configStr := ` { "aadClientId": "foo", "aadClientSecret": "bar" }` result := []containerregistry.Registry{ { Name: to.StringPtr("foo"), RegistryProperties: &containerregistry.RegistryProperties{ LoginServer: to.StringPtr("*.azurecr.io"), }, }, } fakeClient := &fakeClient{ results: result, } provider := &acrProvider{ registryClient: fakeClient, } provider.loadConfig(bytes.NewBufferString(configStr)) provider.environment = &azure.Environment{ ContainerRegistryDNSSuffix: ".azurecr.my.cloud", } </ins> tests := []struct { image    string expected string

Discussion:
What happened: An aks-engine cluster with a user assigned managed service cluster identity fails to authenticate to azure container registries in private clouds when the proper (acrpull) azure role assignments are in place and when there are no image pull secrets. What you expected to happen: The cluster should be able to authenticate and pull from an ACR hosted in the same azure cloud without needing additional pull secrets when the cluster identity has the proper acrpull azure role assignment, no matter which azure cloud it is operating in. How to reproduce it (as minimally and precisely as possible): Assume you have a private azure cloud where every url ends with "". That would mean the ACR suffix would be . Let's pretend you have an ACR at and you try to deploy a pod in your cluster referencing the image . This will fail to pull when you have no image pull secrets. Anything else we need to know?: The problem stems from the following lines where expected ACR suffix domains are hardcoded: Environment: Kubernetes version (use ): 1.16.9 Cloud provider or hardware configuration: Azure private OS: ubuntu 16.0.4 Network plugin and version: Azure CNI
/sig provider-azure
The label(s) cannot be applied, because the repository doesn't have them <detailsIn response to : /sig provider-azure 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
/area provider/azure /sig cloud-provider
It looks like we may be able to obtain the acr suffix from the azure environment:
there is a security issue here: if we support self defined ACR domain, e.g. , then service principal secret could be sent to that remote server. The reason why we use hardcoded domains is that we could always make sure the following 4 domains are owned by Azure:
Change:
case !shouldContinueRunning && exists: // If daemon pod isn't supposed to run on node, but it is, delete all daemon pods on node. for _, pod := range daemonPods { <ins> if pod.DeletionTimestamp != nil { continue } </ins> podsToDelete = append(podsToDelete, pod.Name) } }

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: What you expected to happen: How to reproduce it (as minimally and precisely as possible): Anything else we need to know?: Environment:
/sig apps
/assign
/reopen
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
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
Rotten issues close after 30d of inactivity. Reopen the issue with . Mark the issue as fresh with . Send feedback to sig-testing, kubernetes/test-infra and/or . /close
Closing this issue. <detailsIn response to : Rotten issues close after 30d of inactivity. Reopen the issue with . Mark the issue as fresh with . /close Instructions for interacting with me using PR comments are available . If you have questions or suggestions related to my behavior, please file an issue against the repository. </details
Change:
}, }, RestartPolicy: v1.RestartPolicyNever, <ins> NodeSelector:  nodeSelector, </ins> }, } By(fmt.Sprintf("Creating pod %s", pod.Name))

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!--What happened: Test pod is not created successfully, likely due to it being scheduled in a different zone from where the PD is provisioned. <!-- DO NOT EDIT BELOW THIS LINE --/kind failing-test
/sig storage /assign /priority critical-urgent
Change:
return nil } <del> func (r RealPodControl) DeletePod(namespace, podID string) error { return r.KubeClient.Pods(namespace).Delete(podID, nil) </del> <ins> func (r RealPodControl) DeletePod(namespace string, podID string, object runtime.Object) error { meta, err := api.ObjectMetaFor(object) if err != nil { return fmt.Errorf("object does not have ObjectMeta, %v", err) } if err := r.KubeClient.Pods(namespace).Delete(podID, nil); err != nil { r.Recorder.Eventf(object, api.EventTypeWarning, "FailedDelete", "Error deleting: %v", err) return fmt.Errorf("unable to delete pods: %v", err) } else { glog.V(4).Infof("Controller %v deleted pod %v", meta.Name, podID) r.Recorder.Eventf(object, api.EventTypeNormal, "SuccessfulDelete", "Deleted pod: %v", podID) } return nil </ins> } type FakePodControl struct {

Discussion:
Currently RC emits an event when it's creating a pod: But nothing is emitted when a pod is deleted. We should create event for scaling both ways. cc
Change:
return false } <del> // Allocates from reusableDevices list first. if allocateRemainingFrom(reusableDevices) { return allocated, nil } </del> // Needs to allocate additional devices. if m.allocatedDevices[resource] == nil { m.allocatedDevices[resource] = sets.NewString() } <ins> // Allocates from reusableDevices list first. if allocateRemainingFrom(reusableDevices) { return allocated, nil } </ins> // Gets Devices in use. devicesInUse := m.allocatedDevices[resource] // Gets Available devices.

Discussion:
kubelet panic with nil map when apiserver restart and kubelet is allocating scaler resources. ! kubelet should not panic. when kubelet is allocating scaler resource with pod starting, restart the api servers; No response <detailsv1.23.6 </details<detailsNone </details<details</details<details</details<details</details<details</details
/sig node
Can this be reproduced? Could you share some more information to reproduce it? After kubelet restart, does it happen again?
/triage needs-information can you please give more information on the set up and how it got to this state. Also if you can include , it will help diagnotics
/assign
fixes the crash by allocating prior to calling allocateRemainingFrom.
/triage accepted /priority important-longterm
/remove-triage needs-information
Are master and minion in the same node? Normally api-server desn't influnce kubelet. ! !
Change:
generate-etcd-cert "${KUBE_TEMP}/cfssl" "${hostClient}" "client" "etcd-apiserver-client" pushd "${KUBE_TEMP}/cfssl" <del> ETCD_APISERVER_CA_KEY_BASE64=$(base64 "ca-key.pem" | tr -d 'rn') </del> <ins> ETCD_APISERVER_CA_KEY_BASE64=$(base64 $BASE64_INPUT_FLAG "ca-key.pem" | tr -d 'rn') </ins> ETCD_APISERVER_CA_CERT_BASE64=$(gzip -c "ca.pem" | base64 | tr -d 'rn') <del> ETCD_APISERVER_SERVER_KEY_BASE64=$(base64 "etcd-apiserver-server-key.pem" | tr -d 'rn') </del> <ins> ETCD_APISERVER_SERVER_KEY_BASE64=$(base64 $BASE64_INPUT_FLAG "etcd-apiserver-server-key.pem" | tr -d 'rn') </ins> ETCD_APISERVER_SERVER_CERT_BASE64=$(gzip -c "etcd-apiserver-server.pem" | base64 | tr -d 'rn') <del> ETCD_APISERVER_CLIENT_KEY_BASE64=$(base64 "etcd-apiserver-client-key.pem" | tr -d 'rn') </del> <ins> ETCD_APISERVER_CLIENT_KEY_BASE64=$(base64 $BASE64_INPUT_FLAG "etcd-apiserver-client-key.pem" | tr -d 'rn') </ins> ETCD_APISERVER_CLIENT_CERT_BASE64=$(gzip -c "etcd-apiserver-client.pem" | base64 | tr -d 'rn') popd }

Discussion:
under kubernetes project and running get error: ! I am running on darwin arm64 running get this: if running on linux:
/area test
/sig cli
/sig testing /area test-infra /remove-sig cli /remove-area test
FWIW You pretty much have to install gnu coreutils to develop here, many scripts will actually refuse to run if the gnu version of utils are not available. That said, we should fix this.
/triage accepted
Change:
dryRunStrategy   cmdutil.DryRunStrategy dryRunVerifier   *resource.DryRunVerifier builder          *resource.Builder <del> generatorFunc    func(string, *meta.RESTMapping) (generate.StructuredGenerator, error) </del> <ins> generatorFunc    func(name, refName string, mapping *meta.RESTMapping) (generate.StructuredGenerator, error) </ins> fieldManager     string HPAClient         autoscalingv1client.HorizontalPodAutoscalersGetter

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: the hpa name is always info.Namenot --name What you expected to happen: 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:
/assign
/sig cli
Change:
} if exist := waitForPathToExist(&devicePath, multipathDeviceTimeout, iscsiTransport); !exist { <del> klog.Errorf("Could not attach disk: Timeout after 10s") </del> <ins> klog.Errorf("Could not attach disk: Timeout after %ds", multipathDeviceTimeout) </ins> // update last error <del> lastErr = fmt.Errorf("Could not attach disk: Timeout after 10s") </del> <ins> lastErr = fmt.Errorf("Could not attach disk: Timeout after %ds", multipathDeviceTimeout) </ins> continue } else { devicePaths[tp] = devicePath

Discussion:
What happened: Minor issue with the current source code in : The error message "Could not attach disk: Timeout after 10s" includes the verbatim string constant "10" (appears two times in adjacent rows), but the call to in the preceding if statement refers to the Go constant (currently set to 10) instead. The strings for the error messages should refer to (i.e. print) the same Go constant to guarantee that they always stay in sync. Kubernetes version: current master branch on GitHub /sig storage
/assign