jiebi/CodeConvo huggingface dataset:
Change:
t.Fatal(err) } if !exists { <del> t.Errorf("No expectations found for DaemonSet %q", oldDSKey) </del> <ins> t.Fatalf("No expectations found for DaemonSet %q", oldDSKey) </ins> } if dsExp.Fulfilled() { t.Errorf("There should be unfulfiled expectation for creating new pods for DaemonSet %q", oldDSKey)

Discussion:
Which jobs are failing: TestExpectationsOnRecreate unit test, in along with expectations bugfix during 1.19 and cherry-picked to 1.18/1.17 Which test(s) are failing: Reason for failure: Anything else we need to know: These failures are masked in CI because bazel test runs with flake retries (), so the test can fail 2/3 times and the job can still pass (cc
adding to the milestone for triage, in case this is a real bug and not just a test issue /milestone v1.19
cc
/assign
looks like the panic is due to the test continuing in the !exists case (rather than exiting with a Fatal): however, that still means the test is failing in three distinct places:
it looks like the same failure existed in 1.18, so this probably isn't release blocking, but it does need to be resolved in order for us to stop ignoring unit test flakes in CI runs
it actually looks like this test was during the 1.19 dev cycle and cherry-picked back to 1.18/1.17, which is why release-1.18 is failing :-/
figured it out... the controller sync is updating the DS, which is triggering an update event and adding an extra enqueue which the test did not account for good news is that it appears to be a test-only issue
possible test deflake in
Change:
ipt := iptablestest.NewFake() ipvs := ipvstest.NewFake() ipset := ipsettest.NewFake(testIPSetVersion) <del> fp := NewFakeProxier(ipt, ipvs, ipset, nil, []string{"3.3.3.0/24", "4.4.4.0/24"}) </del> <ins> fp := NewFakeProxier(ipt, ipvs, ipset, nil, ParseExcludedCIDRs([]string{"3.3.3.0/24", "4.4.4.0/24"})) </ins> // All ipvs services that were processed in the latest sync loop. activeServices := map[string]bool{"ipvs0": true, "ipvs1": true}

Discussion:
What would you like to be : Change excludeCIDRs from []string to []*IPNet in Proxier and perform the parsing at construction of Proxier. Why is this needed: This was proposed by over comments in Pr This improves the performance of isIPInExcludeCIDRs since the cost of parsing becomes one time.
/sig network /kind cleanup
/remove-kind feature
/triage unresolved I am a bot run by ‍
ping
Change:
"//pkg/auth/authorizer/abac:all-srcs", "//pkg/auth/nodeidentifier:all-srcs", "//pkg/capabilities:all-srcs", <del> "//pkg/client/chaosclient:all-srcs", </del> "//pkg/client/clientset_generated/internalclientset:all-srcs", "//pkg/client/conditions:all-srcs", "//pkg/client/informers/informers_generated/internalversion:all-srcs",

Discussion:
/kind bug /sig release Such as:
Cool issue. /assign
I see the code in was pushed by you. I don't understand what Intercept() does. Do you think there is an Infinite recursive call?
Chaos client isn’t used anywhere, and we need to remove it soon.
Ok, I can help remove it.
But there are also one place using it. How to deal with it? Delete it directly? Or something we need to do?
Has never been anything other than experimental and was not used in practice. We can remove it and it’s flag from kubelet as it was experimental. are we deprecating experimental flags for one release or can we just remove?
Change:
} rdm.apiGroups[key] = group } <ins> klog.Infof("Adding GroupVersion %s %s to ResourceManager", groupName, value.Version) </ins> gv := metav1.GroupVersion{Group: groupName, Version: value.Version} gvKey := groupVersionKey{

Discussion:
I upgraded k3s from to and noticed a log message is repeated in the I also see this message when deploying a container that uses apiserver aggregation, such as in other distros such as in the api-server log. The message should not repeated in the logs. This causes a nuisance and the logs eventually are rotated. Upgrade kubernetes to and install a container that uses uses apiserver aggregation such as or . For reference the original issue was reported here: <details</details<details</details<details</details<details</details<details</details<details</details
/cc /sig api-machinery The log was in since v1.26.
Thanks for raising this, opened as a potential fix.
/triage accepted
/assign
Change:
return allErrs } <del> // WarningsOnUpdate returns warnings for the given update. func (customResourceValidator) WarningsOnUpdate(ctx context.Context, obj, old runtime.Object) []string { return nil </del> <ins> var standardFinalizers = sets.NewString( metav1.FinalizerOrphanDependents, metav1.FinalizerDeleteDependents, string(corev1.FinalizerKubernetes), ) func validateKubeFinalizerName(stringValue string, fldPath *field.Path) []string { var allWarnings []string for _, msg := range apimachineryvalidation.IsQualifiedName(stringValue) { allWarnings = append(allWarnings, fmt.Sprintf("%s: %q: %s", fldPath.String(), stringValue, msg)) } if len(strings.Split(stringValue, "/")) == 1 { if !standardFinalizers.Has(stringValue) { allWarnings = append(allWarnings, fmt.Sprintf("%s: %q: prefer a domain-qualified finalizer name to avoid accidental conflicts with other finalizer writers", fldPath.String(), stringValue)) } } return allWarnings </ins> } func (a customResourceValidator) ValidateStatusUpdate(ctx context.Context, obj, old runtime.Object, scale *apiextensions.CustomResourceSubresourceScale) field.ErrorList {

