jiebi/CodeConvo huggingface dataset:
Change:
Subsystem:         KubeletSubsystem, Name:              LastKnownGoodConfigKey, Help:              "The config source the node will fall back to when it encounters certain errors. The count is always 1.", <del> DeprecatedVersion: "1.23.0", </del> <ins> DeprecatedVersion: "1.22.0", </ins> StabilityLevel:    metrics.ALPHA, }, []string{ConfigSourceLabelKey, ConfigUIDLabelKey, ConfigResourceVersionLabelKey, KubeletConfigKeyLabelKey},

Discussion:
This shipped in 1.22 as deprecated in 1.22. As a hacky fix to unbreak tests on 1.23 dev, I bumped the deprecation policy one release: We will need to revert that before 1.23 ships and figure out a better solution. /kind cleanup /milestone v1.23 /sig node
/triage accepted
I want to try it. Can I take this issue?
I have explained how to fix this on PR:
/reopen reverted in as fix did not work
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
/cc
The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules: After 90d of inactivity, is applied After 30d of inactivity since was applied, is applied After 30d of inactivity since was applied, the issue is closed You can: Mark this issue or PR as fresh with Mark this issue or PR as rotten with Close this issue or PR with Offer to help out with [Issue Triage][1] Please send feedback to sig-contributor-experience at . /lifecycle stale [1]:
/remove-lifecycle stale
Hi, Im the bug triage shadow. Since we're in 1.23 milestone code freeze, could we move this issue to milestone 1.24?
this is critical for 1.23 and I think it just got forgotten... we need to get this fixed before test freeze
/priority important-soon
Change:
* nodes (aka 'no') * persistentvolumeclaims (aka 'pvc') * persistentvolumes (aka 'pv') <del> * pods (aka 'po') </del> * poddisruptionbudgets (aka 'pdb') <ins> * pods (aka 'po') </ins> * podsecuritypolicies (aka 'psp') * podtemplates * replicasets (aka 'rs')

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 ): master Environment: Cloud provider or hardware configuration: OS (e.g. from /etc/os-release): Kernel (e.g. ): Install tools: Others: What happened: It is losing in help info. What you expected to happen: How to reproduce it (as minimally and precisely as possible): Anything else we need to know:
will make a pr to address that
Change:
ginkgo.By("retrieving the contents of the GMSACredentialSpec custom resource manifest from the node") crdManifestContents := retrieveCRDManifestFileContents(f, node) <del> ginkgo.By("downloading the GMSA webhook deploy script") deployScriptPath, err := downloadFile(gmsaWebhookDeployScriptURL) defer func() { os.Remove(deployScriptPath) }() if err != nil { framework.Failf(err.Error()) } </del> ginkgo.By("deploying the GMSA webhook") <del> webhookCleanUp, err := deployGmsaWebhook(f, deployScriptPath) </del> <ins> webhookCleanUp, err := deployGmsaWebhook(f) </ins> defer webhookCleanUp() if err != nil { framework.Failf(err.Error())

Discussion:
Cluster api provides a framework to run the e2e tests which uses the conformance image: The gmsa tests use bash to install the webhook: The test will fail when run in the conformance image because of the bash: we should install the component another way run this e2e conformance image with /sig windows fyi <details</details<details</details<details</details<details</details<details</details<details</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
Conformance image:
Hi does the "work e2e" test case pass? Deploying GMSA webhook is the same for both "work e2e" and this test case.
no, they both fail due to bash not being present in the conformance image. The gmsa tests themselves pass if I run locally
/sig testing
Change:
// GetArticleForNoun returns the article needed for the given noun. func GetArticleForNoun(noun string, padding string) string { <del> if noun[len(noun)-2:] != "ss" && noun[len(noun)-1:] == "s" { </del> <ins> if !strings.HasSuffix(noun, "ss") && strings.HasSuffix(noun, "s") { </ins> // Plurals don't have an article. // Don't catch words like class return fmt.Sprintf("%v", padding)

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: add a CRD resource with kind only a single character while cause kube-apiserver crashslice bounds out of range What you expected to happen: add validation to limit CRD kind definition or fix the bug of slice out of bounds How to reproduce it (as minimally and precisely as possible): apiVersion: kind: CustomResourceDefinition metadata: name: spec: group: version: v1 names: kind: R plural: rs singular: r scope: Cluster Anything else we need to know?: apiserverlogs: 10:05:32. 6 ] Shutting down OpenAPI controller E6606 10:05:32. 6 ] Observed a panic: runtime.boundsError{x:-1, y:1, signed:true, code:0x3(runtime error: slice bounds out of range [-1:]) goroutine 1670 [running]: (0x41458a0, Gxc00ed66d40) /workspace/anago-v1.17.G- +0xa3 (0x0, 0x0, 0x0) /workspace/anago-v1.17.G- +0x82 panic(0x41458a0, Oxc0Oed66d40) +0x1b2 (0x7493232, 0x1, 0x447d778, 0x1, 0x130, 0xc00ed13680) /workspace/anago-v1.17.0- +0x2b8 ("builder).descriptionFor(€xc007b351f0, 0x0, 0x0, 0x4481982, 0x6, Gxc00ed06d00, 0x18) /workspace/anago-v1.17.0- +0x3c6 ("builder).buildRoute(GxcGG7b351fG, 0xc00ed66d00, 0x18, 0x0, 0x0, 0x447f0F3, 0x4, 0x447f71b, 0x4,

0x4481982, .) /workspace/anago-v1.17.0- .go :281 +0x197 (0xc66b7bcfd0, 0xc005d24a3c, 0x2, 0x101, 0x1, 0x2, Gxc60b76aec8) /workspace/anago-v1.17.0-rc .2.10+70132b0F130acc/src/k8s .io/kubernetes/output/dockerized/go/src/k8s .io/kubernetes/vendor/k8s .io/apiextensions-apiserver/pkg/controller/openapi/builder/builder .go :146 +0x49d (0xc66b7bcfd0, 0x0, Oxb, Gx447f1db, 0x4, 0x1) /workspace/anago-v1.17.0- +0x1a8 ("Controller).Run(0xc0012c8050, Gxc0G1d61200, 0xc007a6d1e0, 0xc069cced80) /workspace/anago-v1.17.0- +0x2da created by /workspace/anago-v1.17.0- .go :236 +0x244 panic: runtime error: slice bounds out of range [-1:] [recovered] panic: runtime error: slice bounds out of range [-1:] Environment: Kubernetes version (use ): 1.18.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:
/sig apps
/assign
There is a typo in the subject.
Change:
proberesults "k8s.io/kubernetes/pkg/kubelet/prober/results" "k8s.io/kubernetes/pkg/kubelet/types" "k8s.io/kubernetes/pkg/runtime" <del> "k8s.io/kubernetes/pkg/security/apparmor" </del> kubetypes "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/clock" uexec "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/flowcontrol" "k8s.io/kubernetes/pkg/util/intstr" "k8s.io/kubernetes/pkg/util/sets" <del> utilstrings "k8s.io/kubernetes/pkg/util/strings" </del> ) type fakeHTTP struct {

Discussion:
go test -v This is because there are a few test cases in dockertools are linux-specific.
Change:
// This will start reconciliation of node.status.volumesInUse. rc.updateLastSyncTime() } <del> if len(rc.volumesNeedReportedInUse) != 0 && rc.populatorHasAddedPods() { // Once DSW is populated, mark all reconstructed as reported in node.status, // so they can proceed with MountDevice / SetUp. rc.desiredStateOfWorld.MarkVolumesReportedInUse(rc.volumesNeedReportedInUse) rc.volumesNeedReportedInUse = nil } </del> }

Discussion:
remove and was introduced in to fix This is to overcome the situation that volume is to DSW at first and then deleted before it is to ASW, which causes mounted volume neither in DSW nor ASW and won't execute unmount/detach: The reason the volume cannot be to ASW in time is , which is . However, there is another PR also solved the issue. What it did is to check whether ASW already has the volume before deleting it from DSW, this makes sure that volume can be detached/unmounted after it is deleted from DSW. I suggest that we can keep the second solution and remove related code to make the reconstruction process and reconcile loop cleaner?
/sig storage
cc
Should I proceed with this issue? Your guidance is appreciated.
I think we'd better wait for the feedback from
cc
Sorry for a late reply. This is how behind we are with reviews :-(. Reading Now that is on by default, it reconstructs volumes first and always puts them to ASW, it should never happen that a reconstructed volume is in DSW and not in ASW, right? So we can remove easily. I would not be so sure without , because the code is 5 years old and who knows all the implications. You could be right though, it may not be necessary there too.
/triage accepted
/assign
Change:
RuntimeSpec: RuntimeSpec{ DockerSpec: &DockerSpec{ Version:     []string{`1.1[1-3]..*`, `17.0[3,6,9]..*`, `18.0[6,9]..*`, `19.03..*`, `20.10..*`}, <del> GraphDriver: []string{"aufs", "overlay", "overlay2", "devicemapper", "zfs"}, </del> <ins> GraphDriver: []string{"aufs", "btrfs", "overlay", "overlay2", "devicemapper", "zfs"}, </ins> }, }, }

Discussion:
every k8s release, if changes are to we release a new version of the library and vendor it in this repository. TODO: [ ] wait for changes to accumulate in [ ] add new release in before the k8s 1.23 release [ ] vendor the new release in k/k (example PR: )
/sig cluster-lifecycle node /milestone v1.23 /assign
/triage accepted
/cc
Change:
} // newPodInformer creates a shared index informer that returns only non-terminal pods. <ins> // The PodInformer allows indexers to be added, but note that only non-conflict indexers are allowed. </ins> func newPodInformer(cs clientset.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { selector := fmt.Sprintf("status.phase!=%v,status.phase!=%v", v1.PodSucceeded, v1.PodFailed) tweakListOptions := func(options *metav1.ListOptions) { options.FieldSelector = selector } <del> return coreinformers.NewFilteredPodInformer(cs, metav1.NamespaceAll, resyncPeriod, nil, tweakListOptions) </del> <ins> return coreinformers.NewFilteredPodInformer(cs, metav1.NamespaceAll, resyncPeriod, cache.Indexers{}, tweakListOptions) </ins> }

Discussion:
I'm writing a scheduler plugin using the scheduler framework, and in my plugin I'd like to add a using the provided by the . Adding such a Indexer lead to a runtime crash like The reason for this is that I'm not sure the scheduler framework wants to explicitely disallow adding Indexers using the facilities. If this is the case, it should be more explicit somehow because the current behaviour is surprising. If the scheduler framework doesn't want to add this limitation, then adding indexers should not lead to runtime crashes add a new scheduler plugin trying to add indexers. Sample code (relevant minimal portions only) I'm not sure this is a real bug and not a deliberate decision; a research was inconcusive, and a (admittedly quick) search in the past issues was not fruitful either. The fix could be as trivial as <detailsconsole $ kubectl version Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.2", GitCommit:"", GitTreeState:"clean", BuildDate:"2020-01-18T23:30:10Z", GoVersion:"go1.13.5", Compiler:"gc", Platform:"linux/amd64"} Server Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.5+", GitCommit:"", GitTreeState:"clean", BuildDate:"2022-05-10T16:30:48Z", GoVersion:"go1.17.5", Compiler:"gc", Platform:"linux/amd64"} </detailsbut applies also on latest master (see above) <detailsany </details<detailsany </details<detailsnot relevant </details<details</details<details</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
/sig scheduling
Change:
} dryRun := cmdutil.GetFlagBool(cmd, "dry-run") <ins> output := cmdutil.GetFlagString(cmd, "output") </ins> count := 0 err = r.Visit(func(info *resource.Info, err error) error {

Discussion:
What happened: What you expected to happen: yaml output How to reproduce it (as minimally and precisely as possible): Anything else do we need to know: Related PR
Change:
func newServiceInfo(serviceName proxy.ServicePortName, port *api.ServicePort, service *api.Service) *serviceInfo { onlyNodeLocalEndpoints := false if utilfeature.DefaultFeatureGate.Enabled(features.ExternalTrafficLocalOnly) && <del> (service.Spec.Type == api.ServiceTypeLoadBalancer || service.Spec.Type == api.ServiceTypeNodePort) && apiservice.NeedsHealthCheck(service) { </del> <ins> apiservice.RequestsOnlyLocalTraffic(service) { </ins> onlyNodeLocalEndpoints = true } info := &serviceInfo{

Discussion:
<!-- Thanks for filing an issue! Before hitting the button, please answer these questions.--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: AWS m4.2xlarge OS (e.g. from /etc/os-release): Ubuntu 16.04 Kernel (e.g. ): 4.4.0-36-generic Install tools: kubeadm Others: 1 master and 1 minion What happened: This states that if using kube-proxy will only proxy requests to local endpoints, never forwarding traffic to other nodes and thereby preserving the original source IP address. However when I annotate my NodePort type service with this annotation I see the following error in the logs of kube-proxy of the node where the only pod of the service is running: After this message the service stops working outside of the cluster on the specified NodePort. What you expected to happen: I expected to see that only the with the pod on it serves traffic. How to reproduce it (as minimally and precisely as possible): Anything else we need to know:
Sorry, I have found the issue, I had a setup where the none of the node names were the same as the hostname of the kube-proxy pod and this caused the issue, where none of the Pods running on a hosts were recognised as local pods. I have fixed this issue by manually setting the hostname with in kube-proxy. However I still insist that this error message is misleading and shouldn't be printed in case of NodePort type services, but only for just LoadBalancers.
I met the same problem in the aws cloud providers, by adding - the hostname-override to solve this problem. good
Change:
"k8s.io/klog" <ins> corev1 "k8s.io/api/core/v1" </ins> metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/version" e2elog "k8s.io/kubernetes/test/e2e/framework/log"

Discussion:
<!-- Please only use this template for submitting reports about failing tests in Kubernetes CI jobs --Which test(s) are failing: When is specified in kubetest, the is trying to delete all namespaces except , and (see ) With Kubernetes 1.14 the features was enabled which creates their lease objects in a separate namespace which could sometimes not be cleaned up correctly. () Since when has it been failing: Testgrid link: Reason for failure: The SetupSuite is trying to delete system namespace Anything else we need to know:
/sig testing
Change:
t.Errorf("Expected error, got none") } if !strings.Contains(err.Error(), <del> "unattached volumes=[vol2], failed to process volumes=[vol3]") { </del> <ins> "unattached volumes=[vol02 vol2], failed to process volumes=[vol03 vol3]") { </ins> t.Errorf("Unexpected error info: %v", err) } }

Discussion:
Currently I describe a Pod that is in and fails to attach/mounts its volume: Note that the generated events are shown in 4 section. The only difference between the messages is how the are ordered. I suggest to sort the unmounted/unattached) volumes for the event message. This will allow to group all events and properly have the age and the occurrences count reported. I would expect the unmounted/unattached) volumes to be sorted in the events' message and to do not have several group of events for the same issue. See above. No response <details</details<detailsAWS but does not matter for this issue. </details<details</details<details</details<details</details<details</details
/sig storage
/assign qingwave
/triage accepted
Change:
}, ) // StartedPodsErrorsTotal is a counter that tracks the number of errors creating pod sandboxes <del> StartedPodsErrorsTotal = metrics.NewCounterVec( </del> <ins> StartedPodsErrorsTotal = metrics.NewCounter( </ins> &metrics.CounterOpts{ Subsystem:      KubeletSubsystem, Name:           StartedPodsErrorsTotalKey, Help:           "Cumulative number of errors when starting pods", StabilityLevel: metrics.ALPHA, }, <del> []string{"message"}, </del> ) // StartedContainersTotal is a counter that tracks the number of container creation operations StartedContainersTotal = metrics.NewCounterVec(

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 --While reviewing labels in prometheus noticed this metric whose label value is large (700+ characters) since it was a error log message. Example: The metric is from It doesn't look like we should have error/ log message as a metric Query the metric in prometheus UI or through api where kubelet is one of the target in prometheus Kubernetes version (use ): v1.22.0-rc.0 Cloud provider or hardware configuration: NA OS (e.g: ): NA Kernel (e.g. ): NA Install tools: Network plugin and version (if this is a network-related bug): Others: cc:
I agree that error logs should never be part of metrics, it is not the correct vector to convey this kind of information. Logging would be more appropriated here. /sig instrumentation /sig node /cc
I want to work on this. /assign
/triage accepted
/triage accept
The label(s) cannot be applied, because the repository doesn't have them. <detailsIn response to : /triage accept 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:
} // getGPUDevicePluginImage returns the image of GPU device plugin. <del> func getGPUDevicePluginImage() string { </del> <ins> func getGPUDevicePluginImage() (string, error) { </ins> ds, err := e2emanifest.DaemonSetFromURL(e2egpu.GPUDevicePluginDSYAML) if err != nil { <del> klog.Errorf("Failed to parse the device plugin image: %v", err) return "" </del> <ins> return "", fmt.Errorf("failed to parse the device plugin image: %w", err) </ins> } if ds == nil { <del> klog.Errorf("Failed to parse the device plugin image: the extracted DaemonSet is nil") return "" </del> <ins> return "", fmt.Errorf("failed to parse the device plugin image: the extracted DaemonSet is nil") </ins> } if len(ds.Spec.Template.Spec.Containers) < 1 { <del> klog.Errorf("Failed to parse the device plugin image: cannot extract the container from YAML") return "" </del> <ins> return "", fmt.Errorf("failed to parse the device plugin image: cannot extract the container from YAML") </ins> } <del> return ds.Spec.Template.Spec.Containers[0].Image </del> <ins> return ds.Spec.Template.Spec.Containers[0].Image, nil </ins> } // getSRIOVDevicePluginImage returns the image of SRIOV device plugin. <del> func getSRIOVDevicePluginImage() string { </del> <ins> func getSRIOVDevicePluginImage() (string, error) { </ins> data, err := e2etestfiles.Read(SRIOVDevicePluginDSYAML) if err != nil { <del> klog.Errorf("Failed to read the device plugin manifest: %v", err) return "" </del> <ins> return "", fmt.Errorf("failed to read the device plugin manifest: %w", err) </ins> } ds, err := e2emanifest.DaemonSetFromData(data) if err != nil { <del> klog.Errorf("Failed to parse the device plugin image: %v", err) return "" </del> <ins> return "", fmt.Errorf("failed to parse the device plugin image: %w", err) </ins> } if ds == nil { <del> klog.Errorf("Failed to parse the device plugin image: the extracted DaemonSet is nil") return "" </del> <ins> return "", fmt.Errorf("failed to parse the device plugin image: the extracted DaemonSet is nil") </ins> } if len(ds.Spec.Template.Spec.Containers) < 1 { <del> klog.Errorf("Failed to parse the device plugin image: cannot extract the container from YAML") return "" </del> <ins> return "", fmt.Errorf("failed to parse the device plugin image: cannot extract the container from YAML") </ins> } <del> return ds.Spec.Template.Spec.Containers[0].Image </del> <ins> return ds.Spec.Template.Spec.Containers[0].Image, nil </ins> }

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: 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 testing
/sig node /triage accepted