jiebi/CodeConvo huggingface dataset:
Change:
Selector                   map[string]string `json:"selector,omitempty" yaml:"selector,omitempty"` CreateExternalLoadBalancer bool              `json:"createExternalLoadBalancer,omitempty" yaml:"createExternalLoadBalancer,omitempty"` <del> // Container port to connect to, either a name or a port number </del> <ins> // ContainerPort is the name of the port on the container to direct traffic to. // Optional, if unspecified use the first port on the container. </ins> ContainerPort util.IntOrString `json:"containerPort,omitempty" yaml:"containerPort,omitempty"` }

Discussion:
What would you like to be : We'd like to have the Prometheus stack () running in our scalability tests. Why is this needed: There are couple of reasons: will simplify writing SLI assertions/tests that are based on metrics not necessarily exported on master. Some examples here are the new In-Cluster Network Programming Latency SLI (exported in kube-proxy) or soon to be implemented RTT SLI where the metric will be exported in regular pods (probes). With Prometheus stack, collecting and aggregating such metrics is very simple. -prometheus provides many useful metrics about the state of the cluster, such metrics might be invaluable when debugging scalability test failures. mimics what customers do in their cluster, making the test setup more realistic.
/sig scalability
/assign
The GCE 5K Node Performance test with enabled Prometheus completed successfully. We can enable Prometheus in all tests.
Looks like kubemark-500 has some issue, test fails often with Kubemark-5000 also failed once with Will disable Prometheus in kubemark, will work on fixing it when I'm back from my vacation.
For the first kind of the failure that kubemark-500 suffered from, i.e. the root cause is Looks like the token for the "prometheus-operator" service account was not ready, as we can see in the logs it was created after the POST to create the servicemonitor was called.
It looks like the second failure (kubemark-5000) was caused by the prometheus-k8s pods not scheduled by the kube-scheduler. This is strange but may be related to other issues we had. Hard to investigate what really happened there, will leave it for now. Will re-enable prometheus tomorrow and will see if it happens again.
Closing, as this is basically done in a minimal version. Other improvements will be tracked in separate issues. /close
Closing this issue. <detailsIn response to : Closing, as this is basically done in a minimal version. 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:
var ( // csiVersion supported csi version <del> csiVersion = &csipb.Version{Major: 0, Minor: 1, Patch: 0} </del> <ins> csiVersion = &csipb.Version{Major: 0, Minor: 2, Patch: 0} </ins> ) type csiPlugin struct {

Discussion:
Current CSI E2E test has some issues which prevent it to run successfully the a local cluster. /sig storage /kind bug /assign
Change:
} } <ins> func TestBigYAML(t *testing.T) { d := ` stuff: 1 ` maxLen := 5 * 1024 * 1024 bufferLen := 4 * 1024 //  maxLen 5 M dd := strings.Repeat(d, 512*1024) r := NewDocumentDecoder(ioutil.NopCloser(bytes.NewReader([]byte(dd[:maxLen-1])))) b := make([]byte, bufferLen) n, err := r.Read(b) if err != io.ErrShortBuffer { t.Fatalf("expected ErrShortBuffer: %d / %v", n, err) } b = make([]byte, maxLen) n, err = r.Read(b) if err != nil { t.Fatalf("expected nil: %d / %v", n, err) } r = NewDocumentDecoder(ioutil.NopCloser(bytes.NewReader([]byte(dd)))) b = make([]byte, maxLen) n, err = r.Read(b) if err != bufio.ErrTooLong { t.Fatalf("bufio.Scanner: token too long: %d / %v", n, err) } } </ins> func TestYAMLDecoderCallsAfterErrShortBufferRestOfFrame(t *testing.T) { d := `--- stuff: 1

Discussion:
What happened: When calling the token size for the buffer is the default which is NOT changable. Larger documents (which is likely when using a yaml separator) causes a This was uncovered using kudo... the issue is What you expected to happen: limitation should be documented if they exist size should be calling code managed How to reproduce it (as minimally and precisely as possible): Call with a doc larger than token size Anything else we need to know?: The fixing PR provides more detail if needed. Code concern is: duplicate of which I will now close Environment: Kubernetes version (use ): 1.17 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:
/sig api-machinery
/cc
OK so the request here is that we call on the scanner to permit larger documents? I think 5MB is a good max size? (Since YAML is more verbose than proto, where the (IIRC) 1.5MB limit is enforced.)
Adding labels-- this is a good one for new contributors.
/assign 0xMH because of open PR
GitHub didn't allow me to assign the following users: 0xMH. Note that only , repo collaborators and people who have commented on this issue/PR can be assigned. Additionally, issues/PRs can only have 10 assignees at the same time. For more information please see <detailsIn response to : /assign 0xMH because of open PR 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
/assign
/remove-help /remove good first issue
Change:
// TODO: Get rid of [DisabledForLargeClusters] tag when issue #56138 is fixed. It("should have session affinity work for LoadBalancer service with ESIPP off [Slow] [DisabledForLargeClusters]", func() { <ins> // L4 load balancer affinity `ClientIP` is not supported on AWS ELB. framework.SkipIfProviderIs("aws") </ins> svc := getServeHostnameService("service") svc.Spec.Type = v1.ServiceTypeLoadBalancer svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeCluster

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 --Is this a BUG REPORT or FEATURE REQUEST?: What happened: What you expected to happen: The test should either succeed or be skipped on AWS How to reproduce it (as minimally and precisely as possible): Run this test on an AWS cluster with the AWS cloud provider configured Anything else we need to know?: The test sets the service's session affinity to here: The AWS cloud provider specifically only supports : Environment: Kubernetes version (use ): Cloud provider or hardware configuration: AWS OS (e.g. from /etc/os-release): Kernel (e.g. ): Install tools: Others:
cc
/cc
Thanks for the investigation, given the information so far, we should just skip this test on AWS. Will prepare a PR soon.
Change:
archive: - extracted - user: root <del> - name: /opt/cni </del> <ins> - name: /home/kubernetes </ins> - makedirs: True - source: https://storage.googleapis.com/kubernetes-release/network-plugins/cni-0799f5732f2a11b329d9e3d51b9c8f2e3759f2ff.tar.gz - tar_options: v - source_hash: md5=afbb526e7d976f98353ac96f73043031 - archive_format: tar <del> - if_missing: /opt/cni/bin </del> <ins> - if_missing: /home/kubernetes/bin </ins> {% if grains['cloud'] is defined and grains.cloud in [ 'vagrant' ]  %} # Install local CNI network plugins in a Vagrant environment cmd-local-cni-plugins: cmd.run: - name: | <del> cp -v /vagrant/cluster/network-plugins/cni/bin/* /opt/cni/bin/. chmod +x /opt/cni/bin/* </del> <ins> cp -v /vagrant/cluster/network-plugins/cni/bin/* /home/kubernetes/bin/. chmod +x /home/kubernetes/bin/* </ins> cmd-local-cni-config: cmd.run: - name: |

Discussion:
Kubernetes version (use ): master Environment: Cloud provider or hardware configuration: GCE OS (e.g. from /etc/os-release): debian, gci Install tools: cluster/kube- What happened: Creating a cluster with GCI uses the directory for CNI plugins. Creating a cluster with debian uses the directory for CNI plugins, which is read-only on GCI. This makes it impossible to create a DaemonSet which works for both image types. What you expected to happen: The CNI installation directory should be the same across all image types. In this case, it should be . CC
/sig network
Some related work here:
Ok, I approved this one for 1.7 since It helps clean up our CVM based tests. The cleanup code is also self-contained, shouldn't cause any issues on other cloud providers. But will double check through the pr.
Change:
} else { framework.Logf("Deleted pod %s prematurely", pod.Name) deliberatelyDeletedPods.Insert(string(pod.UID)) <ins> // If it is an old version we do not need to measure the controller reaction because we have done it instead. // If it is a new version, we have to reset the time to start counting the time for the replacement pod to reach readiness again. delete(nodeToAgeOfOldPod, pod.Spec.NodeName) </ins> } } }

Discussion:
/kind flake /sig apps This is an old flaking since , but the flaky rate is not that high. The rate in recent runs in is about 3/23 ~ 13%.
/priority backlog as the failure rate now is not high /cc old threads in and
The label(s) cannot be applied, because the repository doesn't have them. <detailsIn response to : /priority backlog as the failure rate now is not high /cc old threads in and 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
/priority backlog
The Kubernetes project currently lacks enough contributors to adequately respond to all issues. This bot triages un-triaged issues according to the following rules: After 90d of inactivity, is applied After 30d of inactivity since was applied, is applied After 30d of inactivity since was applied, the issue is closed You can: Mark this issue as fresh with Close this issue with Offer to help out with [Issue Triage][1] Please send feedback to sig-contributor-experience at . /lifecycle stale [1]:
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues. This bot triages un-triaged issues according to the following rules: After 90d of inactivity, is applied After 30d of inactivity since was applied, is applied After 30d of inactivity since was applied, the issue is closed You can: Mark this issue as fresh with Close this issue with Offer to help out with [Issue Triage][1] Please send feedback to sig-contributor-experience at . /lifecycle rotten [1]:
/remove-lifecycle rotten still flaking
/triage accepted /assign
Change:
return allErrs } <ins> var linkLocalNet *net.IPNet </ins> func validateEndpointAddress(address *api.EndpointAddress) errs.ValidationErrorList { <ins> if linkLocalNet == nil { var err error _, linkLocalNet, err = net.ParseCIDR("169.254.0.0/16") if err != nil { glog.Errorf("Failed to parse link-local CIDR: %v", err) } } </ins> allErrs := errs.ValidationErrorList{} if !util.IsValidIPv4(address.IP) { allErrs = append(allErrs, errs.NewFieldInvalid("ip", address.IP, "invalid IPv4 address")) } <ins> if linkLocalNet.Contains(net.ParseIP(address.IP)) { allErrs = append(allErrs, errs.NewFieldInvalid("ip", address.IP, "may not be in the link-local range (169.254.0.0/16)")) } </ins> return allErrs }

