jiebi/CodeConvo huggingface dataset:
Change:
What would you like to be : Clarify the example in . Specifically, this paragraph: Why is this needed: When read in the context of the rest of the document, because of the way it is written, it suggests that the following step is unnecessary if you are using Minikube. In fact, it is necessary with the latest version of Minikube, and when this is not done, the command hangs with no output.
/sig docs

Discussion:
docker build -t in-cluster . If you are not using Minikube, you should build this image and push it to a registry <del> that your Kubernetes cluster can pull from. If you have RBAC enabled, use the following </del> <ins> that your Kubernetes cluster can pull from. If you have RBAC enabled on your cluster, use the following </ins> snippet to create role binding which will grant the default service account view permissions.
Change:
What happened: Copying a folder to a pod, e.g. postgresql-16-1-m7wjw results in the following error: time stamp 2019-02-12 12:17:06 is 0. s in the future What you expected to happen: Successful file upload to a given pod. How to reproduce it (as minimally and precisely as possible): Anything else we need to know?: perhaps this might come useful Environment: Cloud provider or hardware configuration: OS (e.g. from /etc/os-release):Kernel (e.g. ):Install tools: Others:
/sig cli
Ran into this as well. That and it's annoying that cannot be used to create a directory structure when copying files into a container.
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
/remove-lifecycle rotten

Discussion:
// TODO: Improve error messages by first testing if 'tar' is present in the container? if o.NoPreserve { <del> cmdArr = []string{"tar", "--no-same-permissions", "--no-same-owner", "-xf", "-"} </del> <ins> cmdArr = []string{"tar", "--no-same-permissions", "--no-same-owner", "-xmf", "-"} </ins> } else { <del> cmdArr = []string{"tar", "-xf", "-"} </del> <ins> cmdArr = []string{"tar", "-xmf", "-"} </ins> } destDir := path.Dir(dest.File) if len(destDir) > 0 {

nopreserve  bool }{ "copy to pod no preserve user and permissions": { <del> expectedCmd: []string{"tar", "--no-same-permissions", "--no-same-owner", "-xf", "-", "-C", "."}, </del> <ins> expectedCmd: []string{"tar", "--no-same-permissions", "--no-same-owner", "-xmf", "-", "-C", "."}, </ins> nopreserve:  true, }, "copy to pod preserve user and permissions": { <del> expectedCmd: []string{"tar", "-xf", "-", "-C", "."}, </del> <ins> expectedCmd: []string{"tar", "-xmf", "-", "-C", "."}, </ins> nopreserve:  false, }, }
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 kube- is full of the following log lines: W0213 00:00:40. 1 ] Error while parsing EndpointsLastChangeTriggerTimeAnnotation: ''. Error is parsing time "" as "2006-01-02T15:04:05.999999999Z07:00": cannot parse "" as "2006" This is caused by the recent merge of What you expected to happen: We shouldn't log warning when EndpointsLastChangeTriggerTimeAnnotation is not set How to reproduce it (as minimally and precisely as possible): Set-up cluster, create some endpoints objects, go to the any node and open the kube-
This was caused by so assigning sig/scalability /sig scalability

Discussion:
// annotation stored in the given endpoints object or the "zero" time if the annotation wasn't set // or was set incorrectly. func getLastChangeTriggerTime(endpoints *v1.Endpoints) time.Time { <ins> if _, ok := endpoints.Annotations[v1.EndpointsLastChangeTriggerTime]; !ok { // It's possible that the Endpoints object won't have the EndpointsLastChangeTriggerTime // annotation set. In that case return the 'zero value', which is ignored in the upstream code. return time.Time{} } </ins> val, err := time.Parse(time.RFC3339Nano, endpoints.Annotations[v1.EndpointsLastChangeTriggerTime]) if err != nil { klog.Warningf("Error while parsing EndpointsLastChangeTriggerTimeAnnotation: '%s'. Error is %v",
Change:
What would you like to be : e2e test suites for: GET /apis/apps/v1/namespaces/{namespace}/statefulsets/{name}/scale PUT /apis/apps/v1/namespaces/{namespace}/statefulsets/{name}/scale Why is this needed: PR has already been merged, but the following tests are still commented out. Therefore, scale sub-resource of statefulsets is not tested and test should be . /sig testing