Discussion:
A client is allowed to add custom finalizers to Custom Resources with a finalizer name that's not fully qualified (e.g. or ). However they're prevented from doing the same on builtin resource types, returning the following error: Invalid value: "": name is neither a standard finalizer name nor is it fully qualified Per , custom finalizer names are expected to be in format "consist of a domain name, a forward slash and the name of the finalizer" (e.g. ). Therefore, I expected the enforcement to be the same for CRs and builtin types. a custom resource on the cluster it to add the edit does not fail the same on a builtin resource (e.g. Namespace or Pod), observe it fails No response Reproducible at least starting from 1.21 and still on latest versions. <details</details<detailsN/A kind cluster </details<detailsN/A - kind cluster accessed via macOS </details<details</details<details</details<details</details
/area api /cc /sig api-machinery
/assign /triage accepted
There is no validation of finalizer in and . Please unassign me if you guys have started to work on it. /assign
it is called from here on custom resources:
lacks validation for finalizer name. I have raised a pr for this. PTAL.
Change:
SecurityOpt: fmtSecurityOpts, } <del> // There is no /etc/resolv.conf in Windows, DNS and DNSSearch options would have to be passed to Docker runtime instead if runtime.GOOS == "windows" { hc.DNS = opts.DNS hc.DNSSearch = opts.DNSSearch } </del> <ins> updateHostConfig(hc, opts) </ins> // Set sysctls if requested if container.Name == PodInfraContainerName {

Discussion:
What happened: Latest kubelet + Windows Docker version 1.14.0-dev refused to start any containers, error output: "invalid option: Windows does not support MemorySwap" How to reproduce it (as minimally and precisely as possible): It's always reproducible with Windows Docker 1.14.0-dev + latest kubelet code base. Anything else do we need to know: It didn't happen for Windows Docker 1.12.2-cs2-ws-beta. The reason behind the issue was because new code was for Windows Docker to check Resources parameters, it doesn't accept a non-zero value for MemorySwap: But kubelet was default to set an unlimited (-1) value. The issue was gone in my setup after applied a private fix to disable MemorySwap by set it to zero for Windows.
Change:
// CleanupGCEResources cleans up GCE Service Type=LoadBalancer resources with // the given name. The name is usually the UUID of the Service prefixed with an // alpha-numeric character ('a') to work around cloudprovider rules. <del> func CleanupGCEResources(loadBalancerName string) (retErr error) { </del> <ins> func CleanupGCEResources(loadBalancerName, zone string) (retErr error) { </ins> gceCloud, err := GetGCECloud() if err != nil { return err } <ins> region, err := gcecloud.GetGCERegion(zone) if err != nil { return fmt.Errorf("error parsing GCE/GKE region from zone %q: %v", zone, err) } </ins> if err := gceCloud.DeleteFirewall(loadBalancerName); err != nil && !IsGoogleAPIHTTPErrorCode(err, http.StatusNotFound) { retErr = err } <del> if err := gceCloud.DeleteRegionForwardingRule(loadBalancerName, gceCloud.Region()); err != nil && </del> <ins> if err := gceCloud.DeleteRegionForwardingRule(loadBalancerName, region); err != nil && </ins> !IsGoogleAPIHTTPErrorCode(err, http.StatusNotFound) { retErr = fmt.Errorf("%vn%v", retErr, err) } <del> if err := gceCloud.DeleteRegionAddress(loadBalancerName, gceCloud.Region()); err != nil && </del> <ins> if err := gceCloud.DeleteRegionAddress(loadBalancerName, region); err != nil && </ins> !IsGoogleAPIHTTPErrorCode(err, http.StatusNotFound) { retErr = fmt.Errorf("%vn%v", retErr, err) }

