jiebi/CodeConvo huggingface dataset:
Change:
When a LoadBalancer Service with Local ExternalTrafficPolicy was deleted normally, an error log "use of closed network connection" was always generated in kube-proxy log, which confused people that there was something wrong: Do not generate error log when it's expected. a LoadBalancer Service with Local ExternalTrafficPolicy it No response <detailsv1.26.0 </details<details</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 network

Discussion:
// It is designed so that http.Server satisfies this interface, type httpServer interface { Serve(listener net.Listener) error <ins> Close() error </ins> } // Implement listener in terms of net.Listen.

return nil // Cause the goroutine to return } <ins> func (fake *fakeHTTPServer) Close() error { return nil } </ins> func mknsn(ns, name string) types.NamespacedName { return types.NamespacedName{ Namespace: ns,

nsn  types.NamespacedName port uint16 <del> listeners   []net.Listener </del> httpServers []httpServer endpoints int // number of local endpoints for a service

var listener net.Listener addresses := hcs.nodeAddresses.List() <del> hcI.listeners = make([]net.Listener, 0, len(addresses)) </del> hcI.httpServers = make([]httpServer, 0, len(addresses)) // for each of the node addresses start listening and serving

// start serving go func(hcI *hcInstance, listener net.Listener, httpSrv httpServer) { <del> // Serve() will exit when the listener is closed. </del> <ins> // Serve() will exit and return ErrServerClosed when the http server is closed. </ins> klog.V(3).InfoS("Starting goroutine for healthcheck", "service", hcI.nsn, "address", listener.Addr()) <del> if err := httpSrv.Serve(listener); err != nil { </del> <ins> if err := httpSrv.Serve(listener); err != nil && err != http.ErrServerClosed { </ins> klog.ErrorS(err, "Healthcheck closed", "service", hcI.nsn) return } klog.V(3).InfoS("Healthcheck closed", "service", hcI.nsn, "address", listener.Addr()) }(hcI, listener, httpSrv) <del> hcI.listeners = append(hcI.listeners, listener) </del> hcI.httpServers = append(hcI.httpServers, httpSrv) }

