jiebi/CodeConvo huggingface dataset:
Change:
address            = flag.String("address", "127.0.0.1", "The address for the info server to serve on") port               = flag.Uint("port", 10250, "The port for the info server to serve on") hostnameOverride   = flag.String("hostname_override", "", "If non-empty, will use this string as identification instead of the actual hostname.") <ins> dockerEndpoint     = flag.String("docker_endpoint", "", "If non-empty, use this for the docker endpoint to communicate with") </ins> ) const dockerBinary = "/usr/bin/docker"

Discussion:
When using or with a key/value that has a multi-line string as value, that value will appear as quoted string in the log message, i.e. the log message will still be a single line. It would be nicer to print the value in text mode so that it goes across multiple lines, with clear indicators for start and end of the value. Indention could be used to avoid mistaking some embedded line as the start of a new log message. In JSON mode, the value should be formatted normally. /sig instrumentation /wg structured-logging Always printing as a single line can can make the log output unreadable ().
When adding something like this, can be reverted and implemented differently.
My original thinking was that only objects that explicitly ask for multi-line output get formatted that way. But that means that we need to review log calls very carefully. An alternative is to automatically switch from quoting strings to multi-line output based on some heuristic, for example when there's more than one line break.
Here's a potential implementation:
If structured logging is needed in any other case I can contribute, please inform if needed.
/triage accepted /assign /priority important-soon /area logging /cc /cc
We have the same problem as in kube-scheduler also in kubelet, it's just that no-one has seen and/or complained about the multi-line strings. With the benchmark + log analysis tool from I found the following multi-line string parameters in a kubelet log: <details</details
Change:
} func (om *fakeObjectManager) CreatePod(ctx context.Context, pod *v1.Pod) error { <del> defer om.createPodTracker.inc() if om.createPodTracker.errorReady() { defer om.createPodTracker.reset() return om.createPodTracker.getErr() </del> <ins> defer om.createPodTracker.trackParallelRequests() if err := om.createPodTracker.incWithOptionalError(); err != nil { return err </ins> } pod.SetUID(types.UID(pod.Name + "-uid")) return om.podsIndexer.Update(pod)

Discussion:
https://prow.ppc64le- TestStatefulSetControl/CreatePodFailure/Burst/ScaleDownOnly/StatefulSetAutoDeletePVCEnabled of Have started observing more flakes recently since last week. No response_ Able to reproduce using stress tool. /sig testing /sig apps
/triage accepted /assign
opened a PR with a fix:
Change:
// the job stabilized and won't be synced until modification or full // resync happens, we don't want to wait for the latter so we force // sync modifying it <del> job.Spec.Parallelism = &completions job, err = updateV1Job(f.ClientSet, f.Namespace.Name, job) </del> <ins> _, err = framework.UpdateJobWithRetries(f.ClientSet, f.Namespace.Name, job.Name, func(update *batch.Job) { update.Spec.Parallelism = &completions }) </ins> Expect(err).NotTo(HaveOccurred()) err = waitForV1JobFail(f.ClientSet, f.Namespace.Name, job.Name, v1JobTimeout) }

Discussion:
https://k8s- Failed: [] Job should fail a job {Kubernetes e2e suite} Happened on a presubmit run in . Previous issues for this test:
https://k8s- Failed: [] Job should fail a job {Kubernetes e2e suite}
https://k8s- Failed: [] Job should fail a job {Kubernetes e2e suite} Happened on a presubmit run in .
https://k8s- Failed: [] Job should fail a job {Kubernetes e2e suite}
https://k8s- Failed: [] Job should fail a job {Kubernetes e2e suite}
https://k8s- Failed: [] Job should fail a job {Kubernetes e2e suite}
https://k8s- Failed: [] Job should fail a job {Kubernetes e2e suite}
https://k8s- Failed: [] Job should fail a job {Kubernetes e2e suite}
https://k8s- Failed: [] Job should fail a job {Kubernetes e2e suite}
https://k8s- Failed: [] Job should fail a job {Kubernetes e2e suite}
https://k8s- Failed: [] Job should fail a job {Kubernetes e2e suite}
https://k8s- Failed: [] Job should fail a job {Kubernetes e2e suite}
https://k8s- Failed: [] Job should fail a job {Kubernetes e2e suite}
https://k8s- Failed: [] Job should fail a job {Kubernetes e2e suite}
Change:
CLEAN_PATTERNS=( "_tmp" "doc_tmp" <del> ".*/zz_generated.openapi.go" </del> <ins> "((?!staging/src/k8s.io/apiextensions-apiserver/pkg/generated/openapi).)*/zz_generated.openapi.go" </ins> "test/e2e/generated/bindata.go" )

Discussion:
<!-- Please use this template while reporting a bug and provide as much info as possible. Not doing so may result in your bug not being addressed in a timely manner. Thanks! If the matter is security related, please disclose it privately via --What happened: I'm trying to vendor , which due to (recently ?) code in depends on The problem now is that the content of is incomplete: apiextensions- calls generatedopenapi.GetOpenAPIDefinitions, but apiextensions-apiserver/pkg/generated/openapi/ doesn't contain the generated code. What you expected to happen: I expect to compile when fetching it with "go get" or vendoring it with tools like "dep". How to reproduce it (as minimally and precisely as possible): Environment: Kubernetes version (use ): master
/assign
/sig release
/assign
sent a fix in
Change:
resourceVersion string labelSelector   string fieldSelector   string <ins> namespace       string </ins> }{ { rawQuery:        "resourceVersion=1234", resourceVersion: "1234", labelSelector:   "", fieldSelector:   "", <ins> namespace:       api.NamespaceAll, </ins> }, { <del> rawQuery:        "resourceVersion=314159&fields=Host%3D&labels=name%3Dfoo", </del> <ins> rawQuery:        "namespace=default&resourceVersion=314159&fields=Host%3D&labels=name%3Dfoo", </ins> resourceVersion: "314159", labelSelector:   "name=foo", fieldSelector:   "Host=", <ins> namespace:       api.NamespaceDefault, </ins> }, { <del> rawQuery:        "fields=ID%3dfoo&resourceVersion=1492", </del> <ins> rawQuery:        "namespace=watchother&fields=ID%3dfoo&resourceVersion=1492", </ins> resourceVersion: "1492", labelSelector:   "", fieldSelector:   "ID=foo", <ins> namespace:       "watchother", </ins> }, { rawQuery:        "", resourceVersion: "", labelSelector:   "", fieldSelector:   "", <ins> namespace:       api.NamespaceAll, </ins> }, }

Discussion:
is always using the cross namespace context. This needs to be fixed to support scoped watches.
Change:
//count the evictionsNumber zone := nodetopology.GetZoneKey(node) evictionsNumber.WithLabelValues(zone).Inc() <ins> evictionsTotal.WithLabelValues(zone).Inc() </ins> } return result, 0

Discussion:
I would like to propose the graduation of the metric from alpha to stable. The metric has been stable for 2 years now.
/sig api-machinery /sig instrumentation
I am willing to do all StabilityLevels from alpha to stable? Is that right?
/assign
- The request is to have the stability level for the metric graduate to stable. If there are other metrics you want to do at the same time that's a bonus, but not part of the request in this issue.
/sig node /remove-sig api-machinery /cc
To be promoted to stable, the metrics would need to be renamed from to in order to follow Prometheus best practices as well as sig-instrumentation naming guidelines.
/cc
/assign
/triage accepted
Change:
func TestUnschedulablePodBecomesSchedulable(t *testing.T) { tests := []struct { <del> name   string init   func(kubernetes.Interface, string) error pod    *testutils.PausePodConfig update func(kubernetes.Interface, string) error </del> <ins> name                   string init                   func(kubernetes.Interface, string) error pod                    *testutils.PausePodConfig update                 func(kubernetes.Interface, string) error enableReadWriteOncePod bool </ins> }{ { name: "node gets added",

Discussion:
We need an integration test for the scheduler enforcement of the alpha feature. This is required for beta graduation; we need to collect signal on the current behavior before we can proceed. See this comment for context:
/sig storage /sig scheduler
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
The label(s) cannot be applied, because the repository doesn't have them. <detailsIn response to : /sig storage /sig scheduler 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
/sig scheduling
Change:
return "", err } <ins> func CreatePDWithRetry() (string, error) { return createPDWithRetry("") } func CreatePDWithRetryAndZone(zone string) (string, error) { return createPDWithRetry(zone) } </ins> func DeletePDWithRetry(diskName string) error { var err error for start := time.Now(); time.Since(start) < PDRetryTimeout; time.Sleep(PDRetryPollTime) {

Discussion:
For statically created PVs, the persistent volume label admission controller adds the zone label to the PV object. If the admission controller is not enabled or has some bugs, then an e2e test would be helpful for catching these errors. /assign
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 and label list
Change:
// Returns selectors of services, RCs and RSs matching the given pod. func getSelectors(pod *v1.Pod, sl algorithm.ServiceLister, cl algorithm.ControllerLister, rsl algorithm.ReplicaSetLister, ssl algorithm.StatefulSetLister) []labels.Selector { <del> selectors := make([]labels.Selector, 0, 3) </del> <ins> var selectors []labels.Selector </ins> if services, err := sl.GetPodServices(pod); err == nil { for _, service := range services { selectors = append(selectors, labels.SelectorFromSet(service.Spec.Selector))

Discussion:
<!-- Thanks for filing an issue! Before hitting the button, please answer these questions.--Kubernetes version (use ): master What happened: The functionality is hidden in a large function, and not explicit, testable. What you expected to happen: The logic of should read more clearly, with tests for individual filters.
has a PR for this .
Few more things include removing limits in entries like
yeah, im not sure why the thing is there, after all they are just appending to the slice and the limit wont have an effect , from what i can tell, will it? probably good idea to remove unless im missing something.
Its part of part of PR too.
Change:
"time" v1 "k8s.io/api/core/v1" <del> "k8s.io/apimachinery/pkg/api/resource" </del> metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" <del> "k8s.io/apimachinery/pkg/util/uuid" runtimeapi "k8s.io/cri-api/pkg/apis/runtime/v1" "k8s.io/klog/v2" </del> kubeletpodresourcesv1 "k8s.io/kubelet/pkg/apis/podresources/v1" "k8s.io/kubernetes/pkg/kubelet/apis/podresources" "k8s.io/kubernetes/pkg/kubelet/checkpointmanager"

Discussion:
Failing: ` Failing since . Last passing: First failing:
The diff () shows that went in which looks related
/sig node
/kind regression /kind bug /triage accepted
Change:
expectNoEvent(watchB, watch.Modified, testPodA) testPodA, err = updatePod(f, testPodA.GetName(), func(p *v1.Pod) { <del> p.Spec.ActiveDeadlineSeconds = int64ptr(5) </del> <ins> p.ObjectMeta.Labels["mutation"] = "2" </ins> }) Expect(err).NotTo(HaveOccurred()) expectEvent(watchA, watch.Modified, testPodA)

Discussion:
https://k8s- Please work on finding a fix for the flake. /priority failing-test /priority important-soon /sig api-machinery /kind flake
/assign
I think this was fixed by
we had a failure on 3/28 (after the above fix merged). https://k8s- Looking at the logs this seems to be a different error than the one fixed by . Can you confirm plz?
Hmm that is different, and I will look into the reason.
There hasn't been a failure since 3/28, So while the test might have flakes it is definitely less flaky than 12 failures per week now
Yes the latest runs look good. Please close the issue
/close
Change:
checkedICC: true, result:     "test", <del> ok:         false, </del> <ins> overridden: false, }, "overridden context used to verify explicit namespace in config": { clientConfig: &testClientConfig{ namespace:          "default", namespaceSpecified: false, // a namespace that comes from a context is not considered overridden rawconfig:          &clientcmdapi.Config{Contexts: map[string]*clientcmdapi.Context{"overridden-context": {Namespace: "default"}}}, }, overrides: &ConfigOverrides{CurrentContext: "overridden-context"}, icc: &testICC{ possible: true, testClientConfig: testClientConfig{ namespace:          "icc", namespaceSpecified: false, // a namespace that comes from icc is not considered overridden }, }, checkedICC: true, result:     "default", overridden: false, // a namespace that comes from a context is not considered overridden </ins> }, } for name, test := range testCases { <del> c := &DeferredLoadingClientConfig{icc: test.icc} c.clientConfig = test.clientConfig ns, ok, err := c.Namespace() if test.icc.called != test.checkedICC { t.Errorf("%s: unexpected in-cluster-config call %t", name, test.icc.called) } if err != test.err || ns != test.result || ok != test.ok { t.Errorf("%s: unexpected result: %v %s %t", name, err, ns, ok) } </del> <ins> t.Run(name, func(t *testing.T) { c := &DeferredLoadingClientConfig{icc: test.icc, overrides: test.overrides} c.clientConfig = test.clientConfig ns, overridden, err := c.Namespace() if test.icc.called != test.checkedICC { t.Errorf("%s: unexpected in-cluster-config call %t", name, test.icc.called) } if err != test.err || ns != test.result || overridden != test.overridden { t.Errorf("%s: unexpected result: %v %s %t", name, err, ns, overridden) } }) </ins> } }

Discussion:
<!-- Please use this template while reporting a bug and provide as much info as possible. Not doing so may result in your bug not being addressed in a timely manner. Thanks!--What happened: In-cluster namespace isn't overridden by kubeconfig if the context is specified via kubectl flag. When using , the override works as expected. What you expected to happen: If I specify for a context in kubeconfig, then I expect to use as the default namespace, regardless of whatever's in . How to reproduce it (as minimally and precisely as possible): Anything else we need to know?: supposedly fixed this issue, but not for the case where the context is specified via a command line flag (). This is because this line checks for . Environment: Kubernetes version (use ): v1.10.5 (details above) 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
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
fixed in
Change:
errors := []error{} if s.BindPort < 0 || s.BindPort > 65535 { <del> errors = append(errors, fmt.Errorf("--secure-port %v must be between 0 and 65535, inclusive. 0 for turning off secure port.", s.BindPort)) </del> <ins> errors = append(errors, fmt.Errorf("--secure-port %v must be between 0 and 65535, inclusive. 0 for turning off secure port", s.BindPort)) </ins> } return errors

Discussion:
Currently as authentication and authorization are both standard config for all clusters, the kubeapiserver insecure http handler is unsecure, which means the cluster is vulnerable to the attack. So it should be deprecated, even removed totally.
/sig api-machinery
I think removing the insecure option is a good idea. Can you send an email the sig-apimachinery mailing list with a proposed timeline? I think this should be like other GA features and have a one year clock.
Sure, I will send it ASAP.
:+1:
Change:
return nil } <del> hyphenIndex := strings.Index(value, "-") if hyphenIndex == -1 { return fmt.Errorf("expected hyphen in port range") </del> <ins> var err error var low, high int var notation int if plusIndex == -1 && hyphenIndex == -1 { notation |= SinglePortNotation } if hyphenIndex != -1 { notation |= HyphenNotation } if plusIndex != -1 { notation |= PlusNotation </ins> } <del> var err error var low int var high int low, err = strconv.Atoi(value[:hyphenIndex]) if err == nil { </del> <ins> switch notation { case SinglePortNotation: var port int port, err = strconv.Atoi(value) if err != nil { return err } low = port high = port case HyphenNotation: low, err = strconv.Atoi(value[:hyphenIndex]) if err != nil { return err } </ins> high, err = strconv.Atoi(value[hyphenIndex+1:]) <del> } if err != nil { return fmt.Errorf("unable to parse port range: %s: %v", value, err) </del> <ins> if err != nil { return err } case PlusNotation: var offset int low, err = strconv.Atoi(value[:plusIndex]) if err != nil { return err } offset, err = strconv.Atoi(value[plusIndex+1:]) if err != nil { return err } high = low + offset default: return fmt.Errorf("unable to parse port range: %s", value) </ins> } if low > 65535 || high > 65535 {

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?: /kind feature What happened: Implement this TODO: What you expected to happen: Start kube-proxy with a 'beginPort+offset' format port range configuration. This is needed when I want to allocate specific numbers of port from a host without extra manual calculation. Environment: Kubernetes version (use ): Cloud provider or hardware configuration: OS (e.g. from /etc/os-release): Kernel (e.g. ): Install tools: Others:
/sig api-machinery
/sig network Does anyone besides kube-proxy use this?
/assign
Change:
package network import ( <ins> "bytes" </ins> "context" <ins> "encoding/json" </ins> "fmt" "math" "net/http"

Discussion:
[x] two weeks soak start date : testgrid-link [x] two weeks soak end date : [ ] test promotion pr : kubernetes/kubernetes#? According to this APIsnoop query, there are still some remaining ProxyWithPath endpoints which are untested. with this query you can filter untested endpoints by their category and eligiblity for conformance. e.g below shows a query to find all conformance eligible untested,stable,core endpoints Create a pod with a static label using the agnhost image Confirm that the pod is in the running phase Iterate through a list of http methods and check the response from the porter app Confirm that each response code is 200 OK If a test with these calls gets merged, test coverage will go up by 4 points This test is also created with the goal of conformance promotion. /sig testing /sig architecture /area conformance Where/How does PATCH/HEAD/OPTIONS requests for the following endpoints line up with the API reference? connectCoreV1PatchNamespacedPodProxyWithPath connectCoreV1HeadNamespacedPodProxyWithPath connectCoreV1OptionsNamespacedPodProxyWithPath Pod v1 core: Proxy Operations the following endpoints are listed as valid endpoints; connectCoreV1HeadNamespacedPodProxyWithPath connectCoreV1OptionsNamespacedPodProxyWithPath These requests are getting logged as a verb. Line : api/openapi-spec Line : api/openapi-spec Looking at there doesn't look to be a mapping for the above methods. According to this APIsnoop query, there are still some remaining ProxyWithPath endpoints which are untested. with this query you can filter untested endpoints by their category and eligiblity for conformance. e.g below shows a query to find all conformance eligible untested,stable,core endpoints Create a pod with a static label using the agnhost image Confirm that the pod is in the running phase Create a service and link it to the pod Iterate through a list of http methods and check the response from the porter app Confirm that each response code is 200 OK If a test with these calls gets merged, test coverage will go up by 4 points This test is also created with the goal of conformance promotion.
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
/re-open
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:
fractionMemoryReqs = float64(memoryReqs.Value()) / float64(allocatable.Memory().Value()) * 100 fractionMemoryLimits = float64(memoryLimits.Value()) / float64(allocatable.Memory().Value()) * 100 } <ins> fractionEphemeralStorageReqs := float64(0) fractionEphemeralStorageLimits := float64(0) if allocatable.StorageEphemeral().Value() != 0 { fractionEphemeralStorageReqs = float64(ephemeralstorageReqs.Value()) / float64(allocatable.StorageEphemeral().Value()) * 100 fractionEphemeralStorageLimits = float64(ephemeralstorageLimits.Value()) / float64(allocatable.StorageEphemeral().Value()) * 100 } </ins> w.Write(LEVEL_1, "%st%s (%d%%)t%s (%d%%)n", api.ResourceCPU, cpuReqs.String(), int64(fractionCpuReqs), cpuLimits.String(), int64(fractionCpuLimits)) w.Write(LEVEL_1, "%st%s (%d%%)t%s (%d%%)n", api.ResourceMemory, memoryReqs.String(), int64(fractionMemoryReqs), memoryLimits.String(), int64(fractionMemoryLimits)) <ins> w.Write(LEVEL_1, "%st%s (%d%%)t%s (%d%%)n", api.ResourceEphemeralStorage, ephemeralstorageReqs.String(), int64(fractionEphemeralStorageReqs), ephemeralstorageLimits.String(), int64(fractionEphemeralStorageLimits)) </ins> extResources := make([]string, 0, len(allocatable)) for resource := range allocatable { if !helper.IsStandardContainerResourceName(string(resource)) && resource != api.ResourcePods {

Discussion:
<!-- Please only use this template for submitting enhancement requests --What would you like to be : display EphemeralStorage usage with 'kubectl describe node' , like; Why is this needed: ephemeral-storage is a standard ContainerResources like CPU and Mem now. but now we don't display it in the node state. <!-- DO NOT EDIT BELOW THIS LINE --/kind feature /sig cli cc