Discussion:
In federation tests, if we observe the build logs. we see cleaning up LoadBalancer from cloud provider seems not working. It has 2 effects: delays the tests by waiting to delete but always returns error. so we waste like 5 minutes. maybe we are leaking the LoadBalancer in the project.
we can see these errors in every build. but just for reference here are some build logs https://k8s-
cc
All the errors in logs are . It doesn't necessarily indicate we are leaking resource, just now we must have clusterID initialized before calling EnsureLoadBalancerDeleted(). Would be better to not call this function directly in e2e test :)
Federation cleanup should use the same implementation as non-federated e2e test:
function looks like only specific to GCE. in future we would run the e2e tests in AWS too. it would be better to use generic functions if any.
using is working for us. here is the test logs https://k8s-
EnsureLoadBalancerResourcesDeleted() actually cleans up nothing, it only lists forwarding rules and probably logging :)
Change:
"apiVersion": "v1", "kind": "ResourceQuota", "metadata": { <del> "name": "quota", </del> <ins> "name": "quota" </ins> }, "spec": { "hard": {

Discussion:
I'm following step by step tutorial on how to create resource quotas per namespace () looks like this: { "apiVersion": "v1", "kind": "ResourceQuota", "metadata": { "name": "quota", }, "spec": { "hard": { "memory": "1Gi", "cpu": "20", "pods": "10", "services": "5", "replicationcontrollers":"20", "resourcequotas":"1", }, } when i'm about to create quota it fails with: kubectl create -f --namespace=prod invalid character '}' looking for beginning of object key string Namespace "prod" exists: kubectl get namespace NAME LABELS STATUS AGE default &lt;noneActive 26d dev name=development Active 8d kube-system &lt;noneActive 26d prod name=production Active 8d kubectl version Client Version: version.Info{Major:"1", Minor:"1", GitVersion:"v1.1.2", GitCommit:"", GitTreeState:"clean"} Server Version: version.Info{Major:"1", Minor:"1", GitVersion:"v1.1.2", GitCommit:"", GitTreeState:"clean"}
Those trailing commas are wrong. should look like: I'll submit a docs patch
sweet. ta. That seem to do the trick: kubectl create -f --namespace=prod resourcequota "quota" created
I'm going to reopen until the PR which fixes this merges, when it should autoclose...
I'm following this tutorial on installing percona with kubectl, and I'm getting a similar error: When I run: kubectl create -f pmm-server- I get: error: json: line 1: invalid character ‘Â’ looking for beginning of object key string
Change:
// NodeMetrics sets resource usage metrics of a node. type NodeMetrics struct { metav1.TypeMeta <ins> // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional </ins> metav1.ObjectMeta // The following fields define time interval from which metrics were

Discussion:
no explanation for metadata filed of NodeMetrics/PodMetrics, code: should be like $ kubectl explain NodeMetrics KIND: NodeMetrics VERSION: DESCRIPTION: NodeMetrics sets resource usage metrics of a node. FIELDS: apiVersion <stringAPIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: kind <stringKind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: metadata <Objecttimestamp <string-required- The following fields define time interval from which metrics were collected from the interval [Timestamp-Window, Timestamp]. usage <map[string]string-required- The memory usage is the memory working set. window <string-required- and $ kubectl explain PodMetrics KIND: PodMetrics VERSION: DESCRIPTION: PodMetrics sets resource usage metrics of a pod. FIELDS: apiVersion <stringAPIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: containers <[]Object-required- Metrics for all containers are collected within the same time window. kind <stringKind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: metadata <Objecttimestamp <string-required- The following fields define time interval from which metrics were collected from the interval [Timestamp-Window, Timestamp]. window <string-required- able to see the explanation for metadata filed of NodeMetrics/PodMetrics Kubernetes Version: v1.22.0-rc.0+
/sig instrumentation
/kind documentation /assign /triage accepted
Change:
CROSS_BUILD_COPY qemu-QEMUARCH-static /usr/bin/ <del> RUN clean-install wget netcat </del> <ins> RUN clean-install wget bash netcat </ins> ADD on-start.sh /

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!--What happened: The image used in the Statefulset e2e tests: doesn't work because is missing in the image and the entrypoint is a bash script (). What you expected to happen: The image should be able to execute the entrypoint. How to reproduce it (as minimally and precisely as possible): Run the image with the same args as used in the manifests: Anything else we need to know?: Can fix the issue by adding to the install command: and building a new image: But I don't know if this is the right way since I don't fully understand the whole BASEIMAGE infrastructure and what's supposed to go where. Environment: Kubernetes version (use ): Cloud provider or hardware configuration: OS (e.g. from /etc/os-release): Kernel (e.g. ): Install tools: Others: /sig testing
Change:
// TODO: UUID on Manifext is deprecated in the future once we are done // with the API refactory. It is required for now to determine the instance // of a Pod. <del> UUID          types.UID     `json:"uuid,omitempty" description:"manifest UUID"` </del> <ins> UUID          types.UID     `json:"uuid,omitempty" description:"manifest UUID, populated by the system, read-only"` </ins> Volumes       []Volume      `json:"volumes" description:"list of volumes that can be mounted by containers belonging to the pod"` Containers    []Container   `json:"containers" description:"list of containers belonging to the pod"` RestartPolicy RestartPolicy `json:"restartPolicy,omitempty" description:"restart policy for all containers within the pod; one of RestartPolicyAlways, RestartPolicyOnFailure, RestartPolicyNever"`

Discussion:
Right now we have haphazard comments regarding which fields are read-only/output-only, and many, such as aren't documented at all. Swagger 2.0 actually supports a property tag, but we're using Swagger 1.2, which does not, officially. The official meaning doesn't match what we want, though. fields must not be included in a PUT, which would be painful for clients. We could simply document our convention, however. We should tag fields as readonly. Maybe we could have go-restful automatically add a comment to the description in that case.
/cc
Are there any known obstacles with upgrading to 2.0?
go-restful (the framework that we are using to generate swagger-spec) does not support 2.0 yet:
Disclaimer: for the doc-fix it day, I will be adding the read-only information into the description. This partially resolves this issue, but not entirely. I will unassign myself after description is done.
Note: users can set the node status when creating a node. This is a bug and should be fixed. After fixing that bug, the corresponding description should be updated.
Change:
expectNoError(err) startTime := time.Now() <del> expectNoError(wait.Poll(poll, 90*time.Second, func() (bool, error) { </del> <ins> Expect(wait.Poll(poll, 90*time.Second, func() (bool, error) { </ins> p, err := podClient.Get(p.Name) if err != nil { return false, err } <del> return api.IsPodReady(p), nil })) </del> <ins> ready := api.IsPodReady(p) if !ready { Logf("pod is not yet ready; pod has phase %q.", p.Status.Phase) return false, nil } return true, nil })).NotTo(HaveOccurred(), "pod never became ready") </ins> if time.Since(startTime) < 30*time.Second { Failf("Pod became ready before it's initial delay")

Discussion:
If the container_probe test runs on a node without the nginx image, it sometimes takes 90s to get the pod in running. Most of this time goes in pulling the image, so I'm assuming it's registry related hiccup. Using might make it more reliable. Example failure: Note the following event in the logs:
a) we should not be pulling from docker in our tests - too hit-or-miss b) we should replace nginx (132 MB) with (4.5 MB) whenever possible. , Prashanth B wrote:
Change:
if controller.Status.Replicas != 2 { t.Errorf("expected 2, got: %d", controller.Status.Replicas) } <del> if !api.Semantic.DeepEqual(fakeLister.s, labels.Set(controller.Spec.Selector).AsSelector()) { </del> <ins> if !reflect.DeepEqual(fakeLister.s, labels.Set(controller.Spec.Selector).AsSelector()) { </ins> t.Errorf("unexpected output: %#v %#v", labels.Set(controller.Spec.Selector).AsSelector(), fakeLister.s) } }

Discussion:
This tree has a commit that demonstrates two obviously different objects that should not pass the semantic DeepEqual but do.
What shall we do with this issue for triage? Labels? Priority?
P2 for when he returns , Satnam Singh wrote:
OK I am now sufficiently worried about this. Fixes incoming.
Change:
kube::log::status "Running kubectl tests for kube-apiserver" setup <ins> # Test custom version invocation CUSTOM_VERSION_SUFFIX=-custom run_kube_apiserver kube::test::if_has_string "$(kubectl get --raw /version)" "gitVersion.*-custom" kill "${APISERVER_PID}" 1>&2 2>/dev/null wait "${APISERVER_PID}" || true unset APISERVER_PID </ins> run_kube_apiserver run_kube_controller_manager create_node

Discussion:
Starting in 1.31, --version no longer works to modify the build ID of the running components. /kind regression /priority important-soon Running kube-apiserver v1.31.0 with ignores the modified build ID and reports In 1.28, 1.29, and 1.30 (since ), this allowed modifying the build ID of the running server. /sig api-machinery /assign Run v1.31.0 with No response 31.0 n/a <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
I think this broke in DefaultBuildEffectiveVersion() is grabbed in NewAPIServerCommand(), before the flag is parsed, so the GitVersion propagated into the snapshot effectiveVersion doesn't honor
cc
Change:
id="svg2" version="1.1" inkscape:version="0.48.4 r9939" <del> sodipodi:docname="name_blue.pdf" </del> <ins> sodipodi:docname="name_blue.svg" </ins> inkscape:export-filename="/home/thockin/src/kubernetes/kubernetes.png" inkscape:export-xdpi="250.55" inkscape:export-ydpi="250.55">

Discussion:
The logo (, ) font does not match the others. I believe the png/pdf versions are correct.
What other ones? It should be the same font - they look the same to me...
Change:
c := &configFactory{ client:                         args.Client, <del> podLister:                      schedulerCache, </del> podQueue:                       internalqueue.NewSchedulingQueue(stopEverything, framework), nodeLister:                     args.NodeInformer.Lister(), pVLister:                       args.PvInformer.Lister(),

Discussion:
<!-- Please only use this template for submitting enhancement requests --What would you like to be : Consider use schedulerCache to replace fields in PluginFactoryArgs ref: /assign
/sig scheduling /priority backlog
Change:
KUBE_GCS_MAKE_PUBLIC=y KUBE_GCS_UPLOAD_RELEASE=y KUBE_GCS_RELEASE_BUCKET=kubernetes-release <del> KUBE_GCS_PROJECT=google-containers </del> KUBE_GCS_RELEASE_PREFIX="ci/${LATEST}" KUBE_GCS_LATEST_FILE="ci/latest.txt" KUBE_GCS_LATEST_CONTENTS=${LATEST}

Discussion:
I cant bring up the monitoring addons on my local cluster after I turns out that thats because I am using an older version of docker which does not allow "-" in namespaces. I get error on running . suggested that we can change the path to use googlecontainers instead of google-containers since that works for all versions of docker. Using google-containers only works for docker versions 1.5+ Filling this issue to hear what others think about this.
SGTM
Fine with me. I'm working on moving the e2e images, can make this change at same time.
SGTM. Take note Let me know when we definitely decide to do this and I will re-generate the image names for the images that I have created and pushed.
please double and triple check to get everything :) , Satnam Singh wrote:
Thanks for heads-up. I am in the middle of pushing kubernetes/pause and etcd_server to Will make sure use the right path here.
fwiw GoogleCloudPlatform/kubernetes to complement already merged PRs...
Change:
ObjectMeta: metav1.ObjectMeta{Name: "tier&1", Namespace: ""}, Value:      100, }, <ins> "invalid system name": { ObjectMeta: metav1.ObjectMeta{Name: scheduling.SystemPriorityClassPrefix + "test"}, Value:      100, }, </ins> } for k, v := range errorCases {

Discussion:
In a recent discussion on , suggested to keep priority class names that start with "system-" for system use only and not allow user defined priority classes to start with this prefix. Given that we have reserved priority values 1 Billion for system use only, it makes sense to reserve a prefix as well to ensure that predefined priority classes won't conflict with user defined ones in the future. Is this a BUG REPORT or FEATURE REQUEST?: /kind feature /sig scheduling /assign ref