jiebi/CodeConvo huggingface dataset:
Change:
<!-- 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: If you have a JobSpec and set with in 1.9.x, then the job will start a pod and never restart it regardless of success of failure. In 1.10.x, a job spec with and , k8s does not start any pods at all. We had to set in order to get the pod to run. The wording in the docs suggest that should only take effect when the pod is finished/or failed. It shouldn't cap starting the initial pod. How to reproduce it (as minimally and precisely as possible): Run the following job spec in 1.9.x and 1.10.x: Anything else we need to know?: The docs links this existing ticket saying is ineffective with , but the ticket talks about restarting too many times, not never starting a pod. Given this issue was slightly different, I originally did not think it was a backoffPolicy bug. Environment: Kubernetes version (use ): Tested on 1.9.7 and 1.10.6 Cloud provider or hardware configuration: AWS OS (e.g. from /etc/os-release): Fedora 28
/sig apps
We've been hit by this too, in v1.10.6. It seems to me that with the current behavior, a value of doesn't really make any semantic sense. I think the problem comes from the function in : called here: if is , then will end with .

Discussion:
result += stat.RestartCount } } <ins> if *job.Spec.BackoffLimit == 0 { return result > 0 } </ins> return result >= *job.Spec.BackoffLimit }

expectedCondition       *batch.JobConditionType expectedConditionReason string }{ <ins> "backoffLimit 0 should have 1 pod active": { 1, 1, 0, true, []int32{0}, 1, 0, 0, nil, "", }, "backoffLimit 1 with restartCount 0 should have 1 pod active": { 1, 1, 1, true, []int32{0}, 1, 0, 0, nil, "", }, "backoffLimit 1 with restartCount 1 should have 0 pod active": { 1, 1, 1, true, []int32{1}, 0, 0, 1, &jobConditionFailed, "BackoffLimitExceeded", }, </ins> "too many job failures - single pod": { 1, 5, 2, true, []int32{2},
Change:
<!-- 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.

Discussion:
// TODO: Get rid of [DisabledForLargeClusters] tag when issue #56138 is fixed. It("should have session affinity work for LoadBalancer service with ESIPP on [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.ServiceExternalTrafficPolicyTypeLocal

// TODO: Get rid of [DisabledForLargeClusters] tag when issue #56138 is fixed. It("should be able to switch session affinity for LoadBalancer service with ESIPP on [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.ServiceExternalTrafficPolicyTypeLocal

// 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

// TODO: Get rid of [DisabledForLargeClusters] tag when issue #56138 is fixed. It("should be able to switch session affinity 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
Change:
We need to fix this potentially flaky test and add it back to conformance suite. Please see discussion in Also waiting on:
cc /sig testing
/area conformance
/cc
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
/remove-lifecycle stale
can we convert it to conformance now??
Once 1.15 opens up

Discussion:
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 submitted and removed" <ins> test/e2e/node/pods.go: "should be submitted and removed" </ins> test/e2e/node/pre_stop.go: "should call prestop when killing a pod" test/e2e/scheduling/predicates.go: "validates resource limits of pods that are allowed to run" test/e2e/scheduling/predicates.go: "validates that NodeSelector is respected if not matching"

BeforeEach(func() { podClient = f.PodClient() }) <del> // TODO: Fix Flaky issue #68066 and then re-add this back into Conformance Suite </del> /* <del> Release : v1.9 </del> <ins> Release : v1.15 </ins> Testname: Pods, delete grace period <del> Description: Create a pod, make sure it is running, create a watch to observe Pod creation. Create a 'kubectl local proxy', capture the port the proxy is listening. Using the http client send a ‘delete’ with gracePeriodSeconds=30. Pod SHOULD get deleted within 30 seconds. </del> <ins> Description: Create a pod, make sure it is running. Create a 'kubectl local proxy', capture the port the proxy is listening. Using the http client send a ‘delete’ with gracePeriodSeconds=30. Pod SHOULD get deleted within 30 seconds. </ins> */ <del> It("should be submitted and removed  [Flaky]", func() { </del> <ins> framework.ConformanceIt("should be submitted and removed", func() { </ins> By("creating the pod") name := "pod-submit-remove-" + string(uuid.NewUUID()) value := strconv.Itoa(time.Now().Nanosecond())
Change:
While lookint into , I spent few minutes looking into this test: And there is a problem that is relatively easy to reproduce. The problem is that we are running its test cases one by one. But nothing in the meantime is ensuring that the current state that the test assumes is reflected in scheduler. In particular the problem that I observed couple time is that: we finished one test case we call cleanupNodes [but we don't ensure that scheduler actually cleaned up this node] we start the next test case we try to schedule a pod that has some toleration (but shouldn't fit on our node) by accident the toleration make it fit on to the previous node so scheduler schedules it on the node from previous test case
/assign

Discussion:
close(sched.config.StopEverything) } <ins> // Cache returns the cache in scheduler for test to check the data in scheduler. func (sched *Scheduler) Cache() schedulercache.Cache { return sched.config.SchedulerCache } </ins> // Configurator defines I/O, caching, and other functionality needed to // construct a new scheduler. An implementation of this can be seen in // factory.go.

informers.Extensions().V1beta1().DaemonSets(), nil, // CloudProvider cs, <del> time.Second, // Node monitor grace period </del> <ins> time.Hour,   // Node monitor grace period </ins> time.Second, // Node startup grace period time.Second, // Node monitor period time.Second, // Pod eviction timeout

// Waiting for all controller sync. internalInformers.Start(controllerCh) internalInformers.WaitForCacheSync(controllerCh) <ins> informers.Start(controllerCh) informers.WaitForCacheSync(controllerCh) </ins> // ------------------------------------------- // Test TaintNodeByCondition feature.

cleanupPods(cs, t, pods) cleanupNodes(cs, t) <ins> waitForSchedulerCacheCleanup(context.scheduler, t) </ins> }) } }