func (hcI *hcInstance) closeAll() error { errors := []error{} <del> for _, listener := range hcI.listeners { if err := listener.Close(); err != nil { klog.ErrorS(err, "Error closing listener for health check service", "service", hcI.nsn, "address", listener.Addr()) </del> <ins> for _, server := range hcI.httpServers { if err := server.Close(); err != nil { klog.ErrorS(err, "Error closing server for health check service", "service", hcI.nsn) </ins> errors = append(errors, err) } }
Change:
/sig testing
Just wanted to know to can I help in resolving the error handling ?
in /cc /sig api-machinery
/assign you are always welcome to help if you want to try to solve this and send a PR /triage accepted
/
can anyone suggest resources for this Issue as I am new to the testing of admission policy some guidance will surely help
I think both calls can simply be replaced with and a more helpful error message. Feel free to raise a PR, I'll take care of reviewing it.
Thanks for upfront help

Discussion:
features.ValidatingAdmissionPolicy: { Default: true, PreRelease: featuregate.Alpha}}) if err != nil { <del> // FIXME: handle error. panic("Unexpected error") </del> <ins> t.Fatalf("Unable to add feature gate: %v", err) </ins> } err = featureGate.SetFromMap(map[string]bool{string(features.ValidatingAdmissionPolicy): true}) if err != nil { <del> // FIXME: handle error. panic("Unexpected error.") </del> <ins> t.Fatalf("Unable to store flag gate: %v", err) </ins> } plug, err := NewPlugin()
Change:
When updating go-oidc, running failed when looking for licenses; specifically, it was looking for ’s file, but that was no longer vendored. Since no packages are actually used, the license shouldn’t be needed. On master, No response Tip of the master branch. N/A N/A N/A N/A N/A
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 k8s-infra /cc

Discussion:
# if there are no files vendored under this package... if [[ -z "$(find "${DEPS_DIR}/${PACKAGE}" -mindepth 1 -maxdepth 1 -type f)" ]]; then <del> # and we have the same number of submodules as subdirectories... if [[ "$(find "${DEPS_DIR}/${PACKAGE}/" -mindepth 1 -maxdepth 1 -type d | wc -l)" -eq "$(echo "${modules}" | grep -cE "^${PACKAGE}/")" ]]; then </del> <ins> # and we have at least the same number of submodules as subdirectories... if [[ "$(find "${DEPS_DIR}/${PACKAGE}/" -mindepth 1 -maxdepth 1 -type d | wc -l)" -le "$(echo "${modules}" | grep -cE "^${PACKAGE}/")" ]]; then </ins> echo "Only submodules of ${PACKAGE} are vendored, skipping" >&2 continue fi
Change:
/sig scheduling in the job is failing. success run Due to this failure, we cannot see any scheduler metrics results from the perf-dash. master
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
/remove-kind bug /kind flake /kind failing-test
/assign /remove-kind flake
will fixed by

Discussion:
- name: SchedulingMigratedInTreePVs featureGates: <del> CSIMigration: true </del> CSIMigrationAWS: true workloadTemplate: - opcode: createNodes

- name: SchedulingRequiredPodAntiAffinityWithNSSelector defaultPodTemplatePath: config/pod-anti-affinity-ns-selector.yaml <del> featureGates: PodAffinityNamespaceSelector: true </del> workloadTemplate: - opcode: createNodes countParam: $initNodes

- name: SchedulingPreferredAntiAffinityWithNSSelector defaultPodTemplatePath: config/pod-preferred-anti-affinity-ns-selector.yaml <del> featureGates: PodAffinityNamespaceSelector: true </del> workloadTemplate: - opcode: createNodes countParam: $initNodes

- name: SchedulingRequiredPodAffinityWithNSSelector defaultPodTemplatePath: config/pod-affinity-ns-selector.yaml <del> featureGates: PodAffinityNamespaceSelector: true </del> workloadTemplate: - opcode: createNodes countParam: $initNodes

- name: SchedulingPreferredAffinityWithNSSelector defaultPodTemplatePath: config/pod-preferred-affinity-ns-selector.yaml <del> featureGates: PodAffinityNamespaceSelector: true </del> workloadTemplate: - opcode: createNodes countParam: $initNodes
Change:
unit tests should run without root. This test should be refactored or otherwise removed from . should pass as an ordinary user. run tests as non-root
/sig cluster-lifecycle /area kubeadm
thanks for logging the issue. this was changed in so this root preflight test must be excluded.
/triage accepted link

Discussion:
} tcases := []struct { <del> name          string newK8sVersion string dryRun        bool flags         applyPlanFlags expectedErr   string </del> <ins> name               string newK8sVersion      string dryRun             bool flags              applyPlanFlags expectedErr        string expectedErrNonRoot string </ins> }{ { name: "Fail pre-flight check", flags: applyPlanFlags{ kubeConfigPath: fullPath, }, <del> expectedErr: "ERROR CoreDNSUnsupportedPlugins", </del> <ins> expectedErr:        "ERROR CoreDNSUnsupportedPlugins", expectedErrNonRoot: "user is not running as", // user is not running as (root || administrator) </ins> }, { name: "Bogus preflight check specify all with individual check",

t.Error("Expected error, but got success") } <del> if err != nil && !strings.Contains(err.Error(), tt.expectedErr) { t.Fatalf("enforceRequirements returned unexpected error, expected: %s, got %v", tt.expectedErr, err) </del> <ins> expErr := tt.expectedErr // pre-flight check expects the user to be root, so the root and non-root should hit different errors if os.Getuid() != 0 && len(tt.expectedErrNonRoot) != 0 { expErr = tt.expectedErrNonRoot } if err != nil && !strings.Contains(err.Error(), expErr) { t.Fatalf("enforceRequirements returned unexpected error, expected: %s, got %v", expErr, err) </ins> } })
Change:
The change of this PR has resulted in the exception of the file. The file was originally a symbol file, but now other content has been , resulting in the exception of the file symbol. Rollback to the correct symbol file No response <details</details<details</details<details</details<details</details<details</details<details</details
/kind documentation
/triage accepted /priority important-soon /sig release

Discussion:
<del> [CHANGELOG/README.md](./CHANGELOG/README.md) </del> <ins> CHANGELOG/README.md </ins>  No newline at end of file
Change:
release-master-blocking ci-kubernetes- Sub-tests: - ! 2023-01-20 09:17:28 +0000 UTC TestRoundTripSocks5AndNewConnection/proxiedwithvalidauth-https(invalidhostname+InsecureSkipVerify)TestRoundTripSocks5AndNewConnection/proxiedwithvalidauth-http /sig api-machinery cc
/assign /triage accepted Will be fixed by Thanks for noticing, great report by the way

Discussion:
wg.Add(2) go func() { <del> defer h.t.Logf("Server read close, host=%s", req.Host) </del> defer wg.Done() <ins> defer h.t.Logf("Server read close, host=%s", req.Host) </ins> io.Copy(conn, sconn) }() go func() { <del> defer h.t.Logf("Server write close, host=%s", req.Host) </del> defer wg.Done() <ins> defer h.t.Logf("Server write close, host=%s", req.Host) </ins> io.Copy(sconn, conn) }()
Change:
kube-apiserver observed a panic: kube-apiserver should not panic Not sure yet -- will add more details as I investigate. No response v1.25.4 N/A N/A N/A N/A N/A
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 network /cc
max is greater than offset?
/assign

Discussion:
// allows to pass an offset that divides the allocation bitmap in two blocks. // The first block of values will not be used for random value assigned by the AllocateNext() // method until the second block of values has been exhausted. <ins> // The offset value must be always smaller than the bitmap size. </ins> func NewAllocationMapWithOffset(max int, rangeSpec string, offset int) *AllocationBitmap { a := AllocationBitmap{ strategy: randomScanStrategyWithOffset{

base.Add(base, big.NewInt(1)) max-- <ins> // cidr with whole mask can be negative if max < 0 { max = 0 } </ins> r := Range{ net:     cidr, base:    base,

) cidrSize := netutils.RangeSize(cidr) <del> if cidrSize < min { </del> <ins> // available addresses are always less than the cidr size // A /28 CIDR returns 16 addresses, but 2 of them, the network // and broadcast addresses are not available. if cidrSize <= min { </ins> return 0 }

{ name: "small mask IPv4", cidr: "192.168.1.1/28", <ins> want: 0, }, { name: "small mask IPv4", cidr: "192.168.1.1/27", </ins> want: 16, }, { name: "small mask IPv6", <ins> cidr: "fd00::1/124", want: 0, }, { name: "small mask IPv6", </ins> cidr: "fd00::1/122", want: 16, },

} t.Logf("Created service: %s", svcNodePort.Name) } <ins> // Regresion test for https://issues.k8s.io/115316 func TestServiceCIDR28bits(t *testing.T) { serviceCIDR := "10.0.0.0/28" client, _, tearDownFn := framework.StartTestServer(t, framework.TestServerSetup{ ModifyServerRunOptions: func(opts *options.ServerRunOptions) { opts.ServiceClusterIPRanges = serviceCIDR }, }) defer tearDownFn() // Wait until the default "kubernetes" service is created. if err := wait.Poll(250*time.Millisecond, time.Minute, func() (bool, error) { _, err := client.CoreV1().Services(metav1.NamespaceDefault).Get(context.TODO(), "kubernetes", metav1.GetOptions{}) if err != nil { return false, err } return true, nil }); err != nil { t.Fatalf("creating kubernetes service timed out") } ns := framework.CreateNamespaceOrDie(client, "test-regression", t) defer framework.DeleteNamespaceOrDie(client, ns, t) service := &v1.Service{ ObjectMeta: metav1.ObjectMeta{ Name: "test-1234", }, Spec: v1.ServiceSpec{ Type: v1.ServiceTypeClusterIP, Ports: []v1.ServicePort{{ Port: int32(80), }}, Selector: map[string]string{ "foo": "bar", }, }, } _, err := client.CoreV1().Services(ns.Name).Create(context.TODO(), service, metav1.CreateOptions{}) if err != nil { t.Fatalf("Error creating test service: %v", err) } } </ins>
Change:
master-informing gce-master-scale-correctness Kubernetes e2e suite: [It] [sig-network] LoadBalancers should not have connectivity disruption during rolling update with externalTrafficPolicy=Cluster 01-26 04:01 PST https://k8s- { failed [FAILED] error waiting for daemon pods to be ready: timed out waiting for the condition In [It] at: @ 01/27/23 13:45:59.532 } No response /sig-scalability cc
/assign /cc I warned this test was going to flake ;)
/sig network
Currently flaky so I updated the title but will keep issue open until further stability
yes, agreed
one failure is a GCE problem the other a deployment problem Failures look environmental, but let's keep it open until we get 5/5 greens on this test, there may be a symptom of a regression somewhere else
As per discussion of this issue in the SIG Network meeting today, marking this one as accepted. /triage accepted
The label(s) cannot be applied. These labels are supported: . Is this label configured under or in ? <detailsIn response to : /label kind/flake 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
The label(s) cannot be applied. These labels are supported: . Is this label configured under or in ? <detailsIn response to : /label flake 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
/kind flake
/remove-kind failing-test
/assign it fails with we need to cap it for large clusters