Discussion:
return nil }, framework.StatefulPodTimeout, 2*time.Second).Should(BeNil()) }) <del> /* Comment it for now until scale sub-resource is finalized in ref:pull/53679 for scale-sub resource specific comment. </del> It("should have a working scale subresource", func() { By("Creating statefulset " + ssName + " in namespace " + ns) ss := framework.NewStatefulSet(ssName, ns, headlessSvcName, 1, nil, nil, labels)

ss = sst.WaitForStatus(ss) By("getting scale subresource") <del> scale := framework.NewStatefulSetScale(ss) scaleResult := &appsv1beta2.Scale{} err = c.AppsV1().RESTClient().Get().AbsPath("/apis/apps/v1").Namespace(ns).Resource("statefulsets").Name(ssName).SubResource("scale").Do().Into(scale) </del> <ins> scale, err := c.AppsV1().StatefulSets(ns).GetScale(ssName, metav1.GetOptions{}) </ins> if err != nil { framework.Failf("Failed to get scale subresource: %v", err) }

Expect(scale.Status.Replicas).To(Equal(int32(1))) By("updating a scale subresource") <del> scale.ResourceVersion = "" //unconditionally update to 2 replicas </del> scale.Spec.Replicas = 2 <del> err = c.AppsV1().RESTClient().Put().AbsPath("/apis/apps/v1").Namespace(ns).Resource("statefulsets").Name(ssName).SubResource("scale").Body(scale).Do().Into(scaleResult) </del> <ins> scaleResult, err := c.AppsV1().StatefulSets(ns).UpdateScale(ssName, scale) </ins> if err != nil { framework.Failf("Failed to put scale subresource: %v", err) }

} Expect(*(ss.Spec.Replicas)).To(Equal(int32(2))) }) <del> */ </del> }) framework.KubeDescribe("Deploy clustered applications [Feature:StatefulSet] [Slow]", func() {
Change:
What happened: From : What you expected to happen: Metrics should register successfully. How to reproduce it (as minimally and precisely as possible): Run kubernetes-integration test Environment: Kubernetes version (use ): Cloud provider or hardware configuration: OS (e.g. from /etc/os-release): Kernel (e.g. ): Install tools: Others:
There are no sig labels on this issue. Please add a sig label by either: a sig: e.g., to notify the contributor experience sig, OR the label manually: e.g., to apply the label Note: Method 1 will trigger an email to the group. See the . The in method 1 has to be replaced with one of these: bugs, feature-requests, pr-reviews, test-failures, proposals. <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

Discussion:
e := &Publisher{ client: cl, rootCA: rootCA, <del> queue:  workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "root-ca-cert-publisher"), </del> <ins> queue:  workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "root_ca_cert_publisher"), </ins> } if cl.CoreV1().RESTClient().GetRateLimiter() != nil { if err := metrics.RegisterMetricAndTrackRateLimiterUsage("root_ca_cert_publisher", cl.CoreV1().RESTClient().GetRateLimiter()); err != nil {

} dc := &DeploymentController{ <del> queue: workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "doesnt-matter"), </del> <ins> queue: workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "doesnt_matter"), </ins> } dc.enqueueDeployment = dc.enqueue

dc := &DisruptionController{ kubeClient:   kubeClient, queue:        workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "disruption"), <del> recheckQueue: workqueue.NewNamedDelayingQueue("disruption-recheck"), </del> <ins> recheckQueue: workqueue.NewNamedDelayingQueue("disruption_recheck"), </ins> broadcaster:  record.NewBroadcaster(), } dc.recorder = dc.broadcaster.NewRecorder(scheme.Scheme, v1.EventSource{Component: "controllermanager"})