Discussion:
Reported by It's possible to turn the master into a proxy to localhost or the GCE metadata server by adding a new endpoint that points to the service. To reproduce, add a new endpoint by posting to http://apiserver/api/v1beta3/endpoints with a description like: If you then go to http://apiserver/api/v1beta3/proxy/namespaces/default/services/myendpoint/ you can interact with the master's metadata server. We can't validate that Endpoints are within the cluster CIDR because we deliberately allow importing of external addresses -- that was the original purpose of allowing users to post Endpoints. I wouldn't disallow link-local and localhost addresses in Endpoints, either, since that might be useful in the future. I'd prefer to just disallow proxying to such addresses. Obviously we'd need to resolve DNS names before checking. See also cc
I think it would be simpler to disallow 169.254.0.0/16 as endpoints, document why and move on. The alternatives are more complicated and difficult to internalize and debug. , Robert Bailey wrote:
The user would either get an error when trying to post the Endpoints, or when trying to access the proxy. The latter is unlikely, IMO, except in malicious circumstances. The former would prevent using services to do something like publish a local metadata service (say, similar to the ) on a link-local address. But I'm ok with that approach for now, since it seems easy to change later.
Yeah, we can open it up as real requirements emerge, was my feeling. , Brian Grant wrote:
I agree w/ fix. Also we should block any similar range that AWS uses, etc.
Or resolve "metadata" and block just that.
Change:
testSetNilMapsToEmpties(reflect.ValueOf(&actualConfig)) testClearLocationOfOrigin(&actualConfig) <del> if !reflect.DeepEqual(test.expectedConfig, actualConfig) { </del> <ins> if !api.Semantic.DeepEqual(test.expectedConfig, actualConfig) { </ins> t.Errorf("diff: %v", util.ObjectDiff(test.expectedConfig, actualConfig)) t.Errorf("expected: %#vn actual:   %#v", test.expectedConfig, actualConfig) }

Discussion:
E.g., it calls Convert() for every byte of a slice of uint8. E0330 22:15:23. 5352 ] TIM: converting bool E0330 22:15:23. 5352 ] TIM: converting []v1.NamedExtension E0330 22:15:23. 5352 ] TIM: converting []v1.NamedCluster E0330 22:15:23. 5352 ] TIM: converting []v1.NamedCluster E0330 22:15:23. 5352 ] TIM: converting v1.Cluster E0330 22:15:23. 5352 ] TIM: converting v1.Cluster E0330 22:15:23. 5352 ] TIM: converting string E0330 22:15:23. 5352 ] TIM: converting string E0330 22:15:23. 5352 ] TIM: converting bool E0330 22:15:23. 5352 ] TIM: converting string E0330 22:15:23. 5352 ] TIM: converting []uint8 E0330 22:15:23. 5352 ] TIM: converting uint8 E0330 22:15:23. 5352 ] TIM: converting uint8 E0330 22:15:23. 5352 ] TIM: converting uint8 E0330 22:15:23. 5352 ] TIM: converting uint8 E0330 22:15:23. 5352 ] TIM: converting uint8 E0330 22:15:23. 5352 ] TIM: converting uint8 E0330 22:15:23. 5352 ] TIM: converting uint8 E0330 22:15:23. 5352 ] TIM: converting uint8 E0330 22:15:23. 5352 ] TIM: converting uint8 E0330 22:15:23. 5352 ] TIM: converting uint8 E0330 22:15:23. 5352 ] TIM: converting uint8 E0330 22:15:23. 5352 ] TIM: converting uint8 E0330 22:15:23. 5352 ] TIM: converting uint8 E0330 22:15:23.

5352 ] TIM: converting uint8 E0330 22:15:23. 5352 ] TIM: converting uint8 ... thousands of these.
There's an easy fix for this :/