jiebi/CodeConvo huggingface dataset:
Change:
What happened: I use the following configuration file the last generation of ,There are three parameters in yaml which looks like default. The result is that the kube-controller cannot start. When I delete it, the kube-controller will work fine What you expected to happen: In this case, the default parameter should not be Anything else we need to know?: kubeadm version kubectl version
/sig cluster-lifecycle /area kubeadm /milestone v1.17

Discussion:
// Let the controller-manager allocate Node CIDRs for the Pod network. // Each node will get a subspace of the address CIDR provided with --pod-network-cidr. if cfg.Networking.PodSubnet != "" { <del> // TODO(Arvinderpal): Needs to be fixed once PR #73977 lands. Should be a list of maskSizes. maskSize := calcNodeCidrSize(cfg.Networking.PodSubnet) </del> defaultArguments["allocate-node-cidrs"] = "true" defaultArguments["cluster-cidr"] = cfg.Networking.PodSubnet <del> defaultArguments["node-cidr-mask-size"] = maskSize </del> if cfg.Networking.ServiceSubnet != "" { defaultArguments["service-cluster-ip-range"] = cfg.Networking.ServiceSubnet }

// Note: The user still retains the ability to explicitly set feature-gates and that value will overwrite this base value. if enabled, present := cfg.FeatureGates[features.IPv6DualStack]; present { defaultArguments["feature-gates"] = fmt.Sprintf("%s=%t", features.IPv6DualStack, enabled) <ins> } else if cfg.Networking.PodSubnet != "" { // TODO(Arvinderpal): Needs to be fixed once PR #73977 lands. Should be a list of maskSizes. maskSize := calcNodeCidrSize(cfg.Networking.PodSubnet) defaultArguments["node-cidr-mask-size"] = maskSize </ins> } command := []string{"kube-controller-manager"}
Change:
<!-- 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: Run , will get error: Try to fix this by and rerun get another error: Basically, we should have default value for and . I found that they have default values before, and was deleted accidentally in . Although we can predefine these two variables before running the script, it will be more convenient to have default values, and more friendly to people who are not familiar with this script. What you expected to happen: We should be able to run without setting any environment variable manually. How to reproduce it (as minimally and precisely as possible): /cc /sig testing /sig cluster-lifecycle /assign
I have opened a PR to fix this.

Discussion:
source "${KUBE_ROOT}/cluster/gce/config-common.sh" CLEANUP_KUBEMARK_IMAGE=${CLEANUP_KUBEMARK_IMAGE:-true} <ins> TEST_CLUSTER_LOG_LEVEL="${TEST_CLUSTER_LOG_LEVEL:-"--v=4"}" # If you want to set up multiple kubemark clusters with different "names", # you should change this env per each start-kubemark.sh invocation. KUBE_GCE_INSTANCE_PREFIX="${KUBE_GCE_INSTANCE_PREFIX:-"default"}" </ins> # NUM_NODES is used by start-kubemark.sh to determine a correct number of replicas. NUM_NODES=${KUBEMARK_NUM_NODES:-10}
Change:
<!-- Please only use this template for submitting reports about failing tests in Kubernetes CI jobs --Which jobs are failing: gce-master-scale-performance Which test(s) are failing: load Since when has it been failing: 11/26 Testgrid link: https://k8s- Reason for failure: Anything else we need to know: /sig scalability /priority critical-urgent /milestone v1.18
/assign

Discussion:
detect-master > /dev/null if [ "$KUBE_MASTER_IP" != "" ] && [ "$KUBERNETES_MASTER" == "" ]; then <del> echo "Setting master to: https://${KUBE_MASTER_IP}" </del> export KUBERNETES_MASTER=https://${KUBE_MASTER_IP} fi
Change:
When doing in an OpenShift cluster with a nullable field being required (compare ) and of value null, one gets:
cc
is there a way to also fix the faulty kubectl validation in 1.18.x?

Discussion:
changed = true } <ins> for f, fs := range s.Properties { if fs.Nullable { s.ValueValidation.Required, changed = filterOut(s.ValueValidation.Required, f) } } if s.AdditionalProperties != nil && s.AdditionalProperties.Structural != nil && s.AdditionalProperties.Structural.Nullable { s.ValueValidation.Required, changed = nil, true } </ins> return changed }, // we drop all junctors above, and hence, never reach nested value validations

return out } <ins> func filterOut(ss []string, x string) ([]string, bool) { var filtered []string for i, s := range ss { if s == x { if filtered == nil { filtered = make([]string, i, len(ss)) copy(filtered, ss[:i]) } } else if filtered != nil { filtered = append(filtered, s) } } if filtered != nil { if len(filtered) == 0 { return nil, true } return filtered, true } return ss, false } </ins>

