jiebi/CodeConvo huggingface dataset:
Change:
configs[CudaVectorAdd2] = Config{promoterE2eRegistry, "cuda-vector-add", "2.2"} configs[DebianIptables] = Config{buildImageRegistry, "debian-iptables", "buster-v1.5.0"} configs[EchoServer] = Config{promoterE2eRegistry, "echoserver", "2.3"} <del> configs[Etcd] = Config{gcRegistry, "etcd", "3.4.13-0"} </del> <ins> configs[Etcd] = Config{gcEtcdRegistry, "etcd", "3.4.13-0"} </ins> configs[GlusterDynamicProvisioner] = Config{dockerGluster, "glusterdynamic-provisioner", "v1.0"} configs[Httpd] = Config{dockerLibraryRegistry, "httpd", "2.4.38-alpine"} configs[HttpdNew] = Config{dockerLibraryRegistry, "httpd", "2.4.39-alpine"}

Discussion:
<!-- Please only use this template for submitting reports about continuously failing tests or jobs in Kubernetes CI --Which jobs are failing: Which test(s) are failing: Since when has it been failing: 02/19 20:21 PST Testgrid link: Reason for failure: Image pull failure Anything else we need to know:
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 windows cc
Change:
parameterScheme.AddGeneratedDeepCopyFuncs(metav1.GetGeneratedDeepCopyFuncs()...) parameterCodec := runtime.NewParameterCodec(parameterScheme) <ins> selfLinkPrefix := "" switch customResourceDefinition.Spec.Scope { case apiextensions.ClusterScoped: selfLinkPrefix = "/" + path.Join("apis", customResourceDefinition.Spec.Group, customResourceDefinition.Spec.Version) + "/" case apiextensions.NamespaceScoped: selfLinkPrefix = "/" + path.Join("apis", customResourceDefinition.Spec.Group, customResourceDefinition.Spec.Version, "namespaces") + "/" } </ins> requestScope := handlers.RequestScope{ Namer: handlers.ContextBasedNaming{ GetContext: func(req *http.Request) apirequest.Context { ret, _ := r.requestContextMapper.Get(req) return ret }, <del> SelfLinker:    meta.NewAccessor(), ClusterScoped: customResourceDefinition.Spec.Scope == apiextensions.ClusterScoped, </del> <ins> SelfLinker:         meta.NewAccessor(), ClusterScoped:      customResourceDefinition.Spec.Scope == apiextensions.ClusterScoped, SelfLinkPathPrefix: selfLinkPrefix, </ins> }, ContextFunc: func(req *http.Request) apirequest.Context { ret, _ := r.requestContextMapper.Get(req)

Discussion:
as discussed via IRC my understanding is that customResource selfLink is broken. For example for resource created the selfLink is while as far as I understand it should be something like: disregard in case I'm wrong.
Change:
echo "Using master: $KUBE_MASTER (external IP: $KUBE_MASTER_IP)" } <ins> # Reads kube-env metadata from master # # Assumed vars: #   KUBE_MASTER_IP #   AWS_SSH_KEY #   SSH_USER function get-master-env() { ssh -oStrictHostKeyChecking=no -i "${AWS_SSH_KEY}" ${SSH_USER}@${KUBE_MASTER_IP} sudo cat /etc/kubernetes/kube_env.yaml } </ins> function query-running-minions () { local query=$1

Discussion:
When we add nodes to an existing cluster, we need to reuse the existing configuration. In particular, we need to extract the kubelet cert & key, otherwise we get a cert error connecting to the master.
WIP fix in
Change:
} func (ts *azureTokenSource) refreshToken(token *azureToken) (*azureToken, error) { <del> oauthConfig, err := adal.NewOAuthConfig(azure.PublicCloud.ActiveDirectoryEndpoint, token.tenantID) </del> <ins> env, err := azure.EnvironmentFromName(token.environment) if err != nil { return nil, err } oauthConfig, err := adal.NewOAuthConfig(env.ActiveDirectoryEndpoint, token.tenantID) </ins> if err != nil { return nil, fmt.Errorf("building the OAuth configuration for token refresh: %v", err) }

Discussion:
What happened: AAD support in kubectl does not work for sovereign cloud The 'environment' parameter was introduced to support sovereign cloud, but it works in first round. The 'environment' value is not persisted, so follow-up requests will fail. What you expected to happen: 'environment' parameter persisted in kubectl config file. How to reproduce it (as minimally and precisely as possible): Use kubectl to connect to Azure sovereign cloud, make the token expire, and do auth. Anything else we need to know?: Environment: Kubernetes version (use ): 1.11 Cloud provider or hardware configuration: OS (e.g. from /etc/os-release): Kernel (e.g. ): Install tools: Others: <!-- DO NOT EDIT BELOW THIS LINE --/kind bug
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
Change:
# downloading tarball release "${KUBE_ROOT}/cluster/ubuntu/download-release.sh" <ins> # Fetch the hacked easyrsa that make-ca-cert.sh will use curl -L -O https://storage.googleapis.com/kubernetes-release/easy-rsa/easy-rsa.tar.gz > /dev/null 2>&1 </ins> setClusterInfo local ii=0

Discussion:
cluster/saltbase/salt/generate-cert/make-ca- sets but does not echo what it is doing, so in the case of an error there is no evidence of which command produced the error.
Change:
"fmt" v1 "k8s.io/api/core/v1" <ins> "k8s.io/client-go/util/exec" </ins> "k8s.io/kubernetes/test/e2e/framework" <ins> e2elog "k8s.io/kubernetes/test/e2e/framework/log" </ins> e2epod "k8s.io/kubernetes/test/e2e/framework/pod" ) <ins> // Result holds the execution result of remote execution command. type Result struct { Host   string Cmd    string Stdout string Stderr string Code   int } // LogResult records result log func LogResult(result Result) { remote := result.Host e2elog.Logf("exec %s: command:   %s", remote, result.Cmd) e2elog.Logf("exec %s: stdout:    %q", remote, result.Stdout) e2elog.Logf("exec %s: stderr:    %q", remote, result.Stderr) e2elog.Logf("exec %s: exit code: %d", remote, result.Code) } </ins> // HostExec represents interface we require to execute commands on remote host. type HostExec interface { <ins> Execute(cmd string, node *v1.Node) (Result, error) </ins> IssueCommandWithResult(cmd string, node *v1.Node) (string, error) IssueCommand(cmd string, node *v1.Node) error Cleanup()