func TestUpdateDisruptedPods(t *testing.T) { dc, ps := newFakeDisruptionController() <del> dc.recheckQueue = workqueue.NewNamedDelayingQueue("pdb-queue") </del> <ins> dc.recheckQueue = workqueue.NewNamedDelayingQueue("pdb_queue") </ins> pdb, pdbName := newMinAvailablePodDisruptionBudget(t, intstr.FromInt(1)) currentTime := time.Now() pdb.Status.DisruptedPods = map[string]metav1.Time{
Change:
Alpha environment tests are failing - The root cause of the tests failing in alpha environment appears to be: So basically kubelet is not allowed to update PVC. Which is weird. Need to investigate further. Also for multizone environment - This line looks weird from e2e: So the deployment is straight up not getting started. /sig storage /assign
For multizone failure it looks like the pod has a node selector that conflicts with the zone where the PV was provisioned
I think failures on alpha cluster is related to generated api code: Obviously none of the PVC patch code sets this stuff and yet is showing up in object diff. I am wondering why. cc
/wg apply /cc
It looks like we may have to reset field before comparing PVCs for admitting them as well.
Yeah, server side apply has an alpha feature to kube-apiserver that allows to track ownership of fields. This is what you see in the managedFields field. It’s automatically when objects are modified. If you want to compare your object against a staticly compiled expected object, you should be emptying/setting the managedField to nil.
this is the code in question: Thing is, we don't actually want the kubelet taking ownership of any fields other than the one it changed. If we nil out the managed field for the comparison, that allows the kubelet to mess with managedFields in any way it wants to
can you pick this up to fix failure in alpha clusters? Reading last comment - it doesn't seem like a storage issue.
/unassign /assign
/milestone v1.14 We're entering and this looks relevant to the 1.14 release. Please if I am incorrect
We don't have a good way to do what is suggesting now, so I suspect we will have to default to ignore this field specifically when comparing (by setting it to null on both sides), at least for now.
will you be able to submit a PR to fix this?
As per /remove-sig storage /sig api-machinery
Sure, I'll try to send a pr this morning

Discussion:
oldPVC.Status.Conditions = nil newPVC.Status.Conditions = nil <ins> // TODO(apelisse): We don't have a good mechanism to // verify that only the things that should have changed // have changed. Ignore it for now. oldPVC.ObjectMeta.ManagedFields = nil newPVC.ObjectMeta.ManagedFields = nil </ins> // ensure no metadata changed. nodes should not be able to relabel, add finalizers/owners, etc if !apiequality.Semantic.DeepEqual(oldPVC, newPVC) { return admission.NewForbidden(a, fmt.Errorf("node %q is not allowed to update fields other than status.capacity and status.conditions: %v", nodeName, diff.ObjectReflectDiff(oldPVC, newPVC)))
Change:
What happened: node-local-dns caches negative queries, causing things that do polling for orchestration to fail (like operators with StatefulSets). What you expected to happen: Have a minimal TTL for negative responses (alternatively just disable caching by setting the cache size to 0) that follows what was done for kube-dns: How to reproduce it (as minimally and precisely as possible): With node-local-dns cache deployed, in my cluster it was the that failed to create clusters because the cached entry didn't expire before it had exhausted all of it's retries. Environment: Kubernetes version (use ): 1.11.6 Cloud provider or hardware configuration: GKE OS (e.g. from /etc/os-release): any Kernel (e.g. ): any
/sig network

Discussion:
- Ingress - Egress ``` <ins> ### Negative caching The `denial` cache TTL has been reduced to the minimum of 5 seconds [here](https://github.com/kubernetes/kubernetes/blob/master/cluster/addons/dns/nodelocaldns/nodelocaldns.yaml#L37). In the unlikely event that this impacts performance, setting this TTL to a higher value make help alleviate issues, but be aware that operations that rely on DNS polling for orchestration may fail (for example operators with StatefulSets). </ins>

Corefile: | __PILLAR__DNS__DOMAIN__:53 { errors <del> cache 30 </del> <ins> cache { success 9984 30 denial 9984 5 } </ins> reload loop bind __PILLAR__LOCAL__DNS__
Change:
<!-- Please use this template while reporting a bug and provide as much info as possible. Not doing so may result in your bug not being addressed in a timely manner. Thanks! If the matter is security related, please disclose it privately via --What happened: Im trying to setup node on window server 2019, but kubelet fails with error "F0217 17:36:06. 3200 ] failed to run Kubelet: unable to valid path to counter. Error code is " What you expected to happen: kubelet runs successfully How to reproduce it (as minimally and precisely as possible): install windows server 2019 with ru_RU locale run kubelet Anything else we need to know?: Problem appearances on any non English windows os. Its caused by hard-coded performance counter names in PdhValidatePath expects localized counter name. Environment: Kubernetes version (use ): 13.3 Cloud provider or hardware configuration: n/a OS (e.g. from /etc/os-release): windows server 2019 Kernel (e.g. ): n/a Install tools: n/a Others: n/a
/sig windows
Same problem with German Windows. We even tried replacing the english counters with the german equivalents - no success.
Hey, this is still an issue in version 1.15.0. Will this ever be fixed? Are there any workarounds available?
Hi to fix error you need to comment out lines 53-56 in and rebuild. I have tested it on 1.13 and after commenting out that lines everything works.
It's been over 6 months since this issue was opened. Is there a PR or anything for this yet? I'm hitting this error in Windows Server 2019 as well.
/assign
opened an issue the same day as my comment above. Note: I was using the English version.
I have reproduced this problem in the French environment, but the English environment is normal, has your windows installed other languages? I looked at the example of npd on Microsoft's official website and found that it may be a problem with kubernetes code. I am following up with the community on slack. The microsoft offical example is : They dont call this function
It seems like that removing does not fix this issue. also returns the same error Error logs in 1.18.2:
very interesting, can you please open a new issue and investigate our options if you can?
I remember the last time I modified it and passed the test on the French and Russian Windows operating systems, can you describe your environment information in detail?

Discussion:
return nil, errors.New("unable to open query through DLL call") } <del> ret = win_pdh.PdhValidatePath(counter) if ret != win_pdh.ERROR_SUCCESS { return nil, fmt.Errorf("unable to valid path to counter. Error code is %x", ret) } </del> ret = win_pdh.PdhAddEnglishCounter(queryHandle, counter, 0, &counterHandle) if ret != win_pdh.ERROR_SUCCESS { return nil, fmt.Errorf("unable to add process counter. Error code is %x", ret)
Change:
<!-- --What happened: when use command, we found multi query param in the request, because we set the param twice in What you expected to happen: How to reproduce it (as minimally and precisely as possible): use command and set the log level to Anything else we need to know?: Environment: Kubernetes version (use ):Cloud provider or hardware configuration: OS (e.g. from /etc/os-release): Kernel (e.g. ): Install tools: Others:
/sig cli
It seems a duplicate 'container' param are set, thanks for your report. I will fix it later.

Discussion:
Resource("pods"). Name(pod.Name). Namespace(pod.Namespace). <del> SubResource("exec"). Param("container", containerName) </del> <ins> SubResource("exec") </ins> req.VersionedParams(&corev1.PodExecOptions{ Container: containerName, Command:   p.Command,

t.Errorf("%s: Did not get expected path for exec request", test.name) return } <ins> if strings.Count(ex.url.RawQuery, "container=bar") != 1 { t.Errorf("%s: Did not get expected container query param for exec request", test.name) return } </ins> if ex.method != "POST" { t.Errorf("%s: Did not get method for exec request: %s", test.name, ex.method) }
Change:
Currently we signal undecorated storage by simply affecting the undecoratedStorage to the decorator. This is a blocker for kubernetes/enhancements as we need to enable watch cache for events (which currently hardcoded and not configurable) cc /assign /sig api-machinery

Discussion:
watchCacheSizes[schema.GroupResource{Resource: "nodes"}] = maxInt(5*clusterSize, 1000) watchCacheSizes[schema.GroupResource{Resource: "pods"}] = maxInt(50*clusterSize, 1000) watchCacheSizes[schema.GroupResource{Resource: "services"}] = maxInt(5*clusterSize, 1000) <ins> watchCacheSizes[schema.GroupResource{Resource: "events"}] = 0 </ins> watchCacheSizes[schema.GroupResource{Resource: "apiservices", Group: "apiregistration.k8s.io"}] = maxInt(5*clusterSize, 1000) return watchCacheSizes }

panic(err) // TODO: Propagate error up } <del> // We explicitly do NOT do any decoration here - switching on Cacher // for events will lead to too high memory consumption. opts.Decorator = generic.UndecoratedStorage // TODO use watchCacheSize=-1 to signal UndecoratedStorage </del> store := &genericregistry.Store{ NewFunc:       func() runtime.Object { return &api.Event{} }, NewListFunc:   func() runtime.Object { return &api.EventList{} },

triggerFunc storage.TriggerPublisherFunc) (storage.Interface, factory.DestroyFunc) { s, d := generic.NewRawStorage(storageConfig) <del> if capacity == 0 { </del> <ins> if capacity <= 0 { </ins> klog.V(5).Infof("Storage caching is disabled for %T", objectType) return s, d }

if !ok { cacheSize = f.Options.DefaultWatchCacheSize } <ins> // depending on cache size this might return an undecorated storage </ins> ret.Decorator = genericregistry.StorageWithCacher(cacheSize) } return ret, nil

if !ok { cacheSize = f.Options.DefaultWatchCacheSize } <ins> // depending on cache size this might return an undecorated storage </ins> ret.Decorator = genericregistry.StorageWithCacher(cacheSize) }

if size < 0 { return nil, fmt.Errorf("watch cache size cannot be negative: %s", c) } watchCacheSizes[schema.ParseGroupResource(tokens[0])] = size } return watchCacheSizes, nil
Change:
What happened: I wanted to run the e2e network policy tests with: and I noticed that all tests are failing (I actually don't know why nobody has noticed this before). Looking into the logs I saw the following errors: which are correct because the tests using as "client" which doesn't contain . What you expected to happen: The e2e tests for network policies should actually pass. How to reproduce it (as minimally and precisely as possible): Just run: Anything else we need to know?: Environment: Kubernetes version (use ):Cloud provider or hardware configuration: kind OS (e.g: ): Kernel (e.g. ): Install tools: Others:
/sig testing
With the current fix two tests are still failing: I will take a look and fix these failing tests too.
Seems to be an implementation error on the network plugin side (tested with weave latest and calico 3.6). I will investigate some time in the implementation details on the calico side. But this error/failures are no blocker for the PR from my perspective.

Discussion:
package network import ( <del> "k8s.io/api/core/v1" </del> <ins> v1 "k8s.io/api/core/v1" </ins> networkingv1 "k8s.io/api/networking/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/intstr"

Args: []string{ "/bin/sh", "-c", <del> fmt.Sprintf("for i in $(seq 1 5); do curl -s -m 8 %s.%s:%d && exit 0 || sleep 1; done; exit 1", </del> <ins> fmt.Sprintf("for i in $(seq 1 5); do nc -vz -w 8 %s.%s %d && exit 0 || sleep 1; done; exit 1", </ins> targetService.Name, targetService.Namespace, targetPort), }, },
Change:
If one target in multipath volume gets down and a pod that uses the volume is deleted and quickly recreated (e.g. by a Deployment), the new pod never starts. How to reproduce it (as minimally and precisely as possible): Deployment with single replica with one multipath iSCSI volume one target (e.g. switch the machine off). Multipath will mark appropriate path as failed: the deployment pod. will quickly start a new pod for the Deployment. new pod will be (or ) forever, What happened: Kubelet tries to WaitForAttach / SetUp volume for the new pod. The volume is still attached. Kubelet goes through all targets and tries to find out if it's logged in or not. Eventually it tries to read of the failed path and that returns error: What you expected to happen: Kubelet assumes that the path is failed / not logged in and tries to recover it. If it fails it continues with multipath with 2 available devices and 1 failed one. IMO, simple instead of will do its job just fine. /assign /sig storage cc for iSCSI expertise
Fix:

Discussion:
import ( "errors" "fmt" <del> "k8s.io/klog" </del> "path" "strconv" "strings" <ins> "k8s.io/klog" </ins> ) // FindMultipathDeviceForDevice given a device name like /dev/sdx, find the devicemapper parent

targetNamePath := sessionPath + "/iscsi_session/" + sessionName + "/targetname" targetName, err := io.ReadFile(targetNamePath) if err != nil { <del> return nil, err </del> <ins> klog.Infof("Failed to process session %s, assuming this session is unavailable: %s", sessionName, err) continue </ins> } // Ignore hosts that don't matchthe target we were looking for.

// for the iSCSI connection. dirs2, err := io.ReadDir(sessionPath) if err != nil { <del> return nil, err </del> <ins> klog.Infof("Failed to process session %s, assuming this session is unavailable: %s", sessionName, err) continue </ins> } for _, dir2 := range dirs2 { // Skip over files that aren't the connection

addrPath := connectionPath + "/address" addr, err := io.ReadFile(addrPath) if err != nil { <del> return nil, err </del> <ins> klog.Infof("Failed to process connection %s, assuming this connection is unavailable: %s", dirName, err) continue </ins> } portPath := connectionPath + "/port" port, err := io.ReadFile(portPath) if err != nil { <del> return nil, err </del> <ins> klog.Infof("Failed to process connection %s, assuming this connection is unavailable: %s", dirName, err) continue </ins> } persistentAddrPath := connectionPath + "/persistent_address" persistentAddr, err := io.ReadFile(persistentAddrPath) if err != nil { <del> return nil, err </del> <ins> klog.Infof("Failed to process connection %s, assuming this connection is unavailable: %s", dirName, err) continue </ins> } persistentPortPath := connectionPath + "/persistent_port" persistentPort, err := io.ReadFile(persistentPortPath) if err != nil { <del> return nil, err </del> <ins> klog.Infof("Failed to process connection %s, assuming this connection is unavailable: %s", dirName, err) continue </ins> } // Add entries to the map for both the current and persistent portals