expected: new(spec.Schema), }, { <ins> name: "nullable required", in: &apiextensions.JSONSchemaProps{ Type: "object", Properties: map[string]apiextensions.JSONSchemaProps{ "a": { Nullable: true, Type:     "string", }, "b": { Nullable: true, Type:     "string", }, "c": { Type: "string", }, }, Required: []string{"a", "c"}, }, expected: &spec.Schema{ SchemaProps: spec.SchemaProps{ Type: []string{"object"}, Properties: map[string]spec.Schema{ "a": {}, "b": {}, "c": { SchemaProps: spec.SchemaProps{ Type: []string{"string"}, }, }, }, Required: []string{"c"}, }, }, }, { name: "nullable required additionalProperties", in: &apiextensions.JSONSchemaProps{ Type: "object", AdditionalProperties: &apiextensions.JSONSchemaPropsOrBool{ Schema: &apiextensions.JSONSchemaProps{ Nullable: true, Type:     "string", }, }, Required: []string{"a", "c"}, }, expected: &spec.Schema{ SchemaProps: spec.SchemaProps{ Type: []string{"object"}, AdditionalProperties: &spec.SchemaOrBool{ Allows: true, Schema: &spec.Schema{}, }, }, }, }, { </ins> name: "title", in: &apiextensions.JSONSchemaProps{ Title: testStr,

) } <ins> func TestFilterOut(t *testing.T) { type Test struct { name            string input           []string x               string expected        []string expectedChanged bool } for _, tt := range []Test{ {"nil", nil, "foo", nil, false}, {"empty", []string{}, "foo", []string{}, false}, {"foo", []string{"foo"}, "foo", nil, true}, {"aaa", []string{"a", "a", "a"}, "a", nil, true}, {"abc", []string{"a", "b", "c"}, "c", []string{"a", "b"}, true}, {"abbbcc", []string{"a", "b", "b", "b", "c", "c"}, "b", []string{"a", "c", "c"}, true}, } { t.Run(tt.name, func(t *testing.T) { got, gotChanged := filterOut(tt.input, tt.x) if !reflect.DeepEqual(tt.expected, got) { t.Errorf("expected slice %v, got %v", tt.expected, got) } if tt.expectedChanged != gotChanged { t.Errorf("expected changed %v, got %v", tt.expected, got) } }) } } </ins> func max(i, j int) int { if i > j { return i
Change:
<!-- 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: Create a NetworkPolicy with one typo PolicyType and a correct one. The apiserver will report error but will also say the correct one is unsupported. Output: It says is unsupported. What you expected to happen: It shouldn't say the correct policyType is unsupported. How to reproduce it (as minimally and precisely as possible): Apply the above yaml. Anything else we need to know?: It's because an excess nested loop is to validation function: Environment: Kubernetes version (use ): v1.16.3 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 network /assign
/triage unresolved Comment when the issue is assessed and confirmed. I am a bot run by vllry. ‍
If this issue has been triaged, please comment . If you aren't able to handle this issue, consider unassigning yourself and/or adding the label. I am a bot run by vllry. ‍
/remove-triage unresolved

Discussion:
} for i, pType := range spec.PolicyTypes { policyPath := fldPath.Child("policyTypes").Index(i) <del> for _, p := range spec.PolicyTypes { if !allowed.Has(string(p)) { allErrs = append(allErrs, field.NotSupported(policyPath, pType, []string{string(networking.PolicyTypeIngress), string(networking.PolicyTypeEgress)})) } </del> <ins> if !allowed.Has(string(pType)) { allErrs = append(allErrs, field.NotSupported(policyPath, pType, []string{string(networking.PolicyTypeIngress), string(networking.PolicyTypeEgress)})) </ins> } } return allErrs
Change:
What happened: IP addresses losing in k8s node status in a pure ipv6 vsphere environment. all interfaces of nodes in this cluster are ipv6 only The error logs in kubelet as the following: What you expected to happen: It will be very appreciated if we can get ipv6 addresses from vsphere cloud provider as ipv4 env How to reproduce it (as minimally and precisely as possible): deploy k8s cluster in vsphere pure ipv6 envirenment Anything else we need to know?: From the code we can know that while the provider retrieves VM’s IP, It uses To4() function for all ip addresses from vsphere platform, this function can’t handle ipv6 addresses as mentioned in guild: Environment: Kubernetes version (use ):Cloud provider or hardware configuration: vsphere OS (e.g: ):Kernel (e.g. ):Install tools: ansible Network plugin and version (if this is a network-related bug): calico v3.5.6 Others:
If you agree with this I can fix it.
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
/sig cloud-provider
cc /remove-sig contributor-experience
/cc
please help to review, I think I can fix the issue by PR /sig cloud-provider Thanks a lot
/assign

Discussion:
} else { for _, addr := range localAddrs { if ipnet, ok := addr.(*net.IPNet); ok { <del> if ipnet.IP.To4() != nil { </del> <ins> if !ipnet.IP.IsLinkLocalUnicast() { </ins> // Filter external IP by MAC address OUIs from vCenter and from ESX vmMACAddr := strings.ToLower(i.HardwareAddr.String()) // Making sure that the MAC address is long enough

for _, v := range vmMoList[0].Guest.Net { if vs.cfg.Network.PublicNetwork == v.Network { for _, ip := range v.IpAddress { <del> if net.ParseIP(ip).To4() != nil { </del> <ins> if !net.ParseIP(ip).IsLinkLocalUnicast() { </ins> nodehelpers.AddToNodeAddresses(&addrs, v1.NodeAddress{ Type:    v1.NodeExternalIP,
Change:
<!-- 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: In tests, always fails when the tests fail, with the error: . This is the message indicating that APIServer responds 400 code. What you expected to happen: Container logs should be collected correctly if tests fail. How to reproduce it (as minimally and precisely as possible): a NetworkPolicy test to make it fail and run it, or run NetworkPolicy tests with a CNI that doesn't implement NetworkPolicy. the tests fail, all attempts to get container logs will fail like the following. Anything else we need to know?: Environment: Kubernetes version (use ): 16.3 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 testing /assign
/remove-sig testing /sig network
/triage unresolved Comment when the issue is assessed and confirmed. I am a bot run by vllry. ‍
/remove-triage unresolved

Discussion:
err = e2epod.WaitForPodSuccessInNamespace(f.ClientSet, podClient.Name, ns.Name) if err != nil { // Collect pod logs when we see a failure. <del> logs, logErr := e2epod.GetPodLogs(f.ClientSet, f.Namespace.Name, podClient.Name, fmt.Sprintf("%s-container", podClient.Name)) </del> <ins> logs, logErr := e2epod.GetPodLogs(f.ClientSet, f.Namespace.Name, podClient.Name, "client") </ins> if logErr != nil { framework.Failf("Error getting container logs: %s", logErr) }

// Dump debug information if the error was nil. if err == nil { // Collect pod logs when we see a failure. <del> logs, logErr := e2epod.GetPodLogs(f.ClientSet, f.Namespace.Name, podClient.Name, fmt.Sprintf("%s-container", podClient.Name)) </del> <ins> logs, logErr := e2epod.GetPodLogs(f.ClientSet, f.Namespace.Name, podClient.Name, "client") </ins> if logErr != nil { framework.Failf("Error getting container logs: %s", logErr) }

RestartPolicy: v1.RestartPolicyNever, Containers: []v1.Container{ { <del> Name:  fmt.Sprintf("%s-container", podName), </del> <ins> Name:  "client", </ins> Image: imageutils.GetE2EImage(imageutils.BusyBox), Args: []string{ "/bin/sh",
Change:
Some owners files attempt to auto apply the no longer existing label, which is now : This is present in 4 owners files: /assign /area oncall-hotlist
/sig cloud-provider
Issues go stale after 90d of inactivity. Mark the issue as fresh with . Stale issues rot after an additional 30d of inactivity and eventually close. If this issue is safe to close now please do so with . Send feedback to sig-testing, kubernetes/test-infra and/or . /lifecycle stale
Stale issues rot after 30d of inactivity. Mark the issue as fresh with . Rotten issues close after an additional 30d of inactivity. If this issue is safe to close now please do so with . Send feedback to sig-testing, kubernetes/test-infra and/or . /lifecycle rotten
Rotten issues close after 30d of inactivity. Reopen the issue with . Mark the issue as fresh with . Send feedback to sig-testing, kubernetes/test-infra and/or . /close

Discussion:
approvers: - mrhohn labels: <del> - sig/gcp </del> <ins> - area/provider/gcp </ins>

reviewers: - sig-instrumentation-reviewers labels: <del> - sig/gcp </del> <ins> - area/provider/gcp </ins> - sig/instrumentation

- tallclair - MrHohn labels: <del> - sig/gcp </del> <ins> - area/provider/gcp </ins>

- yujuhong - yliaog labels: <del> - sig/gcp </del> <ins> - area/provider/gcp </ins>
Change:
This issue proposes the writing of a new test for the API endpoint with the intention of promoting it to Conformance. This issue contains a very basic mock test in order to start the conversation about what a good e2e test would look like for this endpoint. The code below is verified to be hitting the intended endpoint, show as per the queries in APIsnoop's live view of the cluster's audit logs. There are no tests listing services, see the following: This mock test uses client-go's functions and hits the endpoints. This shows the endpoints hit by my approach: /sig architecture /area conformance

Discussion:
framework.ExpectNoError(err) e2eservice.WaitForServiceUpdatedWithFinalizer(cs, svc.Namespace, svc.Name, true) }) <ins> ginkgo.It("should find a service from listing all namespaces", func() { ginkgo.By("fetching services") svcs, _ := f.ClientSet.CoreV1().Services("").List(metav1.ListOptions{}) foundSvc := false for _, svc := range svcs.Items { if svc.ObjectMeta.Name == "kubernetes" && svc.ObjectMeta.Namespace == "default" { foundSvc = true break } } framework.ExpectEqual(foundSvc, true, "could not find service 'kubernetes' in service list in all namespaces") }) </ins> }) // TODO: Get rid of [DisabledForLargeClusters] tag when issue #56138 is fixed.
Change:
This issue proposes the writing of a new test for the API endpoint with the intention of promoting it to Conformance. This issue contains a very basic mock test in order to start the conversation about what a good e2e test would look like for this endpoint. The code below is verified to be hitting the intended endpoint, show as per the queries in APIsnoop's live view of the cluster's audit logs. There are no tests listing services, see the following: This mock test uses client-go's functions and hits the endpoints. This shows the endpoints hit by my approach: /sig architecture /area conformance

Discussion:
test/e2e/network/service.go: "should be able to change the type from ExternalName to NodePort" test/e2e/network/service.go: "should be able to change the type from ClusterIP to ExternalName" test/e2e/network/service.go: "should be able to change the type from NodePort to ExternalName" <ins> test/e2e/network/service.go: "should find a service from listing all namespaces" </ins> test/e2e/network/service_latency.go: "should not be very high" test/e2e/node/events.go: "should be sent by kubelets and the scheduler about pods scheduling and running" test/e2e/node/pods.go: "should be set on Pods with matching resource requests and limits for memory and cpu"

e2eservice.WaitForServiceUpdatedWithFinalizer(cs, svc.Namespace, svc.Name, true) }) <del> ginkgo.It("should find a service from listing all namespaces", func() { </del> <ins> /* Release : v1.18 Testname: Find Kubernetes Service in default Namespace Description: List all Services in all Namespaces, response MUST include a Service named Kubernetes with the Namespace of default. */ framework.ConformanceIt("should find a service from listing all namespaces", func() { </ins> ginkgo.By("fetching services") svcs, _ := f.ClientSet.CoreV1().Services("").List(metav1.ListOptions{})
Change:
This issue proposes the writing of a new test for the API endponts , , , and with the intention of promoting it to Conformance. This issue contains a very basic mock test in order to start the conversation about what a good e2e test would look like for this endpoint. The code below is verified to be hitting the intended endpoint, show as per the queries in APIsnoop's live view of the cluster's audit logs. According to these results from APIsnoop, we are lacking in test coverage and conformant tests for PodTemplate. We chose these three following endpoints for this mock test: - - Outline: PodTemplates, Expect no PodTemplates a PodTemplate (1), Expect no error PodTemplate (1), Ensure the same as how it was created PodTemplate (1) with label a=1, Expect no error PodTemplate (1), Expect label in returned data to be present PodTemplates by label a=1, Expect one PodTemplate PodTemplate (1) Expect no error PodTemplates, Expect no PodTemplates Fetch dependencies: This mock test is using client-go's standard functions to talk to the PodTemplate part of the API. If a test with these calls gets merged in, conformance will go up by 3 endpoints. /sig architecture /area conformance
We decided not to deprecate. We can link to that, but otherwise this is OK to write / promote.
ref: for the decision not to deprecate
/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

Discussion:
visible at runtime in the container. release: v1.9 file: test/e2e/common/downward_api.go <ins> - testname: PodTemplate lifecycle codename: '[sig-node] PodTemplates should run the lifecycle of PodTemplates [Conformance]' description: Attempt to create a PodTemplate. Patch the created PodTemplate. Fetching the PodTemplate MUST reflect changes. By fetching all the PodTemplates via a Label selector it MUST find the PodTemplate by it's static label and updated value. The PodTemplate must be deleted. release: v1.19 file: test/e2e/common/podtemplates.go </ins> - testname: LimitRange, resources codename: '[sig-scheduling] LimitRange should create a LimitRange with defaults and ensure pod has those defaults applied. [Conformance]'

"github.com/onsi/ginkgo" ) <del> var _ = ginkgo.Describe("[sig-architecture] PodTemplates", func() { </del> <ins> var _ = ginkgo.Describe("[sig-node] PodTemplates", func() { </ins> f := framework.NewDefaultFramework("podtemplate") <del> ginkgo.It("should run the lifecycle of PodTemplates", func() { </del> <ins> /* Release : v1.19 Testname: PodTemplate lifecycle Description: Attempt to create a PodTemplate. Patch the created PodTemplate. Fetching the PodTemplate MUST reflect changes. By fetching all the PodTemplates via a Label selector it MUST find the PodTemplate by it's static label and updated value. The PodTemplate must be deleted. */ framework.ConformanceIt("should run the lifecycle of PodTemplates", func() { </ins> testNamespaceName := f.Namespace.Name podTemplateName := "nginx-pod-template-" + string(uuid.NewUUID())
Change:
Looks like the scheduler throughput regressed over the weekend. Both gce/kubemark tests at scale of 100 and 5K nodes are failing because of that. GCE 5K perf dash - http://perf- /sig scalability /sig scheduler
The label(s) cannot be applied, because the repository doesn't have them <detailsIn response to : Looks like the scheduler throughput regressed over the weekend. Both gce/kubemark tests at scale of 100 and 5K nodes are failing because of that. /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 /assign could you take a look? BTW, it was detected based on an alert for scheduler throughput that we discussed during the last regressions and which I set up recently. The investment is already paying off :)
Perf-tests presubmits are also affected, e.g.
/priority critical-urgent
It was triggered by which adds logging: Run before merge: SchedulingThroughputdensity: "perc99": 100.8 kub- 100kB, 8k lines Run after merge: SchedulingThroughputdensity: "perc99": 89.4 kub- 4.4MB, 720k lines /assign
Thanks, we are aware of it, this should solve it:
We will also move the Error log to a V(4) in case CA in the future call Filters without PreFilters.
Based on the first run, limiting logging did not help: /reopen
Reopened this issue. <detailsIn response to : Based on the first run, limiting logging did not help: </details
kube- ()
hopefully will fix it.
Actually, reducing logging helped significantly: https://k8s- ! out of 23 runs since merge, only two were below the threshold:: I have found also an older flake, before regression was introduced: 12/11/2019 - As well as two recent on 1.16 branch: 12/14/2019 - 12/16/2019 - Other branches (1.14, 1.15, 1.17) seems relatively fine, however perf-dash history show pretty chaotic results. Filed
Reducing logging does help for sure, the logging you saw wasn't intentional, it was a result of missing PreFilter plugins.
Yes, I understand. Fingers crossed for retest ;)

Discussion:
if err != nil { // The metadata wasn't pre-computed in prefilter. We ignore the error for now since // Filter is able to handle that by computing it again. <del> klog.Error(err) </del> <ins> klog.V(5).Infof("Error reading %q from cycleState: %v", preFilterStateKey, err) </ins> return nil, nil }

if err != nil { // The metadata wasn't pre-computed in prefilter. We ignore the error for now since // Filter is able to handle that by computing it again. <del> klog.Errorf("reading %q from cycleState: %v", preFilterStateKey, err) </del> <ins> klog.V(5).Infof("Error reading %q from cycleState: %v", preFilterStateKey, err) </ins> return nil, nil }

if err != nil { // The metadata wasn't pre-computed in prefilter. We ignore the error for now since // we are able to handle that by computing it again (e.g. in Filter()). <del> klog.Error(err) </del> <ins> klog.V(5).Infof("Error reading %q from cycleState: %v", preFilterStateKey, err) </ins> return nil, nil }
Change:
The way we're setting the core dump pattern on GCI (COS) leaves the kernel complaining over and over on the console. Fix incoming.
could you elaborate on the kernel complains due to the current relative path a little bit?

Discussion:
# Reset core_pattern. On GCI, the default core_pattern pipes the core dumps to # /sbin/crash_reporter which is more restrictive in saving crash dumps. So for # now, set a generic core_pattern that users can work with. <del> echo "core.%e.%p.%t" > /proc/sys/kernel/core_pattern </del> <ins> echo "/core.%e.%p.%t" > /proc/sys/kernel/core_pattern </ins> } # secure_random generates a secure random string of bytes. This function accepts