t.Errorf("error while waiting for pods in namespace %v: %v", ns, err) } } <ins> func waitForSchedulerCacheCleanup(sched *scheduler.Scheduler, t *testing.T) { schedulerCacheIsEmpty := func() (bool, error) { snapshot := sched.Cache().Snapshot() return len(snapshot.Nodes) == 0 && len(snapshot.AssumedPods) == 0, nil } if err := wait.Poll(time.Second, wait.ForeverTestTimeout, schedulerCacheIsEmpty); err != nil { t.Errorf("Failed to wait for scheduler cache cleanup: %v", err) } } </ins>
Change:
What happened: For some filesystems recursively applying an SELinux label through chcon or the GID permission is expensive (30 mins in some cases). There is better strategies for the recursive change and the call should be available through FLEX API. What you expected to happen: FLEX has a shell script call to label or set GID for a volume. Notes-- The fix should be backwards compatible.. If the shell call to perform the permission change is absent, then we fall back on the original method.

Discussion:
Attach          bool `json:"attach"` SELinuxRelabel  bool `json:"selinuxRelabel"` SupportsMetrics bool `json:"supportsMetrics"` <ins> FSGroup         bool `json:"fsGroup"` </ins> } func defaultCapabilities() *DriverCapabilities {

Attach:          true, SELinuxRelabel:  true, SupportsMetrics: false, <ins> FSGroup:         true, </ins> } }

} if !f.readOnly { <del> volume.SetVolumeOwnership(f, fsGroup) </del> <ins> if f.plugin.capabilities.FSGroup { volume.SetVolumeOwnership(f, fsGroup) } </ins> } return nil
Change:
<!-- 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?: /kind bug What happened: After setting up kube-proxy, and static routing. The node is not forwarding the ClusterIP of a service. Services are accessible if the default policy filter FORWARD chain is set to ACCEPT, but not DROP. What you expected to happen: nodes should be forwarding ClusterIP from external cluster to the correctly Pod IP. How to reproduce it (as minimally and precisely as possible): K8S cluser. NGINX and ClusterIP type of service for NGINX. static routing from external. from external with curl. Anything else we need to know?: The filter table function seems dropped since merge of . However the github merge request dosen't seem to relate to removing the functionality. Is this a merge issue? or intentienal? Environment: Kubernetes version (use ):Cloud provider or hardware configuration:OS (e.g. from /etc/os-release):Kernel (e.g. ):Install tools:Others:
/sig network
Related logging:
/assign
/cc
Hi guys, Altough I'm new to kubernetes, the missing function might be an easy fix. Do you guys mind if I work on it? Jia
PRs are always welcome!
11.6 still has this issue
We didn't cherry-pick this fix to 1.11 branch. As community is going to not maintain 1.11 release, I would suggest you upgrade to 1.12.

Discussion:
// This is to avoid memory reallocations and thus improve performance. proxier.natChains.Reset() proxier.natRules.Reset() <ins> proxier.filterChains.Reset() proxier.filterRules.Reset() </ins> // Write table headers. writeLine(proxier.filterChains, "*filter")