Discussion:
nodeNames := e2edaemonset.SchedulableNodes(ctx, cs, ds) e2eskipper.SkipUnlessAtLeast(len(nodeNames), 2, "load-balancer rolling update test requires at least 2 schedulable nodes for the DaemonSet") <ins> if len(nodeNames) > 25 { e2eskipper.Skipf("load-balancer rolling update test skipped for large environments with more than 25 nodes") } </ins> ginkgo.By(fmt.Sprintf("Creating DaemonSet %q", name)) ds, err := cs.AppsV1().DaemonSets(ns).Create(context.TODO(), ds, metav1.CreateOptions{})
Change:
When constructing a , e.g. to stream I/O from a pod: if ends up set, will still return a result without indicating that something went wrong, resulting in a misleading error further down the line. (In my case, I wasn’t providing the correct scheme; the parameters therefore couldn’t be encoded, and the SPDY upgrade failed with an error saying that at least one of stdin, stdout or stderr had to be provided.) Other operations on fails as appropriate if is not ; I would expect to do so too. I realise that means a backwards-incompatible change. Another solution could be to provide a (same as on the response). See above, with any scheme other than client-go’s. No response <details</detailsN/A N/A N/A N/A N/A
this is the same as standard library, the url is not validated when creating the request
is it really the same though? In the case which led to my filing this issue, the call to results in an error, which is recorded in , but the caller has no way to know that. The main issue I have with this is that in most code paths, does end up being returned, e.g. calls to etc. But callers using only have no way of knowing that the URL they get is unusable.
I didn't understand that from the description sorry I see what you mean now, the methods that execute the request return the error, but if you want to reuse the request instead of executing it, you can't know that value until it is executed IMHO is a legit demand to use a getter for Error(), the field is there but not accessible , WDYT?
/sig api-machinery
a Request#Error() getter seems reasonable
/triage accepted

