jiebi/CodeConvo huggingface dataset:
Change:
package ipam import ( <ins> "fmt" </ins> "testing" "time"

Discussion:
/kind bug /sig network What happened: Networking tight loop causing GCP Cloud rate limiting to kick in. Causing tests to fail. Suspected call stack: Looks like it could be the root cause of these test failures here: https://k8s- These storage tests are hitting rate limit on the cloud api when trying to detach/delete disks. However, we have exponential backoff for all these functions. But the rate limiting from an external source is affecting the tests. See logs snippet: Note: These logs span exactly 1 minute. Try grepping "rateLimit" or "CIDRNotAvailable" -also note that the CIDRNotAvailable error messages are probably not verbose enough as they do not pinpoint what the actual error is, you can only associate them by correlation in timing and then looking at the code. Shorter snippet from above log file to demonstrate: since this is running on hundreds of nodes hitting this API call should involve some sort of exponential backoff as well as jitter. /cc /assign
/assign
/assign
/sig cloud-provider /sig gcp /milestone v1.12 (since is marked as v1.12)
may we have a priority on this since Code Freeze is next week? :)
Quick question, are we using the default API rate limits quota for scalability projects?
I will defer to for priority because he probably has the most context on how serious this is and what it could affect
Which rate limit are you referring to? (I don't remember us changing it any time) Btw - this is the project being used for that job -
I put up a patch for adding exponential retry
Gentle reminder that for this to be considered for 1.12 past Code Freeze, which is next week, it must have a status/critical-urgent label. I see this is being actively worked on
Change:
PrintFlags:       genericclioptions.NewPrintFlags("condition met"), ResourceBuilderFlags: genericclioptions.NewResourceBuilderFlags(). WithLabelSelector(""). <ins> WithFieldSelector(""). WithAll(false). </ins> WithAllNamespaces(false). WithAll(false). WithLatest(),

Discussion:
We should consider updating the command to wait on all resources for a given kind. For example: would wait for every pod in the current namespace to be deleted. /sig cli cc
Interestingly, the error text implies that this is already supported: Yet when you try to use it, it declares Would really like the wait functionality given some much needed TLC. Still no way to determine what conditions are supported for various resources (eg. I can say and it just waits for the timeout like that resource might actually potato at some point).
I'm looking into adding the --all flag to wait, sounds like a nice feature to have :)
Change:
// Clear out the self link, if specified, since it's not in the registry either. minion.SelfLink = "" <del> // TODO: GetMinion will health check the minion, but we shouldn't require the minion to be // running for updating labels. </del> oldMinion, err := rs.registry.GetMinion(ctx, minion.Name) if err != nil { return nil, err } <ins> // This is hacky, but minion HostIP has been moved from spec to status since v1beta2. When updating // minion from older client, HostIP will be lost.  Fix it here temporarily until we strip out status // info from user input. if minion.Status.HostIP == "" { minion.Status.HostIP = oldMinion.Status.HostIP } </ins> if errs := validation.ValidateMinionUpdate(oldMinion, minion); len(errs) > 0 { return nil, kerrors.NewInvalid("minion", minion.Name, errs) }

Discussion:
To reproduce: remove status and hostip (hostip is part of status internally) After the update, host ip is gone... Probably a conversion issue
This looks like an instance of .
Change:
// Otherwise, it returns nil. The caller should acquire the lock. func (c *cache) getIfNewerThan(id types.UID, minTime time.Time) *data { d, ok := c.pods[id] <del> if utilfeature.DefaultFeatureGate.Enabled(features.EventedPLEG) { // Evented PLEG has CREATED, STARTED, STOPPED and DELETED events // However if the container creation fails for some reason there is no // CRI event received by the kubelet and that pod will get stuck a // GetNewerThan call in the pod workers. This is reproducible with // the node e2e test, // https://github.com/kubernetes/kubernetes/blob/83415e5c9e6e59a3d60a148160490560af2178a1/test/e2e_node/pod_hostnamefqdn_test.go#L161 // which forces failure during pod creation. This issue also exists in // Generic PLEG but since it updates global timestamp periodically // the GetNewerThan call gets unstuck. // During node e2e tests, it was observed this change does not have any // adverse impact on the behaviour of the Generic PLEG as well. switch { case !ok: return makeDefaultData(id) case ok && (d.modified.After(minTime) || (c.timestamp != nil && c.timestamp.After(minTime))): return d default: return nil } } </del> globalTimestampIsNewer := (c.timestamp != nil && c.timestamp.After(minTime)) if !ok && globalTimestampIsNewer { // Status is not cached, but the global timestamp is newer than

Discussion:
Presubmit job - Job History: The periodic job in the test grid is found to be flaky as well. Following are some of the tests that are found to be flaky The flakiness is observed almost since the job's inception Pod status/cache seems to be not getting updated correctly between the two immediate calls of a pod and hence resulting in the creation of duplicate containers within the same pod. Also, the seems to be non-blocking when the Evented PLEG is enabled and hence resulting in the creation of duplicate containers when there are immediate multiple calls before the pod status/cache is updated. No response_ /sig node
/kind bug
/assign
/triage accepted /remove-kind bug
We are experiencing this issue Similarly, we are using cgroup v1 also.
Change:
$ docker login DOCKER_REGISTRY_SERVER --username=DOCKER_USER --password=DOCKER_PASSWORD --email=DOCKER_EMAIL'. That produces a ~/.dockercfg file that is used by subsequent 'docker push' and 'docker pull' commands to <del> authenticate to the registry. </del> <ins> authenticate to the registry. The email address is optional. </ins> When creating applications, you may have a Docker registry that requires authentication.  In order for the nodes to pull images on your behalf, they have to have the credentials.  You can provide this information

Discussion:
<!-- Thanks for filing an issue! Before hitting the button, please answer these questions.--Is this a request for help? (If yes, you should use our troubleshooting guide and community support channels, see ): What keywords did you search in Kubernetes issues before filing this one? (If you have found any duplicates, you should instead reply there.): Is this a BUG REPORT or FEATURE REQUEST? (choose one): <!-- If this is a BUG REPORT, please: Fill in as much of the template below as you can. If you leave out information, we can't help you as well. If this is a FEATURE REQUEST, please: Describe in detail the feature/behavior/change you'd like to see. In both cases, be ready for followup questions, and please respond in a timely manner. If we can't reproduce a bug or think a feature already exists, we might close your issue. If we're wrong, PLEASE feel free to reopen it and explain why. --Kubernetes version (use ): Environment: Cloud provider or hardware configuration: OS (e.g. from /etc/os-release): Kernel (e.g. ): Install tools: Others: What happened: When I create a docker registry secret, the is also a MUST, I think we should make this parameter as optional as there is no need always put when creating a docker registry secret. What you expected to happen: How to reproduce it (as minimally and precisely as possible): Anything else we need to know:
Agree it should not be required
Did this change get reverted? I do not see as optional on stable.
I feel that this code should be changed because "--docker-email flag" is no longer required.
error: flag docker-email is required. On kubenetes 1.10.3, the above error message still exists
The field is still required. This is very frustrating as does not require an email but Kubernetes does? Is there a good reason for this?
Why is this closed? As far as I can see it is still required?
Change:
<del> #!/bin/bash # Copyright 2014 The Kubernetes Authors All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # #     http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Generates secret, creates secret on kube, creates pod on kube set -o errexit set -o nounset set -o pipefail ORIGIN=$(dirname "${BASH_SOURCE}") KUBE_ROOT=$(dirname "${BASH_SOURCE}")/../.. ## Generate resources ${ORIGIN}/resource-generator.sh ## Create the secret ${KUBE_ROOT}/cluster/kubectl.sh create -f ${ORIGIN}/secret.json ## Create the pod ${KUBE_ROOT}/cluster/kubectl.sh create -f ${ORIGIN}/pod.json ## Create the services ${KUBE_ROOT}/cluster/kubectl.sh create -f ${ORIGIN}/api-service.json ${KUBE_ROOT}/cluster/kubectl.sh create -f ${ORIGIN}/ui-service.json </del>  No newline at end of file

Discussion:
This PR was prematurely merged: Need to update the PR based on the actual steps that were needed to get what was demonstrated at the public Kubernetes meet-up last week.
Any chance you can get rid of the hostPort from the example?
- depending on the Kubernetes provider, yes. For Vagrant based provider, I think I still need the hostPort because I do not have routes. For the GCE provider, I should be able to get rid of it because I have routes. In both providers, there were a number of setup steps that did not make the merged PR. For those that are tracking this issue (which I know folks have pinged me on separately) needs to be configured to allow privelaged containers needs to be configured to allow pushing to an insecure registry (this is point in time) Ideally, I could use a ReplicationController in the example to load balance OpenShift, but until we can provide a pattern to run etcd as a pod, I am unable to do this and need to use the embedded etcd we end up running.
Note: I will resolve this issue in 2 phases. Vagrant (which was demonstrated) to document using GCE (which has some additional steps on firewall rules)
Turns out OpenShift Origin is too secure now ;-) This is blocked until OpenShift Origin allows you to mint certs on the client, and then supply the certs on startup as a secret to the pod. This feature is coming soon. /cc
I now have all the required pieces to get this to work. I hope to get a PR submitted to fix this issue by end of this week.
Change:
for portname := range portsToEndpoints { svcPort := proxy.ServicePortName{NamespacedName: types.NamespacedName{Namespace: endpoints.Namespace, Name: endpoints.Name}, Port: portname} <del> glog.V(2).Infof("LoadBalancerRR: Removing endpoints for %s", svcPort) // If the service is still around, reset but don't delete. if state, ok := lb.services[svcPort]; ok { state.endpoints = []string{} state.index = 0 state.affinity.affinityMap = map[string]*affinityState{} } </del> <ins> lb.resetService(svcPort) </ins> } }

Discussion:
/kind bug What happened: We constantly log message like at V(2) that don't tell any useful information.
Change:
} } <del> func (h *hostpathSymlinkDriver) GetDriverInfo() *DriverInfo { </del> <ins> func (h *hostPathSymlinkDriver) GetDriverInfo() *DriverInfo { </ins> return &h.driverInfo } <del> func (h *hostpathSymlinkDriver) SkipUnsupportedTest(pattern testpatterns.TestPattern) { </del> <ins> func (h *hostPathSymlinkDriver) SkipUnsupportedTest(pattern testpatterns.TestPattern) { </ins> } <del> func (h *hostpathSymlinkDriver) GetVolumeSource(readOnly bool, fsType string) *v1.VolumeSource { // hostpath doesn't support readOnly volume </del> <ins> func (h *hostPathSymlinkDriver) GetVolumeSource(readOnly bool, fsType string) *v1.VolumeSource { // hostPathSymlink doesn't support readOnly volume </ins> if readOnly { return nil }

Discussion:
<!-- This form is for bug reports and feature requests ONLY! If you're looking for help check and the . If the matter is security related, please disclose it privately via --Is this a BUG REPORT or FEATURE REQUEST?: https://k8s- What happened: The skip check for hostpath doesn't seem to be working for these test cases
can you take a look?
Oh, disruptive tests are the tests that can't be tested locally in my environment due to I will take a look.
I found that above issue is not related, I should have been checked more carefully. Sorry for that.
I found out that this was just a driver name issue, so below will fix it: hostpath -hostPath hostpathSymlink -hostPathSymlink We might be better changing the skip logic later, to make it skip not by name in order to avoid this kind of bug, though. I will make a PR for above change, soon.
I made a PR above. Also, it might be a bit out of scope of this fix, but are drivers tested with containerized volume server, like nfs, ceph, etc..., safe to be tested with subpath disruptive tests? I'm worrying about the case that test pod and containerized volume server are deployed on the same node. In such a case, the same behaviour expected or do we need to avoid this kind of situation?
Change:
return resp, nil } <del> doc, err := html.Parse(reader) </del> <ins> urlRewriter := func(targetUrl string) string { return t.rewriteURL(targetUrl, req.URL) } err := rewriteHTML(reader, writer, urlRewriter) </ins> if err != nil { <del> glog.Errorf("Parse failed: %v", err) </del> <ins> glog.Errorf("Failed to rewrite URLs: %v", err) </ins> return resp, err } <del> t.scan(doc, func(n *html.Node) { t.updateURLs(n, req.URL) }) if err := html.Render(writer, doc); err != nil { glog.Errorf("Failed to render: %v", err) } </del> resp.Body = ioutil.NopCloser(newContent) // Update header node with new content-length // TODO: Remove any hash/signature headers here?

Discussion:
The ApiServer proxy wraps partial HTML responses to serve a complete HTML document in the proxy response. This is problematic for applications which expect HTML fragments, such as with AngularJS templates. Example: This is the response for a from the unproxied server: But the proxied response is: This issue is blocking
Change:
return cmd } <del> func runDeleteContext(out io.Writer, configAccess clientcmd.ConfigAccess, cmd *cobra.Command) error { </del> <ins> func runDeleteContext(out, errOut io.Writer, configAccess clientcmd.ConfigAccess, cmd *cobra.Command) error { </ins> config, err := configAccess.GetStartingConfig() if err != nil { return err

Discussion:
<!-- Thanks for filing an issue! Before hitting the button, please answer these questions.--Is this a request for help? (If yes, you should use our troubleshooting guide and community support channels, see ): No, this is a bug report. What keywords did you search in Kubernetes issues before filing this one? (If you have found any duplicates, you should instead reply there.): Is this a BUG REPORT or FEATURE REQUEST? (choose one): BUG REPORT <!-- If this is a BUG REPORT, please: Fill in as much of the template below as you can. If you leave out information, we can't help you as well. If this is a FEATURE REQUEST, please: Describe in detail the feature/behavior/change you'd like to see. In both cases, be ready for followup questions, and please respond in a timely manner. If we can't reproduce a bug or think a feature already exists, we might close your issue. If we're wrong, PLEASE feel free to reopen it and explain why. --Kubernetes version (use ): Environment: Cloud provider or hardware configuration: MacBook Pro Mid-2015 OS (e.g. from /etc/os-release): macOS Kernel (e.g. ): Install tools: Others: N/A What happened: When deleting the context that was my current context, I entered a state where I am seemingly unable to set my context. The shows none as the current: Also, when trying to take any actions that require a context the following error is presented: When viewing the full config () I can see that my selected context is still the one I deleted. What you expected to happen: I believe there are two expectations I had: should allow me to delete my current context, but not enter an inconsistent state in the process -or- should either provide a warning or disallow removing your current context How to reproduce it (as minimally and precisely as possible): I believe that you just need a configuration with multiple contexts. I had three before deleting the context that has me unable to set a new context.

list all contexts to find your current context () delete your current context list your current contexts again, and you'll see no contexts are created try to set your context with one of the ones that exist () listing your contexts again will show none being set Anything else we need to know: 3 contexts were configured before starting to delete one 2 of them were GKE clusters, automatically set up by the binary 1 is a context set up by the context I deleted was one of the contexts The issue was resolved by manually setting my context by editing .
I think this is the confusion of doesn't switch contexts, it lets you set fields on a context. is what switches contexts.
It's technically valid to have no current context, but I agree a warning message like "warning: this removed your active context, use to select a different one" would go a long way.
SGTM.
Change:
} // evictionMessage constructs a useful message about why an eviction occurred, and annotations to provide metadata about the eviction <del> func evictionMessage(resourceToReclaim v1.ResourceName, pod *v1.Pod, stats statsFunc) (message string, annotations map[string]string) { </del> <ins> func evictionMessage(resourceToReclaim v1.ResourceName, pod *v1.Pod, stats statsFunc, thresholds []evictionapi.Threshold, observations signalObservations) (message string, annotations map[string]string) { </ins> annotations = make(map[string]string) message = fmt.Sprintf(nodeLowMessageFmt, resourceToReclaim) <ins> quantity, available := getThresholdMetInfo(resourceToReclaim, thresholds, observations) if quantity != nil && available != nil { message += fmt.Sprintf(thresholdMetMessageFmt, quantity, available) } </ins> containers := []string{} containerUsage := []string{} podStats, ok := stats(pod)

Discussion:
when the pod is evicted due to low imagefs.available, the prompt is difficult to understand. it showed: But the container was evicted not by exceeding its request of 0 ephemeral-storage, but due to reaching the evictionHard of the node. The correct prompt message points out the reason for the pod eviction. don't print "which exceeds its request of 0.", because the container was evicted not by exceeding its request of 0. % oc label mcp worker custom-kubelet-eviction=small-pods evictionHard by creating a kubeletconfig % oc create -f custom-kubelet- custom-kubelet- several minutes, the mcp worker finish rolling out to the latest mc a pod % oc create -f hello-pod- hello-pod- a large file in container, make imagefs.available < 90Gi (the current available disk size is 111G ) command terminated with exit code 137 the node status the pod status % oc get pod -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES hello-pod-2 0/1 ContainerStatusUnknown 1 7m58s 10.131.0.7 ip-10-0-213- <none<none% oc get pod hello-pod-2 -o yaml No response <details</details<detailsaws </details<details</details<details</details<details</details<details</details
/sig node
/assign
/assign
/triage accepted
Change:
* [kubectl](kubectl.md)	 - kubectl controls the Kubernetes cluster manager <del> ###### Auto generated by spf13/cobra on 6-Nov-2015 </del> <ins> ###### Auto generated by spf13/cobra on 10-Nov-2015 </ins> <!-- BEGIN MUNGE: GENERATED_ANALYTICS --> [![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/user-guide/kubectl/kubectl_run.md?pixel)]()

Discussion:
<!-- Please only use this template for submitting reports about failing tests in Kubernetes CI jobs --Which jobs are failing: ci-kubernetes-e2e-gci-gce-alpha-enabled-default Which test(s) are failing: CSI hostpath-v0 tests Since when has it been failing: 8/8 Testgrid link: https://k8s- Reason for failure: Anything else we need to know: We are removing CSI 0.3 support in 1.18, which is before selflink is going to be removed in 1.20. So we should just disable hostpath-v0 from alpha tests. /assign
/milestone v1.16
Change:
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"

Discussion:
<!-- 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