proxier.iptablesData.Reset() proxier.iptablesData.Write(proxier.natChains.Bytes()) proxier.iptablesData.Write(proxier.natRules.Bytes()) <ins> proxier.iptablesData.Write(proxier.filterChains.Bytes()) proxier.iptablesData.Write(proxier.filterRules.Bytes()) </ins> glog.V(5).Infof("Restoring iptables rules: %s", proxier.iptablesData.Bytes()) err = proxier.iptables.RestoreAll(proxier.iptablesData.Bytes(), utiliptables.NoFlushTables, utiliptables.RestoreCounters)
Change:
<!-- 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?: /kind bug What happened: At e2e test for kubectl above, success scenario is key is not contained in result of . But test failure message is , in spite of key is contained. What you expected to happen: When test for absence of key failed, correct message is . How to reproduce it (as minimally and precisely as possible): Anything else we need to know?: Environment: Kubernetes version (use ):Cloud provider or hardware configuration:none, hack/local-up- OS (e.g. from /etc/os-release):16.04.5 LTS (Xenial Xerus) Kernel (e.g. ):4.4.0-124-generic Install tools:hack/local-up- Others:
/sig cli

Discussion:
By("apply file doesn't have replicas") framework.RunKubectlOrDieInput(deployment2Yaml, "apply", "set-last-applied", "-f", "-", nsFlag) <del> By("check last-applied has been updated, annotations doesn't replicas") </del> <ins> By("check last-applied has been updated, annotations doesn't have replicas") </ins> output = framework.RunKubectlOrDieInput(deployment1Yaml, "apply", "view-last-applied", "-f", "-", nsFlag, "-o", "json") requiredString = ""replicas": 2" if strings.Contains(output, requiredString) { <del> framework.Failf("Missing %s in kubectl view-last-applied", requiredString) </del> <ins> framework.Failf("Presenting %s in kubectl view-last-applied", requiredString) </ins> } By("scale set replicas to 3")
Change:
<!-- 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: Since 8/31, these tests have started flaking, and then started failing consistently. https://k8s- https://k8s- /assign
/kind failing-test
/milestone v1.12
Does this need cherry picked back to 1.11? Still have upgrade failures with this symptom, eg: https://k8s-
No, the localssd tests are not failing in the upgrade suite
/reopen I'm going to call this one a partial fix, as we are still seeing the "Set fsGroup for local volume should not set different fsGroups for two pods simultaneously" error on a whole bunch of test suites.
Reopening 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
can you link me to other suites where it is failing?
okay "a whole bunch" was exaggerated, I apologize: https://k8s- https://k8s-
The upgrade tests are not failing with "gce-localssd", which is what this issue is addressing, so is not related. The upgrade tests issues are being tracked in /close
Closing this issue. <detailsIn response to : The upgrade tests are not failing with "gce-localssd", which is what this issue is addressing, so is not related. 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:
Expect(err).NotTo(HaveOccurred()) dirName := strings.Fields(res)[0] hostDir := "/mnt/disks/by-uuid/google-local-ssds-scsi-fs/" + dirName <del> return generateLocalTestVolume(hostDir, config, GCELocalSSDVolumeType, node) </del> <ins> // gce local ssd does not need to create a directory return &localTestVolume{ node:            node, hostDir:         hostDir, localVolumeType: GCELocalSSDVolumeType, } </ins> } func setupLocalVolumeDirectory(config *localTestConfig, node *v1.Node) *localTestVolume {

// Deletes the PVC/PV, and launches a pod with hostpath volume to remove the test directory. func cleanupLocalVolumeGCELocalSSD(config *localTestConfig, volume *localTestVolume) { By("Removing the test directory") <del> removeCmd := fmt.Sprintf("rm %s", volume.hostDir+"/"+testFile) </del> <ins> file := volume.hostDir + "/" + testFile removeCmd := fmt.Sprintf("if [ -f %s ]; then rm %s; fi", file, file) </ins> err := issueNodeCommand(config, removeCmd, volume.node) Expect(err).NotTo(HaveOccurred()) }
Change:
TrimLeft returns a slice of the string s with all leading Unicode code points contained in cutset removed. To remove a prefix, use TrimPrefix instead. /sig release /kind bug
/assign

Discussion:
} // Verify the proxy server logs saw the connection <del> expectedProxyLog := fmt.Sprintf("Accepting CONNECT to %s", strings.TrimRight(strings.TrimLeft(framework.TestContext.Host, "https://"), "/api")) </del> <ins> expectedProxyLog := fmt.Sprintf("Accepting CONNECT to %s", strings.TrimSuffix(strings.TrimPrefix(framework.TestContext.Host, "https://"), "/api")) </ins> proxyLog := proxyLogs.String() if !strings.Contains(proxyLog, expectedProxyLog) {
Change:
Is this a BUG REPORT or FEATURE REQUEST?: /kind bug What happened: When I use kubeadm to create a cluster, the specified parameter "listen-client-urls" does not work. kubeadm init --config=kube- fail with connection refuse for get http://127.0.0.1:2379 I think the element 'listen-client-urls' is unrecognized if the customized value is not equal '127.0.0.1' Here is my kube- No matter how I set the "listen-client-urls" parameter in the kube- , it is awlays be "https://127.0.0.1:2379" What you expected to happen: The parameter "listen-client-urls" can work! How to reproduce it (as minimally and precisely as possible): Anything else we need to know?: Environment: Kubernetes version (use ): v1.11.2 Cloud provider or hardware configuration: OS (e.g. from /etc/os-release): CentOS Linux release 7.5.1804 (Core) Kernel (e.g. ): Linux kube-dev 3.10.0-862.el7.x8664 SMP Fri Apr 20 16:44:24 UTC 2018 x8664 x8664 x8664 GNU/Linux Install tools: Others:
/sig cluster-lifecycle
/lifecycle active
kubeadm 1.13 has set the default value to Default route transits interface ip address instead of loopback ip