Discussion:
return r } <del> // URL returns the current working URL. </del> <ins> // Error returns any error encountered constructing the request, if any. func (r *Request) Error() error { return r.err } // URL returns the current working URL. Check the result of Error() to ensure // that the returned URL is valid. </ins> func (r *Request) URL() *url.URL { p := r.pathPrefix if r.namespaceSet && len(r.namespace) > 0 {

} } <ins> func TestRequestVersionedParamsWithInvalidScheme(t *testing.T) { parameterCodec := runtime.NewParameterCodec(runtime.NewScheme()) r := (&Request{c: &RESTClient{content: ClientContentConfig{GroupVersion: v1.SchemeGroupVersion}}}) r.VersionedParams(&v1.PodExecOptions{Stdin: false, Stdout: true}, parameterCodec) if r.Error() == nil { t.Errorf("should have recorded an error: %#v", r.params) } } func TestRequestError(t *testing.T) { // Invalid body, see TestRequestBody() r := (&Request{}).Body([]string{"test"}) if r.Error() != r.err { t.Errorf("getter should be identical to reference: %#v %#v", r.Error(), r.err) } } </ins> func TestRequestURI(t *testing.T) { r := (&Request{}).Param("foo", "a") r.Prefix("other")
Change:
When running the e2e tests on AWS, the following two tests are failing: with the stated cause being: these tests were with Expected the tests to pass Run the loadbalancer test suite on AWS While investigating the root cause of these failures, i cam across this function in the cloud-provider-aws: This function checks to ensure that a specific annotation has been applied to the Service object to determine if it is an NLB. The test in question creates the Service object with no annotations placed upon it, this in turn causes the test to fail. This confirms the need for the user to add the annotation. It is a continuation of a discussion that started in the SIG Cloud Provider meeting from 15 Feb 2023. <detailsi don't have a live cluster for this anymore, but it was version 1.26.1 </details<detailsAWS </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 network /sig cloud-provider
when exploring this issue, i noticed we have this function in a different load balancer test: that function appears to have some specific logic for adding/removing annotations depending on the cloud provider. i thought this might be a place we could also use for AWs and the new tests, but i'm not sure if it is appropriate.
the test should be as much agnostic as possible, theoretically we tried to remove all the checks for cloud providers but Adding annotations and supporting all permutations on each cloud provider will be hard to support in the long term. If AWS doesn't support it we just can skip them in AWS
/assign
thanks , agreed on all points
please go ahead and tag me

Discussion:
ginkgo.It("should be able to preserve UDP traffic when server pod cycles for a LoadBalancer service on different nodes", func(ctx context.Context) { // requires cloud load-balancer support <del> e2eskipper.SkipUnlessProviderIs("gce", "gke", "aws", "azure") </del> <ins> e2eskipper.SkipUnlessProviderIs("gce", "gke", "azure") </ins> ns := f.Namespace.Name nodes, err := e2enode.GetBoundedReadySchedulableNodes(ctx, cs, 2) framework.ExpectNoError(err)

ginkgo.It("should be able to preserve UDP traffic when server pod cycles for a LoadBalancer service on the same nodes", func(ctx context.Context) { // requires cloud load-balancer support <del> e2eskipper.SkipUnlessProviderIs("gce", "gke", "aws", "azure") </del> <ins> e2eskipper.SkipUnlessProviderIs("gce", "gke", "azure") </ins> ns := f.Namespace.Name nodes, err := e2enode.GetBoundedReadySchedulableNodes(ctx, cs, 1) framework.ExpectNoError(err)
Change:
! /kind failing-test <!-- If this is a flake, please add: /kind flake --<!-- Please assign a SIG using: /sig SIG-NAME --
It should be fixed by
/sig api-machinery
/triage accepted

Discussion:
"context" "net/http" "net/http/httptest" <ins> "sort" </ins> "strconv" "strings" "testing"

Freshness: apidiscoveryv2beta1.DiscoveryFreshnessCurrent, }) } <ins> sort.Sort(byVersion(aggregatedVersions)) </ins> aggregatedDiscovery := []apidiscoveryv2beta1.APIGroupDiscovery{{ ObjectMeta: metav1.ObjectMeta{ Name: resources["v1"].Group, }, Versions: aggregatedVersions, }} <del> require.Equal(t, aggregatedDiscovery, doc.Items) </del> <ins> require.Equal(t, doc.Items, aggregatedDiscovery) </ins> } <ins> type byVersion []apidiscoveryv2beta1.APIVersionDiscovery var versionMap = map[string]int{ "v1":       1, "v1beta1":  2, "v1alpha1": 3, } func (a byVersion) Len() int           { return len(a) } func (a byVersion) Swap(i, j int)      { a[i], a[j] = a[j], a[i] } func (a byVersion) Less(i, j int) bool { return versionMap[a[i].Version] < versionMap[a[j].Version] } </ins> func TestLegacyFallback(t *testing.T) { aggregatedResourceManager := discoveryendpoint.NewResourceManager() rootAPIsHandler := discovery.NewRootAPIsHandler(discovery.DefaultAddresses{DefaultAddress: "192.168.1.1"}, scheme.Codecs)