Discussion:
<!-- Please only use this template for submitting enhancement requests --What would you like to be : separate stdout and stderr command exit code: remove kubectl dependency: Why is this needed: to replace
/assign
/sig storage HostExec was originally written for local PV tests. If we want to replace SSH in e2e, some features must be supported and I’d like to help on this. cc
Change:
kLocalStorageWarning = "Deleting pods with local storage" kUnmanagedFatal      = "pods not managed by ReplicationController, ReplicaSet, Job, or DaemonSet (use --force to override)" kUnmanagedWarning    = "Deleting pods not managed by ReplicationController, ReplicaSet, Job, or DaemonSet" <ins> kMaxNodeUpdateRetry  = 10 </ins> ) var (

Discussion:
Even on a cluster of size 3, I regularly see concurrent modification problems with kubectl: NODES= for node in node; done for node in node; done Doing that a few times and you are likely to see something like: I suspect that 1) kubectl cordon / uncordon should retry (or use a PATCH method)? 2) something - maybe the heartbeat? is causing concurrent modifications to the cluster. (if we have trouble reproducing I can try to narrow this down - I'm going to test with an empty cluster later; right now it is a cluster with lots of PetSets & volumes)
I'd bet that this is caused by node status updates. And I'd agree that cordon should probably retry.
Change:
"io" "math" "os" <ins> "path/filepath" </ins> "time" "github.com/docker/docker/daemon/logger/jsonfilelog/jsonlog"

Discussion:
doesn't work for Windows node. After some investigation, I think the problem is that for Docker the log file reads is a symlink to the actual docker container log file. On linux, I believe fsnotify follows symlink by default , so it works on linux. However, on windows I believe it doesn't follow the symlink. I tried to replace the symlink file with an actual file and append log to it, will start working after that. The proposed solution is to explicitly follow the symlink in Kubelet, so that we get more consist behavior across different platforms.
/cc
Note that this happened to be fixed by in HEAD. But we may still want to follow the symlink which is a more proper fix.
Change:
<ins> #!/usr/bin/env bash # Copyright 2023 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. # This script checks API-related files for mismatch in docs and field names, # and outputs a list of fields that their docs and field names are mismatched. # Usage: `hack/verify-fieldname-docs.sh`. set -o errexit set -o nounset set -o pipefail KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/.. source "${KUBE_ROOT}/hack/lib/init.sh" source "${KUBE_ROOT}/hack/lib/util.sh" kube::golang::setup_env make -C "${KUBE_ROOT}" WHAT=cmd/fieldnamedocscheck # Find binary fieldnamedocscheck=$(kube::util::find-binary "fieldnamedocscheck") result=0 find_files() { find . -not (  (  -wholename './output'  -o -wholename './_output'  -o -wholename './_gopath'  -o -wholename './release'  -o -wholename './target'  -o -wholename '*/third_party/*'  -o -wholename '*/vendor/*'  -o -wholename './pkg/*'  ) -prune  )  ( -wholename './staging/src/k8s.io/api/*/v*/types.go'  -o -wholename './staging/src/k8s.io/kube-aggregator/pkg/apis/*/v*/types.go'  -o -wholename './staging/src/k8s.io/apiextensions-apiserver/pkg/apis/*/v*/types.go'  ) } versioned_api_files=$(find_files) || true for file in ${versioned_api_files}; do package="${file%"/types.go"}" echo "Checking ${package}" ${fieldnamedocscheck} -s "${file}" || result=$? done exit ${result} </ins>

Discussion:
Currently we have inconsistency in most of the API where the field name should be used in description so the generated docs match the API fields people actually set. A linter could be for checking To avoid confusing users
/good-first-issue
/triage accepted
/assign
Hey can you provide some more information for this issue
are you still working on this?
Hey feel free to take it. I am unassigning myself
/triage needs-information /remove-good-first-issue
/sig api-machinery
Change:
// Common user flags overwrite       bool <ins> list            bool </ins> local           bool dryRunStrategy  cmdutil.DryRunStrategy dryRunVerifier  *resource.DryRunVerifier

Discussion:
<!-- Please only use this template for submitting enhancement requests --What would you like to be : add --list option to kubectl annotate command Why is this needed: like kubectl label commandshow annotations quickly
/sig cli These SIGs are my best guesses for this issue. Please comment if I am incorrect about one. I am a bot run by vllry. ‍
/assign
Change:
"k8s.io/apimachinery/pkg/util/validation/field" utilfeature "k8s.io/apiserver/pkg/util/feature" api "k8s.io/kubernetes/pkg/apis/core" <ins> "k8s.io/kubernetes/pkg/apis/core/helper" </ins> apivalidation "k8s.io/kubernetes/pkg/apis/core/validation" "k8s.io/kubernetes/pkg/apis/storage" "k8s.io/kubernetes/pkg/features"

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 --/kind feature The field essentially has the type , but currently there is no validation for set and map semantics, i.e. unique elements / keys. Having this validation at API level removes logic to validate at the volume plugin level. edit: this check will not be in cases where this makes it difficult to add other fields and make this field optional. /sig api-machinery /sig storage
/assign
Thanks for catching this. Would you be able to implement this for this release? We want to try to go beta if we can, and we won't be able to strengthen validation once that happens.
Yes will do!
Change:
By("should have correct firewall rule for ingress") fw := gceController.GetFirewallRule() <del> expFw := jig.ConstructFirewallForIngress(gceController, cloudConfig.NodeTag) </del> <ins> nodeTags := []string{cloudConfig.NodeTag} if framework.TestContext.Provider != "gce" { // nodeTags would be different in GKE. nodeTags = framework.GetNodeTags(jig.Client, cloudConfig) } expFw := jig.ConstructFirewallForIngress(gceController, nodeTags) </ins> // Passed the last argument as `true` to verify the backend ports is a subset // of the allowed ports in firewall rule, given there may be other existing // ingress resources and backends we are not aware of.

Discussion:
1 tests failed, 3 jobs failed, 73 builds failed. Failure stats cover 1 day time range '26 Jun 2017 23:52 UTC' to '27 Jun 2017 23:52 UTC'. <details<summaryRationale for assignments:</summary </details<br
There are no sig labels on this issue. Please by:<br(1) mentioning a sig: <bre.g., for API Machinery<br(2) specifying the label manually: <bre.g., for sig/scalability<br<brNote: method (1) will trigger a notification to the team. You can find the team list and label list
This was broke by . I'm working on a fix for this. /assign
Change:
podSpecificFieldsSet["spec.nodeName"] = pod.Spec.NodeName podSpecificFieldsSet["spec.restartPolicy"] = string(pod.Spec.RestartPolicy) podSpecificFieldsSet["status.phase"] = string(pod.Status.Phase) <ins> podSpecificFieldsSet["status.podIP"] = string(pod.Status.PodIP) </ins> return generic.AddObjectMetaFieldsSet(podSpecificFieldsSet, &pod.ObjectMeta, true) }

Discussion:
<!-- This form is for bug reports and feature requests ONLY! If you're looking for help check and the . --Is this a BUG REPORT or FEATURE REQUEST?: What happened: I was attempting to filter pods with a using client-go selecting by its . I tried multiple variations until I ended up with . When filtering by , list of pod(s) came back empty even if pod with the IP we are filtering by was running. Then I tried reproducing it by calling the Kubernetes API directly which had the same result, list of pods came back empty: What you expected to happen: When passing the IP of the previously retrieved running Pod, I expected to get that Pod returned in the result. How to reproduce it (as minimally and precisely as possible): create a simple , get its IP (For example using - query Kubernetes: Anything else we need to know?: If I leave out the pod IP, I get all the pods back. I also tried using different formats when doing the curl, not one of them return anything. Also it seems like field is . As a side note I retrieved the URL which I used from debugging which calls client-go made. Environment: Kubernetes version (use ):Cloud provider or hardware configuration**: minikube version: v0.20.0 OS (e.g. from /etc/os-release): minikube OS Kernel (e.g. ): minikube kernel: Install tools: minikube Others:
There are no sig labels on this issue. Please by: 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. You can find the group list and label list . The in the method 1 has to be replaced with one of these: bugs, feature-requests, pr-reviews, test-failures, proposals
/sig api-machinery
Reiterating the mentions to trigger a notification: <detailsIn response to : 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
Currently the for only support , , , and . I've already submitted a PR in . PTAL.
cc
Change:
go_test( name = "go_default_test", <del> srcs = ["autoregister_controller_test.go"], </del> <ins> srcs = [ "autoregister_controller_new_test.go", "autoregister_controller_test.go", ], </ins> library = ":go_default_library", tags = ["automanaged"], deps = [

Discussion:
The unit tests described here are really hard to read and they've been flaking. A pattern based on indexers like this is easier to understand. I would suggest writing a new unit test file and once the coverage is consistent, just deleting the old one. We need coverage for: ignoring APIServices that aren't auto managed when they are mutated create an APIService in response to AddAPIServiceToSync delete an APIService in response to RemoveAPIServiceToSync duplicate RemoveAPIServiceToSync don't panic duplicate AddAPIServiceToSync don't panic AddAPIServiceToSync an APIService, then having the user take ownership (remove annotation), then RemoveAPIServiceToSync should not touch the APIService creating an APIService with the when no such service has been AddAPIServiceToSync, should result in APIService deletion AddAPIServiceToSync an APIService, then modify the APIService. The APIService should be stomped back to the AddAPIServiceToSync value.
hi, , about follow the indexers pattern to refactor , so I using a to replace previous and , and using to manipulate ? I wrote a basic framwork of new unit test file, is this right ? here is my code(not finished yet) :
Change:
"k8s.io/client-go/transport" "k8s.io/kubernetes/test/e2e/framework" e2enode "k8s.io/kubernetes/test/e2e/framework/node" <ins> e2epod "k8s.io/kubernetes/test/e2e/framework/pod" </ins> e2erc "k8s.io/kubernetes/test/e2e/framework/rc" "k8s.io/kubernetes/test/e2e/network/common" testutils "k8s.io/kubernetes/test/utils"

Discussion:
pull-kubernetes-e2e-kind-ipv6 - Not sure. Time out on waiting Pod to be started. No response /sig network
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
Change:
} w.Write(LEVEL_0, "NewReplicaSet:t%sn", printReplicaSetsByLabels(newRSs)) } <del> overlapWith := d.Annotations[deploymentutil.OverlapAnnotation] if len(overlapWith) > 0 { w.Write(LEVEL_0, "!!!WARNING!!! This deployment has overlapping label selector with deployment %q and won't behave as expected. Please fix it before continuing.n", overlapWith) } </del> if events != nil { DescribeEvents(events, w) }

Discussion:
The Deployment overlap annotation () is no longer populated nor used by 1.6+ on the server side. However, in we maintained knowledge of the annotation for 1.6 clients in case they talk to pre-1.6 servers. That PR also adds code to clean up the annotation whenever it's found in 1.6+ clusters, so that pre-1.6 clients don't see it and make the wrong assumptions. The code handling this annotation should be removed when all the following conditions are met: We no longer support a 1.5.x client talking to the latest server version. We no longer support upgrading the server directly from 1.5.x to the latest version. The soonest milestone that meets both conditions according to the is v1.8. This issue should be moved to that milestone once it exists.
TODOs: [x] deployment controller: [x] deployment util: [x] deployment reaper: [x] deployment describer:
I can help on this
/assign
GitHub didn't allow me to assign the following users: wanghaoran1988. Note that only can be assigned. <detailsIn response to : /assign 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
thanks, feel free to send patches
Change:
cluster := membership.NewCluster("") cluster.SetStore(st) <ins> cluster.Recover(func(*semver.Version) {}) </ins> applier := etcdserver.NewApplierV2(st, cluster) for _, ent := range ents {

Discussion:
I tried to do a rollback on my own test cluster and got a panic. I will attach the data-dir tarball. The script that performs the migration goes from 2.2.1-2.3.7-3.0.14-2.3.7, and it is this last step that barfs. Script is forthcoming in a PR, but there's a snapshot at
This seems that it's not even about the real data, but about some metadata of the cluster. - any thoughts on it?
Is the data you uploaded the original data before 2.2.1-2.3.7?
yes
The rollback tool couldn't accept any v2 data existed. One way to make it work is to remove snap files:
To clarify, the panic is caused by existing v2 snap files. In the migrate step 2.3.7 -3.0.x, the script didn't remove v2 snap files.
- thanks a lot for looking into it. I will add a step to our migration script to remove the v2 data before rollback. Did it work after removing the data?
send out for review
To clarify - I verified that it fixed the problem reported (rollback works on the data provided in the issue).
The fix in the shell script is good, but the error message in the rollback tool could definitely be improved upon.
says that removing the snap file was not the right way to go.
i marked as milestone 1.5 and marking this as a non-release-blocker. hope this is correct.
Hmm... I tried re-running this on my test data, and now 2.3.7 always panics after the last step, whether I begin with backup data or not. Here is the data before running rollback: after running rollback:
I do not understand this. Does the migration tool still panic? Or the etcd 2.3.7 panics? etcd 2.3.7 should panic if you build the migration tool with 3.0 wal pkg. I believe I sent you the correct migration binary over slack.
Can we close this issue if the rollback tool stop panics? If the migrated data panics etcd 2.3, it is expected. And there is some other issues tracking it. I think we went though them a few weeks ago before thinks giving.

your slack message was lost while I was out of office, but the attached file is still there. Trying it now.
it works with the binary you shared. We still need a way to build that binary, but I will open a separate issue about that.
Change:
if err != nil { errorList = append(errorList, errors.Wrapf(err, "failed to check if image %s exists", image)) } <del> } klog.V(1).Infof("pulling %s", image) if err := ipc.runtime.PullImage(image); err != nil { errorList = append(errorList, errors.Wrapf(err, "failed to pull image %s", image)) </del> <ins> fallthrough // Proceed with pulling the image if it does not exist case v1.PullAlways: klog.V(1).Infof("pulling: %s", image) if err := ipc.runtime.PullImage(image); err != nil { errorList = append(errorList, errors.Wrapf(err, "failed to pull image %s", image)) } default: // If the policy is unknown return early with an error errorList = append(errorList, errors.Errorf("unsupported pull policy %q", policy)) return warnings, errorList </ins> } } return warnings, errorList

Discussion:
<!-- Please only use this template for submitting reports about continuously failing tests or jobs in Kubernetes CI --https://k8s- kubeadm-init 06-22 https://k8s- all kubeadm jobs are failing against k/k master. is this failing after we merged?
cc /sig cluster-lifecycle /area kubeadm kinder cluster preparation constructs images locally by downloading tarballs and tagging them with: then running it would find the image locally and not pull it from GCR. does not contain pre-release images, so trying to pull these images would fail. i think the problem here is that we broke the default behavior with
ok, the problem is indeed here: empty string "" should be the same as PullIfNotPresent.
should be fixed by
/triage accepted