Discussion:
defaultArguments["etcd-cafile"] = filepath.Join(cfg.CertificatesDir, kubeadmconstants.EtcdCACertName) defaultArguments["etcd-certfile"] = filepath.Join(cfg.CertificatesDir, kubeadmconstants.APIServerEtcdClientCertName) defaultArguments["etcd-keyfile"] = filepath.Join(cfg.CertificatesDir, kubeadmconstants.APIServerEtcdClientKeyName) <ins> // Apply user configurations for local etcd if cfg.Etcd.Local != nil { if value, ok := cfg.Etcd.Local.ExtraArgs["listen-client-urls"]; ok { defaultArguments["etcd-servers"] = value } } </ins> } if features.Enabled(cfg.FeatureGates, features.HighAvailability) {
Change:
/kind bug /sig release call will never be execute.
/assign
Maybe just cleanUpDummyVMLock.Lock() is you want? The is in infinite loop, and will never execute. I hope to get your reply to help fix it.
yes we need to correct this as below in the routine.

Discussion:
import ( "context" "errors" <ins> "fmt" "io/ioutil" </ins> "os" <ins> "path/filepath" </ins> "regexp" "strings" "time" "github.com/golang/glog" "github.com/vmware/govmomi/vim25" <del> "fmt" </del> "github.com/vmware/govmomi/vim25/mo" <del> "io/ioutil" </del> "k8s.io/api/core/v1" k8stypes "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/cloudprovider/providers/vsphere/vclib" "k8s.io/kubernetes/pkg/cloudprovider/providers/vsphere/vclib/diskmanagers" "k8s.io/kubernetes/pkg/util/version" <del> "path/filepath" </del> ) const (

continue } // A write lock is acquired to make sure the cleanUp routine doesn't delete any VM's created by ongoing PVC requests. <del> defer cleanUpDummyVMLock.Lock() err = diskmanagers.CleanUpDummyVMs(ctx, vmFolder, dc) if err != nil { glog.V(4).Infof("Unable to clean up dummy VM's in the kubernetes cluster: %q. err: %+v", vs.cfg.Workspace.Folder, err) </del> <ins> cleanUpDummyVMs := func() { cleanUpDummyVMLock.Lock() defer cleanUpDummyVMLock.Unlock() err = diskmanagers.CleanUpDummyVMs(ctx, vmFolder, dc) if err != nil { glog.V(4).Infof("Unable to clean up dummy VM's in the kubernetes cluster: %q. err: %+v", vs.cfg.Workspace.Folder, err) } </ins> } <ins> cleanUpDummyVMs() </ins> } }
Change:
Failing on gke only: https://k8s- https://k8s-
/assign
Unfortunately the exact error message that its failing with is lost due to a typo: I have fixed that typo locally and am running the tests repeatedly to try to reproduce the flake. have been unable to reproduce the flake on HEAD of Kubernetes in GKE in 15 runs so far. Running 150 tests overnight.
Unable to repro on my own GKE cluster. Merged the error message fix, will monitor for the next flake to debug more

Discussion:
"//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/api/rbac/v1beta1:go_default_library", "//staging/src/k8s.io/api/storage/v1:go_default_library", <ins> "//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library", </ins> "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",

"k8s.io/api/core/v1" rbacv1beta1 "k8s.io/api/rbac/v1beta1" storagev1 "k8s.io/api/storage/v1" <ins> "k8s.io/apimachinery/pkg/api/errors" </ins> metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/sets"

framework.Logf("Deleting Gluster endpoints %q...", name) err := cs.CoreV1().Endpoints(ns.Name).Delete(name, nil) if err != nil { <del> framework.Failf("Gluster delete endpoints failed: %v", err) </del> <ins> if !errors.IsNotFound(err) { framework.Failf("Gluster delete endpoints failed: %v", err) } framework.Logf("Gluster endpoints %q not found, assuming deleted", name) </ins> } framework.Logf("Deleting Gluster server pod %q...", g.serverPod.Name) err = framework.DeletePodWithWait(f, cs, g.serverPod)