jiebi/CodeConvo huggingface dataset:
Change:
A "Status" object SHOULD be returned by an API when an operation is not successful (when the server would return a non 2xx HTTP status code). The status object contains fields for humans and machine consumers of the API to determine failures. The information in the status object supplements, but does not override, the HTTP status code's meaning. <del> An "Operation" object MAY be returned by any non-GET API if the operation may take a significant amount of time. The name of the Operation may be used to retrieve the final result of an operation at a later time. </del> TODO: More details (refer to another doc for details) <del> TODO: Use SelfLink to retrieve operation instead. </del> Synthetic Resources -------------------

Discussion:
The schema understood by the Kubernetes configuration file is not described any where. The current practice mostly is copy/paste existing samples (for example ) and edit them. There is a need to define a comprehensive list of elements, and their documentation, so that other examples can leverage them.
Configuration files specify exactly our API objects. See:
This is exactly what I was looking for but not easily googlable, or documented clearly.
Could you please put a link to the swagger UI here?
The only mention in the public docs is here: which links directly to the struct definition on github. It appears that the Swagger docs have been deprecated, and I'm unable to find any documentation for the KubeletConfiguration resource kind in the new docs. It's referred to in at least one place, but is still not actually covered:
Change:
update-generated-docs update-generated-swagger-docs update-openapi-spec <del> update-bazel" </del> <ins> update-bazel update-gofmt" </ins> for t in ${BASH_TARGETS}; do echo -e "${color_yellow}Running ${t}${color_norm}"

