jiebi/CodeConvo huggingface dataset:
Code change:
} // Step 5. Check that nominated node name of the high priority pod is set. if err := waitForNominatedNodeName(cs, highPriPod); err != nil { <del> t.Errorf("NominatedNodeName annotation was not set for pod %v/%v: %v", medPriPod.Namespace, medPriPod.Name, err) </del> <ins> t.Errorf("NominatedNodeName annotation was not set for pod %v/%v: %v", highPriPod.Namespace, highPriPod.Name, err) </ins> } // And the nominated node name of the medium priority pod is cleared. if err := wait.Poll(100*time.Millisecond, wait.ForeverTestTimeout, func() (bool, error) {

Related discussion:
text: <!-- Please only use this template for submitting reports about flaky tests or jobs (pass or fail with no underlying change in code) in Kubernetes CI --Which jobs are flaking: Which test(s) are flaking: Testgrid link: Reason for failure: Unknown yet. Anything else we need to know: links to appreciated links to specific failures in spyglass appreciated /sig scheduling /help
Can I give it a try?
Sure, feel free to take it. /assign ahmad-diaa /remove-help
I keep trying to get it fail locally by running the following command: but it never does, am I doing something wrong? Is there something else that I should be doing and would be more helpful?
Sometimes the flake is hard to reproduce in local env. You may have to read the error log of the flakes thoroughly to get some clues. BTW: you can also run the test multiple times using the directive:
After looking through the logs I came up with some information that might be useful As far as I understand, the reason for the flake is the of the medium priority pod not being cleared That is because the update request for removing returns the following error: So my current guess is that might be outdated in some cases As I am not really familiar with the logic, I would like to know whether or not those are valid points so that I could dig deeper. What do you think?
If that's the case, you can set here: You can raise a PR and manually try for ~20 times to see you can reproduce the flake.
found another issue tracking this too. it seems it has been flaky for a while.
Sorry, didn't mean to take this one for you. I worked the duplicate issue and submitted a PR. Feel free to review that PR, or submit your own if you have a different solution.
This sometimes happens. But we usually take the first PR unless it's clearly worked by someone. In terms of which style to resolve the Conflict error, I'm asking here:
Sorry, didn't mean to take this one for you. I worked the duplicate issue and submitted a PR. Feel free to review that PR, or submit your own if you have a different solution. No worries, I haven't started implementing yet and your PR seems to be following the correct approach as well according to this:
Code change:
} // Step 5. Check that nominated node name of the high priority pod is set. if err := waitForNominatedNodeName(cs, highPriPod); err != nil { <del> t.Errorf("NominatedNodeName annotation was not set for pod %v/%v: %v", medPriPod.Namespace, medPriPod.Name, err) </del> <ins> t.Errorf("NominatedNodeName annotation was not set for pod %v/%v: %v", highPriPod.Namespace, highPriPod.Name, err) </ins> } // And the nominated node name of the medium priority pod is cleared. if err := wait.Poll(100*time.Millisecond, wait.ForeverTestTimeout, func() (bool, error) {

Related discussion:
text: <!-- Please only use this template for submitting reports about flaky tests or jobs (pass or fail with no underlying change in code) in Kubernetes CI --Which jobs are flaking: pull-kubernetes-integration Which test(s) are flaking: TestNominatedNodeCleanUp Testgrid link: Reason for failure: [TODO] Anything else we need to know: links to appreciated links to specific failures in spyglass appreciated
/sig node These SIGs are my best guesses for this issue. Please comment if I am incorrect about one. I am a bot run by vllry. ‍
Code change:
} // Step 5. Check that nominated node name of the high priority pod is set. if err := waitForNominatedNodeName(cs, highPriPod); err != nil { <del> t.Errorf("NominatedNodeName annotation was not set for pod %v/%v: %v", medPriPod.Namespace, medPriPod.Name, err) </del> <ins> t.Errorf("NominatedNodeName annotation was not set for pod %v/%v: %v", highPriPod.Namespace, highPriPod.Name, err) </ins> } // And the nominated node name of the medium priority pod is cleared. if err := wait.Poll(100*time.Millisecond, wait.ForeverTestTimeout, func() (bool, error) {