Discussion:
<!-- Please only use this template for submitting enhancement requests --What would you like to be : It will be more convenient to include when . Why is this needed: Now, contributor need to run and both. If including when , it will be more convenient. /sig contributor-experience /kind feature /assign
Change:
func fakePortForwardServer(t *testing.T, testName string, serverSends, expectedFromClient map[uint16]string) http.HandlerFunc { return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { pf := &fakePortForwarder{ <ins> expected: expectedFromClient, </ins> received: make(map[uint16]string), send:     serverSends, }

Discussion:
I wanted to drop a note that I haven't forgotten about this issue. I have spent some time investigating and have yet to determine why some test runs result in the data not being forwarded correctly. I hope to resume digging into this soon, but I've got some planning tasks I need to complete first.
I have determined the root cause of this. In the test case, it: a port forwarding session, listening on a local port a TCP connection to the local port a goroutine copies data from the local port to the remote a goroutine copies data from the remote to the local port data to the TCP connection data from the TCP connection port forwarding, which results in the client streams being closed The problem is that the data written in step 3 is only to the local TCP port. There's no guarantee that the goroutine in 2.i copies the data to the remote before step 5 happens. In fact, if you reverse steps 3 () and 4 () so the write happens immediately before you close the stopChan, this test fails very quickly. I am thinking about how to fix this...
Not done yet:
Saw this again today:
- this was a different failure than this one. I've just opened for it and closing this one
Change:
} // IndexerFunc is a function that for a given object computes <del> // <value of an index> for a particular <index>. </del> <ins> // `<value of an index>` for a particular `<index>`. </ins> type IndexerFunc func(obj runtime.Object) string <del> // IndexerFuncs is a mapping from <index name> to function that // for a given object computes <value for that index>. </del> <ins> // IndexerFuncs is a mapping from `<index name>` to function that // for a given object computes `<value for that index>`. </ins> type IndexerFuncs map[string]IndexerFunc // Everything accepts all objects.

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 --My IDE rendered the comments in and they were incomprehensible. I looked at the corresponding source, and found stuff like Those things set off in angle brackets are taken to be HTML tags. They should be backquoted. I expected the comments to render comprehensibly. Kubernetes version (use ): 1.22.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:
Here is an example of what I saw in my IDE. The HTML tags in the comment source just disappeared, because they are not actually meaningful HTML tags. <img width="627" alt="Screen Shot 2021-08-19 at 12 16 00 PM" src="https://user-"
/good-first-issue
This request has been marked as suitable for new contributors. Please ensure the request meets the requirements listed . If this request no longer meets these requirements, the label can be removed by commenting with the command. <detailsIn response to : /good-first-issue </details
Better source would look like this:
That would make it look like this: <img width="748" alt="Screen Shot 2021-08-19 at 3 18 23 PM" src="https://user-"
/assign /triage accepted
Can anyone tell me who is the mentor in Kubernetes,please
I don't know about a single designated mentor. I will be happy to help anyone working on this issue.
I would suggest either attending a SIG (Eg. APIMachinery or Storage) meeting which interests you and seeing what that SIG has as far as getting new contributors up to speed or reach out to ContribEx.
Change:
testTries = 30 // Maximum number of pods in a test, to make test work in large clusters. maxNetProxyPodsCount = 10 <ins> // Number of checks to hit a given set of endpoints when enable session affinity. SessionAffinityChecks = 10 </ins> ) // NewNetworkingTestConfig creates and sets up a new test config helper.

Discussion:
Augment to turn on session affinity for a service, lookup the vip from a container/node and make sure we only hit a single endpoint with N ready/running endpoints.
This looks like it is still relevant can anyone confirm if we these? I still see a
/assign
Are you working on it? Could you please assign this issue to me and I am happy to fix it. Thanks a lot!
/assign I have it in my "backlog" behind NetworkPolicy stuff. Feel free to take it over if you have time.
GitHub didn't allow me to assign the following users: m1093782566. 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
Would appreciate :)
/assign
Change:
} func (kubemarkCluster *kubemarkCluster) getHollowNodeName() (string, error) { <del> nodes, err := kubemarkCluster.nodeLister.List(labels.Everything()) </del> <ins> selector, _ := labels.Parse(nodeGroupLabel) nodes, err := kubemarkCluster.nodeLister.List(selector) </ins> if err != nil { return "", err }

Discussion:
<!-- Please only use this template for submitting enhancement requests --What would you like to be : Kubemark controller should only use nodes for its template that are hollow nodes, rather than any node. Why is this needed: I want to perf-test the cluster autoscaler using clusters the contain real and hollow nodes. The original integration between cluster autoscaler and kubemark assumed multiple clusters, but I would like to enable using a single cluster for simplicity. I.e. a single node group with kubemark pods and many node groups of hollow kubemark nodes.
/sig node /sig autoscaling These SIGs are my best guesses for this issue. Please comment if I am incorrect about one. I am a bot run by vllry. ‍
/remove-sig node /remove-sig autoscaling /sig scalability
Change:
########### <del> # Minions # </del> <ins> # Nodes # </ins> ########### if [[ "${version}" = "v1beta1" ]] || [[ "${version}" = "v1beta2" ]]; then <del> kube::log::status "Testing kubectl(${version}:minions)" </del> <ins> kube::log::status "Testing kubectl(${version}:nodes)" </ins> <del> kube::test::get_object_assert minions "{{range.items}}{{$id_field}}:{{end}}" '127.0.0.1:' </del> <ins> kube::test::get_object_assert nodes "{{range.items}}{{$id_field}}:{{end}}" '127.0.0.1:' </ins> <del> # TODO: I should be a MinionList instead of List kube::test::get_object_assert minions '{{.kind}}' 'List' </del> <ins> kube::test::get_object_assert nodes '{{.kind}}' 'List' </ins> <del> kube::test::describe_object_assert minions "127.0.0.1" "Name:" "Conditions:" "Addresses:" "Capacity:" "Pods:" </del> <ins> kube::test::describe_object_assert nodes "127.0.0.1" "Name:" "Conditions:" "Addresses:" "Capacity:" "Pods:" </ins> fi

Discussion:
kubectl 0.17.0: curl http://localhost:8080/api/v1beta3/minions { "kind": "Status", "apiVersion": "v1beta3", "metadata": {}, "status": "Failure", "message": "the server could not find the requested resource", "reason": "NotFound", "details": {}, "code": 404 } master3 core # /opt/bin/kubectl get mi master3 core # kubectl 0.16.0: uses: http://localhost:8080/api/v1beta1/minions master3 core # ./kubectl get mi NAME LABELS STATUS 192.168.10.70 <noneReady 192.168.10.71 <noneReady in the same time curl http://localhost:8080/api/v1beta3/nodes works well.
Shall we just remove "minion" from kubectl now and throw an error?
remove "minions"?
Yes, that should be part of . cc
Presumably works?
Assigning who's working on
Ref
Could you please take a look at this?

I know that you can get nodes / a node, but the help doesn't say you can or provide examples: To resolve this issue: the help for this command to include nodes (and any other resources we're missing). we generate the help text in a way that ensures this (and probably the many others that are drifting) don't get out of date? Or at least give us a heuristic as to whether this might be true, even if we have to fix it manually?
Can this be closed?
I'll close this one with ; we want to get rid of the minions (mi) resource name, since it doesn't work for v1beta3.
Change:
attachment := makeTestAttachment(attachID, nodeName, pvName) attachment.Status.Attached = tc.initAttached attachment.Status.AttachError = tc.initAttachErr <del> csiAttacher.waitSleepTime = tc.sleepTime _, err := csiAttacher.k8s.StorageV1beta1().VolumeAttachments().Create(attachment) </del> <ins> _, err = csiAttacher.k8s.StorageV1beta1().VolumeAttachments().Create(attachment) </ins> if err != nil { t.Fatalf("failed to attach: %v", err) } <ins> trigerWatchEventTime := tc.trigerWatchEventTime finalAttached := tc.finalAttached finalAttachErr := tc.finalAttachErr </ins> // after timeout, fakeWatcher will be closed by csiAttacher.waitForVolumeAttachment if tc.trigerWatchEventTime > 0 && tc.trigerWatchEventTime < tc.timeout { go func() { <del> time.Sleep(tc.trigerWatchEventTime) attachment.Status.Attached = tc.finalAttached attachment.Status.AttachError = tc.finalAttachErr </del> <ins> time.Sleep(trigerWatchEventTime) attachment := makeTestAttachment(attachID, nodeName, pvName) attachment.Status.Attached = finalAttached attachment.Status.AttachError = finalAttachErr </ins> fakeWatcher.Modify(attachment) }() }

Discussion:
/kind bug /sig storage What happened: CSI unit tests occasionally end up with data race: How to reproduce it (as minimally and precisely as possible): to get CSI unit tests into a binary: the binary 500 times in parallel until it breaks: . Use different argument to really load your machine, it should not be idle! . On my Linux, I got 3 failures in ~1000 runs. puts stderr of failed runs into .
/assign
I make a Fix: PTAL
Change:
}}, }, }, rest.ValidateAllObjectFunc, &metav1.CreateOptions{}) <del> svc := obj.(*api.Service) </del> if err != nil { t.Fatalf("Expected no error: %v", err) } <ins> svc := obj.(*api.Service) </ins> // Test dry run update request external name to node port updatedSvc, created, err := storage.Update(ctx, svc.Name, rest.DefaultUpdatedObjectInfo(&api.Service{

Discussion:
Which test(s) are flaking: TestServiceRegistryUpdateDryRun Reason for failure: This is flaking rarely enough that it is not caught by our CI jobs, which currently tolerate up to 2 unit test failures per run (!). With that toleration removed in , this flake has been seen (). Reproducible with the following steps: the bug in the test that casts the return value even when the create fails: logging on slow etcd writes because of etcd-io/etcd a test binary for the affected package: the affected test using the tool: failures are seen, look at the logs to see the details about the error: /sig network
/triage unresolved Comment when the issue is assessed and confirmed. I am a bot run by vllry. ‍
heh this, was a funny one, we had 1/2^8 chances of using a duplicate, with 1/2^16 I've got 2000 runs without any failures
/assign /remove-triage unresolved
Change:
import ( "fmt" "reflect" <ins> "sort" </ins> "sync" "time"

Discussion:
Seeing random failures.
Looks like lately refactory makes docker API requests are not deterministic. Will look into it.
Any update? It seems to be failing a lot.
I just looked into this and found that is the only test that there are two pods in the which is fed to I think podworker was syncing the two pods in parallel, this causes non-deterministic behaviour I have tried , no errors. , error happens continuously. I can try to fix this :)
Yes, that is what I believe here, but never have time working on it. Thanks for looking into this, and re-assign it to you.
I saw your old PR for this, I think we still need to keep the parallel sync here. Just need to create a for this case :)
Change:
defaultObservationTimeout = time.Minute * 4 ) <del> var _ = framework.KubeDescribe("StartupProbe [Serial] [Disruptive] [NodeFeature:StartupProbe]", func() { f := framework.NewDefaultFramework("critical-pod-test") </del> <ins> var _ = framework.KubeDescribe("StartupProbe [Serial] [Disruptive] [NodeAlphaFeature:StartupProbe]", func() { f := framework.NewDefaultFramework("startup-probe-test") </ins> var podClient *framework.PodClient <ins> ginkgo.BeforeEach(func() { podClient = f.PodClient() }) </ins> /* These tests are located here as they require tempSetCurrentKubeletConfig to enable the feature gate for startupProbe.

Discussion:
<!-- Please only use this template for submitting reports about failing tests in Kubernetes CI jobs --Which jobs are failing: ci-kubernetes-node-kubelet-serial Which test(s) are failing: StartupProbe [Serial] [Disruptive] [NodeFeature:StartupProbe] Since when has it been failing: Testgrid link: Reason for failure: Anything else we need to know:
Tests are no longer running in CI, but tests are still failing. One failure is related to and another one is related to /reopen
Reopened this issue. <detailsIn response to : Tests are no longer running in CI, but tests are still failing. 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
Test failures can now be tracked in
/close It looks like this was solved around Nov 13-14, which is when merged
Closing this issue. <detailsIn response to : /close It looks like this was solved around Nov 13-14, which is when merged 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:
finalizer: []string{"kubernetes.io/valid-finalizer"}, }, { <ins> name:      "create-crd-with-fqdn-like-finalizer-without-path", finalizer: []string{"finalizer.without.valid-path.io"}, expectCreateWarnings: []string{ `metadata.finalizers: "finalizer.without.valid-path.io": prefer a domain-qualified finalizer name including a path (/) to avoid accidental conflicts with other finalizer writers`, }, }, { </ins> name:             "update-crd-with-invalid-finalizer", finalizer:        []string{"invalid-finalizer"}, updatedFinalizer: []string{"another-invalid-finalizer"},

Discussion:
k8s component developers are using FQDNs as finalizers (e.g. or which triggers an error message that isn't particularly easy for an end user to understand: To a naive end user, a fully qualified domain name is a pretty safe thing that is unlikely to conflict with anything else (as long as it's only used by someone from within the domain that owns it, which is a reasonable assumption). If the finalizer has s inside it but no , the message should suggest that finalizers need a . Something like: Do whatever it is that triggered the warning in (this is probably simpler than installing cert-manager and asking for a certificate) introduced: <details</details<detailsGKE </details<details</details<details</details<details</details<details</details
/sig api-machinery
If thats ok I would like to work on that.
/assign
/triage accepted
Change:
testRSScaleSubresources(f) }) <del> ginkgo.It("ReplicaSet Replace and Patch tests", func() { </del> <ins> /* Release: v1.21 Testname: ReplicaSet, is created, Replaced and Patched Description: Create a ReplicaSet (RS) with a single Pod. The Pod MUST be verified that it is running. The RS MUST scale to two replicas and verify the scale count The RS MUST be patched and verify that patch succeeded. */ framework.ConformanceIt("Replace and Patch tests", func() { </ins> testRSLifeCycle(f) }) })

Discussion:
[x] two weeks soak end date : 8 March 2021 According to this APIsnoop query, there are still some remaining Replicaset endpoints that are untested. with this query, you can filter untested endpoints by their category and eligibility for conformance. e.g below shows a query to find all conformance eligible untested, stable, core endpoints replaceAppsV1NamespacedReplicaSet does not show up as untested as it touched by another not promoted to Conformance. Create a ReplicaSet with a static label Read the ReplicaSet info Scale the ReplicaSets to 2 Patch the ReplicaSet Read the ReplicaSet to ensure it is Patch Delete the Namespace and ReplicaSet Due to the complexity of setting up the resources for APIService we have used the current e2e test as template. It has been extended in a for review. example endpoint | useragent --------------------------------------|
createAppsV1NamespacedReplicaSet | (linux/amd64) kubernetes/$Format -- [sig-apps] ReplicaSet ReplicaSet lifecycle tests patchAppsV1NamespacedReplicaSet | (linux/amd64) kubernetes/$Format -- [sig-apps] ReplicaSet ReplicaSet lifecycle tests readAppsV1NamespacedReplicaSet | (linux/amd64) kubernetes/$Format -- [sig-apps] ReplicaSet ReplicaSet lifecycle tests replaceAppsV1NamespacedReplicaSet | (linux/amd64) kubernetes/$Format -- [sig-apps] ReplicaSet ReplicaSet lifecycle tests (4 rows) If a test with these calls gets merged, test coverage will go up by 2 points This test is also created with the goal of conformance promotion. /sig testing /sig architecture /area conformance /sig apps
/triage accepted
/reopen
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
Change:
// UnmountWithForce unmounts given target but will retry unmounting with force option // after given timeout. func (mounter *Mounter) UnmountWithForce(target string, umountTimeout time.Duration) error { <del> err := tryUnmount(mounter, target, umountTimeout) </del> <ins> err := tryUnmount(target, mounter.withSafeNotMountedBehavior, umountTimeout) </ins> if err != nil { if err == context.DeadlineExceeded { klog.V(2).Infof("Timed out waiting for unmount of %s, trying with -f", target) <del> err = forceUmount(target) </del> <ins> err = forceUmount(target, mounter.withSafeNotMountedBehavior) </ins> } return err }

Discussion:
A status of Pod mounted NFS PV remain as terminating when a node shutdown and restart. A Pod is completely terminated. Deploy a Pod mounted NFS PV Shutdown the node where the Pod is running Wait for 5 min and the Pod status become Restart the node The Pod status is still and the Pod is never terminated completely <detailsPrepare a NFS Server.(I used ) Deploy a Pod mounted NFS PV like this. Shutdown the node where the Pod is running.(In this case ) And the status of node02 becomes . After 5 min later(by default), the Pod status becomes . (The time a Pod becomes status depends on .) Then, restart the node and the status of node02 becomes . But the Pod status is still and the Pod is never terminated completely. It seems that a faild to delete Pod because of trying to unmount a not mounted directory. Force delete Pod. Delete Pod's directory on the node. </detailsNo response <details</details<detailsnone(on premise) </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 storage
/sig node
It dose not happen using , so it seems to depend on NFS volume plugin.
/assign
I try to build and run kubelet with comment out this logic. Then it seems to get well. related: This change checks the result of instead of the mount point check. However, check logic is not implemented in and (these functions are used in NFS volume plugin), despite it is done in .
/remove-sig node /sig storage
Reopening, fix had to be reverted due to unit tests requiring root permissions ()
I am terribly sorry... Please wait a moment. I'll try to fix it.
no worries, just get to review the rework, making sure the units tests don't require root permissions
Thank you! Fixed in .
Are there any plans to backport this to older Kubernetes versions? This seems like a critical fix.