Related discussion:
text: Which jobs are flaking: pull-kubernetes-integration Which test(s) are flaking: TestNominatedNodeCleanUp Testgrid link: Reason for failure: /sig scheduling
/assign
any progress on this one?
I was working on it and tried to find the root cause. I will give my solution within this week
Another one
Still happening cc
/assign
/close dupe
Closing this issue. <detailsIn response to : /close dupe 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
Code change:
}, expectedError: "field: Invalid value: "": may not have more than one field specified at a time", }, <ins> { name: "invalid secret ref name", envs: []api.EnvFromSource{ { SecretRef: &api.SecretEnvSource{ LocalObjectReference: api.LocalObjectReference{Name: "$%^&*#"}}, }, }, expectedError: "field[0].secretRef.name: Invalid value: "$%^&*#": " + dnsSubdomainLabelErrMsg, }, { name: "invalid config ref name", envs: []api.EnvFromSource{ { ConfigMapRef: &api.ConfigMapEnvSource{ LocalObjectReference: api.LocalObjectReference{Name: "$%^&*#"}}, }, }, expectedError: "field[0].configMapRef.name: Invalid value: "$%^&*#": " + dnsSubdomainLabelErrMsg, }, </ins> } for _, tc := range errorCases { if errs := ValidateEnvFrom(tc.envs, field.NewPath("field")); len(errs) == 0 {

Related discussion:
text: Scenario: Expected results: pod would not be created as [0] is invalid Actual results: pod is created. Turns out we are not doing any validation of envFrom in container spec today.
There are no sig labels on this issue. Please by:<br(1) mentioning a sig: <br(2) specifying the label manually: <br<brNote: method (1) will trigger a notification to the team. You can find the team list .
I don't know that we can tighten without failing pods.
The validation code exists, but there was no wiring done from validateContainers.
Pods fail on kubelet already. So those pods were not doing much already. We had a BZ on this.
Fail how - fail to even start, or fail to get the input?
Code change:
'${KUBELET_CONFIG}' create-kube-proxy-opts  '${1#*@}'  <del> '${MASTER_IP}' </del> <ins> '${MASTER_IP}'  '${KUBE_PROXY_EXTRA_OPTS}' </ins> create-flanneld-opts '${MASTER_IP}' '${1#*@}' sudo -E -p '[sudo] password to start node: ' -- /bin/bash -ce '

Related discussion:
text: There should be a way to select the iptables proxy-mode.
Are you interested in modifying ubuntu deploy scripts to use a user provided configure file?
This is fixed by and it will be merged in soon.
This fix breaks cluster/kube- while kubernetes provider is rather than ubuntu, as the following variables are only defined in ubuntu folder PROXYSETTING=${PROXYSETTING:-""} DEBUG=${DEBUG:-"false"} When I run KUBERNETES_PROVIDER=vagrant and run cluster/kube- It will fail with error "==master: [ERROR ] {'pid': 5871, 'retcode': 1, 'stderr': ' line 21: DEBUG: unbound variable', 'stdout': ''}" I will open a separated issue to discuss the solution.
I do not understand. I have not tried KUBERNETESPROVIDER=vagrant and run cluster/kube-, can you please clarify what is going wrong? This PR () affected only files in cluster/ubuntu/; are you saying that some of them are used when KUBERNETESPROVIDER=vagrant? This PR did not introduce PROXY_SETTING or DEBUG.
I tried running kube- with the Vagrant provider, but ran into a different (and much prior) problem; see --- any help would be appreciated.
OK, I see you opened issue for this and PR fixed it. Thanks. I will respond to the larger question under .
Code change:
<ins> /* Copyright 2021 The Kubernetes Authors. 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. */ package e2enode import ( "time" v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/test/e2e/framework" imageutils "k8s.io/kubernetes/test/utils/image" "github.com/onsi/ginkgo" ) var _ = SIGDescribe("Ephemeral Containers [Feature:EphemeralContainers][NodeAlphaFeature:EphemeralContainers]", func() { f := framework.NewDefaultFramework("ephemeral-containers-test") var podClient *framework.PodClient ginkgo.BeforeEach(func() { podClient = f.PodClient() }) ginkgo.It("will start an ephemeral container in an existing pod", func() { ginkgo.By("creating a target pod") pod := podClient.CreateSync(&v1.Pod{ ObjectMeta: metav1.ObjectMeta{Name: "ephemeral-containers-target-pod"}, Spec: v1.PodSpec{ Containers: []v1.Container{ { Name:    "test-container-1", Image:   imageutils.GetE2EImage(imageutils.BusyBox), Command: []string{"/bin/sleep"}, Args:    []string{"10000"}, }, }, }, }) ginkgo.By("adding an ephemeral container") ec := &v1.EphemeralContainer{ EphemeralContainerCommon: v1.EphemeralContainerCommon{ Name:    "debugger", Image:   imageutils.GetE2EImage(imageutils.BusyBox), Command: []string{"/bin/sh"}, Stdin:   true, TTY:     true, }, } podClient.AddEphemeralContainerSync(pod, ec, time.Minute) ginkgo.By("confirm that the container is really running") marco := f.ExecCommandInContainer(pod.Name, "debugger", "/bin/echo", "polo") framework.ExpectEqual(marco, "polo") }) }) </ins>

Related discussion:
text: Reopen the issue with . Mark the issue as fresh with . Send feedback to sig-contributor-experience at . /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
/reopen /remove-lifecycle rotten
Reopened this issue. <detailsIn response to : /reopen /remove-lifecycle rotten 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
Code change:
return makeVDPDNameInternal(iscsi.plugin.host, iscsi.Portals[0], iscsi.Iqn, iscsi.Lun, iscsi.Iface) } <del> func (util *ISCSIUtil) persistISCSI(conf iscsiDisk, mnt string) error { </del> <ins> // persistISCSIFile saves iSCSI volume configuration for DetachDisk // into given directory. func (util *ISCSIUtil) persistISCSIFile(conf iscsiDisk, mnt string) error { </ins> file := filepath.Join(mnt, "iscsi.json") fp, err := os.Create(file) if err != nil {

Related discussion:
text: What happened: An iSCSI PV with is mounted without these options. What you expected to happen: The volume is mounted with . Anything else we need to know?: iSCSI volume is mounted in and passes as : This can be fixed trivially, however, why is it mounted in at all? There is another mount attempt in , with correct mount options: This code is skipped, because the volume is already mounted. Environment: Kubernetes version (use ): today's master, v1.19.0-alpha.0.781+-dirty , do you remember why we mount stuff in ? iSCSI and FibreChannel does so, the others don't.
/sig storage
Code change:
result := c.client.client. Put(). <del> AbsPath(append(c.makeURLSegments(accessor.GetName()), "status")...). </del> <ins> AbsPath(append(c.makeURLSegments(name), "status")...). </ins> Body(outBytes). SpecificallyVersionedParams(&opts, dynamicParameterCodec, versionV1). Do()

Related discussion:
text: <!-- 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: Providing an empty to the dynamic client's method results in a panic. What you expected to happen: An error should be returned on empty . How to reproduce it (as minimally and precisely as possible): Call with Anything else we need to know?: The expects a nonempty to be provided, but does not validate this. If an empty name is provided, this method will panic because it expects an , but the response will actually be an . Environment: Kubernetes version (use ): Cloud provider or hardware configuration: OS (e.g: ): Kernel (e.g. ): Install tools: Others: client-go 10.0.0
/sig api-machinery
Code change:
for _, tc := range testCases { t.Run(tc.testName, func(t *testing.T) { fc := &fakecloud.FakeCloud{ <del> Exists:             tc.existsByNodeName, </del> ExistsByProviderID: tc.existsByProviderID, Err:                tc.nodeNameErr, ErrByProviderID:    tc.providerIDErr, } <ins> if tc.hasInstanceID { fc.ExtID = map[types.NodeName]string{ types.NodeName(tc.node.Name): "provider-id://a", } } </ins> instances, _ := fc.Instances() <del> exists, err := ensureNodeExistsByProviderIDOrInstanceID(instances, tc.node) assert.NoError(t, err) </del> <ins> exists, err := ensureNodeExistsByProviderID(instances, tc.node) assert.Equal(t, err, tc.providerIDErr) </ins> assert.EqualValues(t, tc.expectedCalls, fc.Calls, "expected cloud provider methods `%v` to be called but `%v` was called ", tc.expectedCalls, fc.Calls) <del> assert.False(t, tc.existsByProviderID && tc.existsByProviderID != exists, "expected exist by provider id to be `%t` but got `%t`", </del> <ins> assert.Equal(t, tc.expectedNodeExists, exists, "expected exists to be `%t` but got `%t`", </ins> tc.existsByProviderID, exists) <del> assert.False(t, tc.existsByNodeName && tc.existsByNodeName == exists, "expected exist by node name to be `%t` but got `%t`", tc.existsByNodeName, exists) assert.False(t, !tc.existsByNodeName && !tc.existsByProviderID && exists, "node is not supposed to exist") </del> }) }

Related discussion:
text: Is this a BUG REPORT or FEATURE REQUEST?: /kind bug What happened: The change here removes exiternal id, but the call to instance id was not made used at all, it will always return false. At this time no node was able to register What you expected to happen: ProviderId was used in check How to reproduce it (as minimally and precisely as possible): Anything else we need to know?: Environment:
similar to are you using --cloud-provider in your controller manager? are you also setting it on your kubelet?
I'm using acs-engine to deploy the cluster. Config is as following: I've proposed a fix. PTAL
/sig cluster-lifecycle
Code change:
"encoding/json" "fmt" "math" <ins> "math/big" </ins> "math/rand" "os" "strings"

Related discussion:
text: I'd like to add a multiplication method for the resource.Quantity. Currently, the resource package provides helper methods to calculate Quantity, such as and : Batch workloads often replicate the same PodTemplate, and controllers calculate the resources needed for all containers. In that case, It is inconvenient to call the function as many times as podTemplate, so I would like to create a helper function for multiplication.
/cc /sig api-machinary /wg batch
The label(s) cannot be applied, because the repository doesn't have them. <detailsIn response to : /cc /sig api-machinary /wg batch </details
/sig api-machinery /wg batch
Do you have an example of usage for these utilities? Just curious?
/triage accepted
Sorry for the late response. Taking k-sigs/kueue as an example, I assumed the below: It helps the controllers for batch workloads such as k-sigs/kueue, k-sigs/jobset, kubeflow/mpi-operator, and kubeflow/training-operator. I'm thinking of implementing this function once the code freeze term is finished.
/assign
Hi, may i take this up?
I took this one, and working on this now.
Code change:
// https://github.com/kubernetes/kubeadm/issues/1582 var UnversionedKubeletConfigMap bool if _, ok := m["featureGates"]; ok { <del> if featureGates, ok := m["featureGates"].(map[string]bool); ok { </del> <ins> if featureGates, ok := m["featureGates"].(map[interface{}]interface{}); ok { </ins> // TODO: update the default to true once this graduates to Beta. UnversionedKubeletConfigMap = false if val, ok := featureGates["UnversionedKubeletConfigMap"]; ok { <del> UnversionedKubeletConfigMap = val </del> <ins> if valBool, ok := val.(bool); ok { UnversionedKubeletConfigMap = valBool } else { framework.Failf("unable to cast the value of feature gate UnversionedKubeletConfigMap to bool") } </ins> } } else { framework.Failf("unable to cast the featureGates field in the %s ConfigMap", kubeadmConfigName)

Related discussion:
text: kubeadm-kinder-latest ci-kubernetes-e2e-kubeadm-kinder-latest.Overall E2EKubeadm suite.[sig-cluster-lifecycle] [area-kubeadm] proxy addon kube-proxy ServiceAccount should be bound to the system:node-proxier cluster role 2021-11-09 23:32 CET () E2EKubeadm suite: [sig-cluster-lifecycle] [area-kubeadm] proxy addon kube-proxy ServiceAccount should be bound to the system:node-proxier cluster role This issue seems to be linked to FYI: /cc /sig cluster-lifecycle /area kubeadm
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
fix PR is here, needs LGTM:
Also failing on Thanks !
Code change:
// https://github.com/kubernetes/kubeadm/issues/1582 var UnversionedKubeletConfigMap bool if _, ok := m["featureGates"]; ok { <del> if featureGates, ok := m["featureGates"].(map[string]bool); ok { </del> <ins> if featureGates, ok := m["featureGates"].(map[interface{}]interface{}); ok { </ins> // TODO: update the default to true once this graduates to Beta. UnversionedKubeletConfigMap = false if val, ok := featureGates["UnversionedKubeletConfigMap"]; ok { <del> UnversionedKubeletConfigMap = val </del> <ins> if valBool, ok := val.(bool); ok { UnversionedKubeletConfigMap = valBool } else { framework.Failf("unable to cast the value of feature gate UnversionedKubeletConfigMap to bool") } </ins> } } else { framework.Failf("unable to cast the featureGates field in the %s ConfigMap", kubeadmConfigName)

Related discussion:
text: kubeadm-kinder-latest-on-1-22 E2EKubeadm suite.[sig-cluster-lifecycle] [area-kubeadm] proxy addon kube-proxy ServiceAccount should be bound to the system:node-proxier cluster role ci-kubernetes-e2e-kubeadm-kinder-latest-on-1-22.Overall task-06-e2e-kubeadm 2021-11-09 23:31 CET : E2EKubeadm suite: [sig-cluster-lifecycle] [area-kubeadm] proxy addon kube-proxy ServiceAccount should be bound to the system:node-proxier cluster role No response /sig cluster-lifecycle
/assign
/triage accepted will have a look and send a fix if it's kubeadm related.
/area kubeadm
fix PR is here, needs LGTM:
Code change:
// Fake Flexvolume plugin type fakePluginFactory struct { <del> error bool // Indicates whether an error should be returned. </del> <ins> errorDriver string // the name of the driver in error </ins> } var _ PluginFactory = fakePluginFactory{} func (m fakePluginFactory) NewFlexVolumePlugin(_, driverName string, _ exec.Interface) (volume.VolumePlugin, error) { <del> if m.error { </del> <ins> if driverName == m.errorDriver { </ins> return nil, fmt.Errorf("Flexvolume plugin error") } // Dummy Flexvolume plugin. Prober never interacts with the plugin.

Related discussion:
text: When kubelet is running if you create two volume plugin directories here: /usr/libexec/kubernetes/kubelet-plugins/volume/exec /usr/libexec/kubernetes/kubelet-plugins/volume/exec/cifs /usr/libexec/kubernetes/kubelet-plugins/volume/exec/nodeagent~uds You will see these expected logs: Now if you copy over the cifs plugin file to cifs directory and then copy the uds plugin the errors go away. The pods using the uds volume will function but any pods attempting to use the cifs volume will fail with the following error from kubelet: desiredStateOfWorld. err=failed to get Plugin from volumeSpec for volume "pv" err=no volume plugin matched Restarting kubelet fixes this problem as then both plugins are present and properly . A functional volume plugin should be to kubelet even if another volume plugin is missing or invalid. Fixing the invalid volume plugin currently only adds the one that was invalid and fixed and other valid plugins that were previously present are skipped. Start kubelet service on a node. Create two directories for two flex volume plugins in the /usr/libexec/kubernetes/kubelet-plugins/volume/exec/ directory. Eg. nodeagent~uds and cifs Kubelet logs will now start complaining that the plugins are missing. Add the files to the plugin folders and then start a pod using the plugin. Notice that only the last plugin file copied is available to be used by pods. The first plugin will generate this error if used by a volume "err=no volume plugin matched" Performing a touch on the folder of the missing plugin will cause kubelet to properly index it. <details</details<detailsLocal kube cluster </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
/sig k8s-infra
/sig storage /remove-sig k8s-infra
Code change:
ports := apiService.Spec.Ports if len(ports) > 1 { <del> return nil, fmt.Errorf("multiple ports are not yet supported in openstack load balancers") </del> <ins> return nil, fmt.Errorf("multiple ports are not supported in openstack v1 load balancers") </ins> } else if len(ports) == 0 { return nil, fmt.Errorf("no ports provided to openstack load balancer") }

Related discussion:
text: LBaaS implementation (v1 or v2) will not support services that require to load balancer more than one port.
Fixed for LBaaS v2 by I suspect LBaaS v1 can't support multiple ports (not sure if reusing the VIP across multiple loadbalancers is a universally supported thing). I also believe LBaaS v1 is also mostly gone in favour of v2 in deployments so trying to address this in v1 is extremely low priority unless someone steps forward to ask for it. So: I think we can close this bug now, but I lack the powers to do that directly.
thank you for the update.
Code change:
selector: matchLabels: k8s-app: event-exporter <del> version: v0.3.1 </del> <ins> version: v0.3.4 </ins> template: metadata: labels: k8s-app: event-exporter <del> version: v0.3.1 </del> <ins> version: v0.3.4 </ins> spec: serviceAccountName: event-exporter-sa containers: - name: event-exporter <del> image: k8s.gcr.io/event-exporter:v0.3.1 </del> <ins> image: gke.gcr.io/event-exporter:v0.3.4-gke.0 </ins> command: - /event-exporter - -sink-opts=-stackdriver-resource-model={{ exporter_sd_resource_model }} -endpoint={{ exporter_sd_endpoint }} # BEGIN_PROMETHEUS_TO_SD - name: prometheus-to-sd-exporter <del> image: k8s.gcr.io/prometheus-to-sd:v0.7.2 </del> <ins> image: gke.gcr.io/prometheus-to-sd:v0.11.1-gke.1 </ins> command: - /monitor - --stackdriver-prefix={{ prometheus_to_sd_prefix }}/addons

Related discussion:
text: the following images are using old client-go that would not work correctly starting 1.22+ if those images use in-cluster config(mounted service account token) to talk to kube-apiserver: if the above images use in-cluster config, they should use client-go 1.14+. xref: /assign /cc /sig instrumentation /priority important-soon
/triage accepted