jiebi/CodeConvo huggingface dataset:
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!--What happened: kubectl help description can't display underscore properly. Example 1: The environment variable displayed but missing underscore. Example 2: The environment variable with an additional space before underscore. What you expected to happen: Display underscore properly without missing or additional space. How to reproduce it (as minimally and precisely as possible): Use kubectl and run following example: Anything else we need to know?: The description are correctly in code base, but display with wrong message format. Environment: Kubernetes version (use ): and also linux version kubectl <!-- DO NOT EDIT BELOW THIS LINE --/kind bug
/sig cli
I found the same problem PROPERTY _NAME the same as above you paste in
, I would like to take this up :smile:
oops, it's already there:

Discussion:
lines := strings.Split(raw, linebreak) for _, line := range lines { trimmed := strings.Trim(line, " nt") <ins> if len(trimmed) > 0 && trimmed[0] != '_' { out.WriteString(" ") } </ins> out.WriteString(trimmed) <del> out.WriteString(" ") </del> } }

func (s normalizer) markdown() normalizer { bytes := []byte(s.string) <del> formatted := blackfriday.Markdown(bytes, &ASCIIRenderer{Indentation: Indentation}, 0) </del> <ins> formatted := blackfriday.Markdown(bytes, &ASCIIRenderer{Indentation: Indentation}, blackfriday.EXTENSION_NO_INTRA_EMPHASIS) </ins> s.string = string(formatted) return s }
Change:
What happened: After updating the pods backing a service with sessionAffinity set, all communications to the service stopped working. What you expected to happen: Communications should continue to work How to reproduce it (as minimally and precisely as possible): 1- Create a service with backed by a deployment of a single pod 2- Connect to the service from a pod 3- Delete the pod and wait for it to recreate When trying to reconnect to the service all packets will be lost until the real server is removed because the persistency remains regardless of . In addition, if the client keeps retrying, the number of connections to the real server will never reach 0 and it will not be deleted (until the persistency timeout expires, which by default takes 3h) Anything else we need to know?: I did some testing and setting fixes the issue. I'll create a PR tomorrow (including some changes discussed in which are related) Environment: Kubernetes version (use ): kube-proxy OS (e.g. from /etc/os-release): Kernel (e.g. ): /area ipvs /sig network /kind bug /assign

Discussion:
const sysctlBridgeCallIPTables = "net/bridge/bridge-nf-call-iptables" const sysctlVSConnTrack = "net/ipv4/vs/conntrack" const sysctlConnReuse = "net/ipv4/vs/conn_reuse_mode" <ins> const sysctlExpireNoDestConn = "net/ipv4/vs/expire_nodest_conn" const sysctlExpireQuiescentTemplate = "net/ipv4/vs/expire_quiescent_template" </ins> const sysctlForward = "net/ipv4/ip_forward" const sysctlArpIgnore = "net/ipv4/conf/all/arp_ignore" const sysctlArpAnnounce = "net/ipv4/conf/all/arp_announce"

} } <ins> // Set the expire_nodest_conn sysctl we need for if val, _ := sysctl.GetSysctl(sysctlExpireNoDestConn); val != 1 { if err := sysctl.SetSysctl(sysctlExpireNoDestConn, 1); err != nil { return nil, fmt.Errorf("can't set sysctl %s: %v", sysctlExpireNoDestConn, err) } } // Set the expire_quiescent_template sysctl we need for if val, _ := sysctl.GetSysctl(sysctlExpireQuiescentTemplate); val != 1 { if err := sysctl.SetSysctl(sysctlExpireQuiescentTemplate, 1); err != nil { return nil, fmt.Errorf("can't set sysctl %s: %v", sysctlExpireQuiescentTemplate, err) } } </ins> // Set the ip_forward sysctl we need for if val, _ := sysctl.GetSysctl(sysctlForward); val != 1 { if err := sysctl.SetSysctl(sysctlForward, 1); err != nil {
Change:
What happened: I get a diff, when I specify a file directly, but on recursive mode, no diff is shown anymore: What you expected to happen: Recursive mode should work How to reproduce it (as minimally and precisely as possible): Have a bunch of YAML manifest, but with name collisions, e.g. Service , Deployment , etc Anything else we need to know?: I think the problem is that all objects have the same name, which should not be a problem per se. Only heapster-binding has a different name, and looking at the generated temp files, only and are present: Environment: Kubernetes version (use ): $ kubectl version --short Client Version: v1.13.0 Server Version: v1.13.0 <!-- DO NOT EDIT BELOW THIS LINE --/kind bug
/sig cli
I think the files are overwriting each other?
Yeah, good catch, I'll try to fix that asap
Thanks! By the way, very nice work with dry-run and diff. I was waiting for this.
Feel free to look at the PR and give your opinion!

Discussion:
<ins> apiVersion: v1 kind: ConfigMap metadata: name: test </ins>

<ins> apiVersion: apps/v1 kind: Deployment metadata: name: test spec: replicas: 3 selector: matchLabels: name: test template: metadata: labels: name: test spec: containers: - name: nginx image: nginx </ins>

<ins> apiVersion: v1 kind: Pod metadata: name: test spec: containers: - name: nginx image: nginx </ins>

<ins> apiVersion: v1 kind: Secret metadata: name: test </ins>

} func (obj InfoObject) Name() string { <del> return obj.Info.Name </del> <ins> group := "" if obj.Info.Mapping.GroupVersionKind.Group != "" { group = fmt.Sprintf("%v.", obj.Info.Mapping.GroupVersionKind.Group) } return group + fmt.Sprintf( "%v.%v:%v.%v", obj.Info.Mapping.GroupVersionKind.Version, obj.Info.Mapping.GroupVersionKind.Kind, obj.Info.Namespace, obj.Info.Name, ) </ins> } // Differ creates two DiffVersion and diffs them.

set +o nounset set +o errexit } <ins> run_kubectl_diff_same_names() { set -o nounset set -o errexit create_and_use_new_namespace kube::log::status "Test kubectl diff with multiple resources with the same name" output_message=$(KUBECTL_EXTERNAL_DIFF=find kubectl diff -Rf hack/testdata/diff/) kube::test::if_has_string "${output_message}" 'v1.Pod:.*.test' kube::test::if_has_string "${output_message}" 'apps.v1.Deployment:.*.test' kube::test::if_has_string "${output_message}" 'v1.ConfigMap:.*.test' kube::test::if_has_string "${output_message}" 'v1.Secret:.*.test' set +o nounset set +o errexit } </ins>

# Kubectl diff # ################ record_command run_kubectl_diff_tests <ins> record_command run_kubectl_diff_same_names </ins> ############### # Kubectl get #
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!--What happened: vm sku restriction policy does not work in azure disk attach/detach If user set up a vm sku(vm size) restriction policy, only allow set up specified VM size in current subscription, disk attach/detach would fail. Error is like following: What you expected to happen: 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: OS (e.g. from /etc/os-release): Kernel (e.g. ): Install tools: Others: <!-- DO NOT EDIT BELOW THIS LINE --/kind bug /sig azure /assign

Discussion:
newVM := compute.VirtualMachine{ Location: vm.Location, VirtualMachineProperties: &compute.VirtualMachineProperties{ <ins> HardwareProfile: vm.HardwareProfile, </ins> StorageProfile: &compute.StorageProfile{ DataDisks: &disks, },
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!--What happened: There are too many logs in GetVolumeLimits on azure disk, which would flush kubelet logs, it happens every 10 seconds: What you expected to happen: 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: OS (e.g. from /etc/os-release): Kernel (e.g. ): Install tools: Others: <!-- DO NOT EDIT BELOW THIS LINE --/kind bug /assign /sig azure

Discussion:
continue } if strings.ToUpper(*size.Name) == vmsize { <del> klog.V(2).Infof("got a matching size in getMaxDataDiskCount, Name: %s, MaxDataDiskCount: %d", *size.Name, *size.MaxDataDiskCount) </del> <ins> klog.V(12).Infof("got a matching size in getMaxDataDiskCount, Name: %s, MaxDataDiskCount: %d", *size.Name, *size.MaxDataDiskCount) </ins> return int64(*size.MaxDataDiskCount) } }
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!--What happened: When attach/detach azure disk in vmss, it updates whole VM info, including: networkProfile, storageProfile, while this would lead to race condition when there is also network related setting changing in k8s cloud provider in the mean time. What you expected to happen: 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: OS (e.g. from /etc/os-release): Kernel (e.g. ): Install tools: Others: <!-- DO NOT EDIT BELOW THIS LINE --/kind bug /sig azure /assign

Discussion:
CreateOption: "attach", }) } <del> vm.StorageProfile.DataDisks = &disks </del> <ins> newVM := compute.VirtualMachineScaleSetVM{ Sku:      vm.Sku, Location: vm.Location, VirtualMachineScaleSetVMProperties: &compute.VirtualMachineScaleSetVMProperties{ HardwareProfile: vm.HardwareProfile, StorageProfile: &compute.StorageProfile{ OsDisk:    vm.StorageProfile.OsDisk, DataDisks: &disks, }, }, } </ins> ctx, cancel := getContextWithCancel() defer cancel()

defer ss.vmssVMCache.Delete(key) klog.V(2).Infof("azureDisk - update(%s): vm(%s) - attach disk(%s)", nodeResourceGroup, nodeName, diskName) <del> _, err = ss.VirtualMachineScaleSetVMsClient.Update(ctx, nodeResourceGroup, ssName, instanceID, vm) </del> <ins> _, err = ss.VirtualMachineScaleSetVMsClient.Update(ctx, nodeResourceGroup, ssName, instanceID, newVM) </ins> if err != nil { detail := err.Error() if strings.Contains(detail, errLeaseFailed) || strings.Contains(detail, errDiskBlobNotFound) {

return fmt.Errorf("detach azure disk failure, disk %s not found, diskURI: %s", diskName, diskURI) } <del> vm.StorageProfile.DataDisks = &disks </del> <ins> newVM := compute.VirtualMachineScaleSetVM{ Sku:      vm.Sku, Location: vm.Location, VirtualMachineScaleSetVMProperties: &compute.VirtualMachineScaleSetVMProperties{ HardwareProfile: vm.HardwareProfile, StorageProfile: &compute.StorageProfile{ OsDisk:    vm.StorageProfile.OsDisk, DataDisks: &disks, }, }, } </ins> ctx, cancel := getContextWithCancel() defer cancel()

defer ss.vmssVMCache.Delete(key) klog.V(2).Infof("azureDisk - update(%s): vm(%s) - detach disk(%s)", nodeResourceGroup, nodeName, diskName) <del> _, err = ss.VirtualMachineScaleSetVMsClient.Update(ctx, nodeResourceGroup, ssName, instanceID, vm) </del> <ins> _, err = ss.VirtualMachineScaleSetVMsClient.Update(ctx, nodeResourceGroup, ssName, instanceID, newVM) </ins> if err != nil { klog.Errorf("azureDisk - detach disk(%s) from %s failed, err: %v", diskName, nodeName, err) } else {
Change:
The go team has released 1.11.3 with three security fixes. From their e-mail announcement: We should kick off upgrades of both the kubernetes build system, and our CI, as soon as possible. Do you have an ETA for the rules_go bump that will contain 1.11.3 toolchain support? cc:
I'm preparing releases that use Go 1.11.3 by default. Those will be on the rules_go 0.14, 0.15, and 0.16 branches. I expect to tag them tonight as soon as they get through CI.
Fantastic! Thank you
rules_go 0.14.7, 0.15.9, and 0.16.4 are now tagged and ready to go.
related commits and issue:
Reopening to track other branches, as well as the CI bump
go1.11.3 and go1.10.6 introduced a regression, and so go1.11.4 and go1.10.7 were released Friday afternoon with a fix. We'll need to bump everything again on master, and should hold off on cherry-picks for now.
This looks fixed by Is there anything else that needs to be done as well?
Still need to merge for k8s 1.13.
Closing as all branches are now up to date.

Discussion:
# This file creates a standard build environment for building cross # platform go binary for the architecture kubernetes cares about. <del> FROM golang:1.11.2 </del> <ins> FROM golang:1.11.3 </ins> ENV GOARM 7 ENV KUBE_DYNAMIC_CROSSPLATFORMS 

# Use dynamic cgo linking for architectures other than amd64 for the server platforms # To install crossbuild essential for other architectures add the following repository. RUN echo "deb http://archive.ubuntu.com/ubuntu xenial main universe" > /etc/apt/sources.list.d/cgocrosscompiling.list  <del> && apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5 3B4FE6ACC0B21F32  </del> <ins> && apt-key adv --no-tty --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5 3B4FE6ACC0B21F32  </ins> && apt-get update  && apt-get install -y build-essential  && for platform in ${KUBE_DYNAMIC_CROSSPLATFORMS}; do apt-get install -y crossbuild-essential-${platform}; done 

<del> v1.11.2-1 </del> <ins> v1.11.3-1 </ins>

http_archive( name = "io_bazel_rules_go", <del> sha256 = "f87fa87475ea107b3c69196f39c82b7bbf58fe27c62a338684c20ca17d1d8613", urls = mirror("https://github.com/bazelbuild/rules_go/releases/download/0.16.2/rules_go-0.16.2.tar.gz"), </del> <ins> sha256 = "62ec3496a00445889a843062de9930c228b770218c735eca89c67949cd967c3f", urls = mirror("https://github.com/bazelbuild/rules_go/releases/download/0.16.4/rules_go-0.16.4.tar.gz"), </ins> ) http_archive(

go_rules_dependencies() go_register_toolchains( <del> go_version = "1.11.2", </del> <ins> go_version = "1.11.3", </ins> ) docker_repositories()

REGISTRY ?= gcr.io/kubernetes-e2e-test-images GOARM=7 QEMUVERSION=v2.9.1 <del> GOLANG_VERSION=1.11.2 </del> <ins> GOLANG_VERSION=1.11.3 </ins> export ifndef WHAT
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!--What happened: The issue is with the information provided for the rules, not about the default backend. Form the describe: Rules: Host Path Backends ---- ---- -------- hellonode hellonode:8080 (<none) the endpoint show none. and below is the ingress yaml file. apiVersion: extensions/v1beta1 kind: Ingress metadata: name: hellonode spec: rules: host: hellonode http: paths: backend: serviceName: hellonode servicePort: 8080 What you expected to happen: it should show the service endpoint 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: OS (e.g. from /etc/os-release): Kernel (e.g. ): Install tools: Others: <!-- DO NOT EDIT BELOW THIS LINE --/kind bug
/area kubectl
/sig cli

Discussion:
} w.Write(LEVEL_1, "%stn", host) for _, path := range rules.HTTP.Paths { <del> w.Write(LEVEL_2, "t%s t%s (%s)n", path.Path, backendStringer(&path.Backend), i.describeBackend(ns, &path.Backend)) </del> <ins> w.Write(LEVEL_2, "t%s t%s (%s)n", path.Path, backendStringer(&path.Backend), i.describeBackend(ing.Namespace, &path.Backend)) </ins> } } if count == 0 {
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!--What happened: change azure disk host cache to ReadOnly The default value would lead to slow perf. And according to below doc: default host cache should be , the reason why we use “cachingMode: None” by default in k8s is that there is a famous disk bug due to this cachingMode setting( & ) which would lead to disk i/o error, and this issue has been fixed in the middle of this year by azure disk team. What you expected to happen: 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: OS (e.g. from /etc/os-release): Kernel (e.g. ): Install tools: Others: <!-- DO NOT EDIT BELOW THIS LINE --/kind bug /sig azure /assign

Discussion:
const ( defaultStorageAccountType       = compute.StandardLRS defaultAzureDiskKind            = v1.AzureManagedDisk <del> defaultAzureDataDiskCachingMode = v1.AzureDataDiskCachingNone </del> <ins> defaultAzureDataDiskCachingMode = v1.AzureDataDiskCachingReadOnly </ins> ) type dataDisk struct {
Change:
What happened: I'm unable to configure the api-server through a to pass admission requests to my for the resource. I'm adding the following rule to the When performing rollbacks, I'm not seeing any calls to the admission webhook. What you expected to happen: To receive validation requests when performing rollbacks. How to reproduce it (as minimally and precisely as possible): Create a ValidatingAdmissionWebhook and perform a rollback request. Anything else we need to know?: Mentioned this on the #sig-api-machinery channel on Slack, and suggested the error was that the -object never is used: Environment: Kubernetes version (use ): 12.3 Cloud provider or hardware configuration: OS (e.g. from /etc/os-release): Container Linux by CoreOS 1911.5.0 (Rhyolite) 4.14.84-coreos docker://18.6.1 Kernel (e.g. ): Install tools: Others: /kind bug
/sig apps
/sig api-machinery
Good point, should call .

Discussion:
return nil, errors.NewBadRequest(fmt.Sprintf("not a DeploymentRollback: %#v", obj)) } <ins> if createValidation != nil { if err := createValidation(obj.DeepCopyObject()); err != nil { return nil, err } } </ins> if errs := appsvalidation.ValidateDeploymentRollback(rollback); len(errs) != 0 { return nil, errors.NewInvalid(apps.Kind("DeploymentRollback"), rollback.Name, errs) }

package storage import ( <ins> "fmt" </ins> "net/http" "reflect" "testing"

} } <ins> func TestCreateDeploymentRollbackValidation(t *testing.T) { storage, server := newStorage(t) rollbackStorage := storage.Rollback rollback := apps.DeploymentRollback{ Name:               name, UpdatedAnnotations: map[string]string{}, RollbackTo:         apps.RollbackConfig{Revision: 1}, } ctx := genericapirequest.WithNamespace(genericapirequest.NewContext(), namespace) if _, err := storage.Deployment.Create(ctx, validNewDeployment(), rest.ValidateAllObjectFunc, &metav1.CreateOptions{}); err != nil { t.Fatalf("Unexpected error: %v", err) } validationError := fmt.Errorf("admission deny") alwaysDenyValidationFunc := func(obj runtime.Object) error { return validationError } _, err := rollbackStorage.Create(ctx, &rollback, alwaysDenyValidationFunc, &metav1.CreateOptions{}) if err == nil || validationError != err { t.Errorf("expected: %v, got: %v", validationError, err) } storage.Deployment.Store.DestroyFunc() server.Terminate(t) } </ins> // Ensure that when a deploymentRollback is created for a deployment that has already been deleted // by the API server, API server returns not-found error. func TestEtcdCreateDeploymentRollbackNoDeployment(t *testing.T) {

} func (r *TokenREST) Create(ctx context.Context, name string, obj runtime.Object, createValidation rest.ValidateObjectFunc, options *metav1.CreateOptions) (runtime.Object, error) { <del> if err := createValidation(obj); err != nil { return nil, err </del> <ins> if createValidation != nil { if err := createValidation(obj.DeepCopyObject()); err != nil { return nil, err } </ins> } out := obj.(*authenticationapi.TokenRequest)
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!--What happened: When the conditionType specified in Readiness Gates changes from non-existent to False, the reason of ready condition keep . What you expected to happen: when set the condition status to False , the message of ready condition can changed. How to reproduce it (as minimally and precisely as possible): a deployment with Readiness Gate without set the condition specified in Readiness the condition Status specified in Readiness to False Anything else we need to know?: Environment: Kubernetes version (use ): 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 /sig node /area kubelet

Discussion:
for _, c := range status.Conditions { if kubetypes.PodConditionByKubelet(c.Type) { _, oc := podutil.GetPodCondition(oldCopy, c.Type) <del> if oc == nil || oc.Status != c.Status { </del> <ins> if oc == nil || oc.Status != c.Status || oc.Message != c.Message || oc.Reason != c.Reason { </ins> return false } }
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!--What happened: Used the endpoint /BumpMetric to create fake metrics for Prometheus. When I tried to curl /metrics I got the following response: Bad request. Not a POST request What you expected to happen: I expected to see something like this: # HELP info message. # TYPE gauge 0. How to reproduce it (as minimally and precisely as possible): Following the docs, after having it running inside kubernetes: Anything else we need to know?: Looks like introduced this by mistake. Environment: Kubernetes version (use ): 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
/sig testing

Discussion:
func exportCustomMetricFromPod(f *framework.Framework, consumerName string, metricValue int) *common.ResourceConsumer { podAnnotations := map[string]string{ "prometheus.io/scrape": "true", <del> "prometheus.io/path":   "/Metrics", </del> <ins> "prometheus.io/path":   "/metrics", </ins> "prometheus.io/port":   "8080", } return common.NewMetricExporter(consumerName, f.Namespace.Name, podAnnotations, nil, metricValue, f.ClientSet, f.InternalClientset, f.ScalesGetter)

func exportCustomMetricFromService(f *framework.Framework, consumerName string, metricValue int) *common.ResourceConsumer { serviceAnnotations := map[string]string{ "prometheus.io/scrape": "true", <del> "prometheus.io/path":   "/Metrics", </del> <ins> "prometheus.io/path":   "/metrics", </ins> "prometheus.io/port":   "8080", } return common.NewMetricExporter(consumerName, f.Namespace.Name, nil, serviceAnnotations, metricValue, f.ClientSet, f.InternalClientset, f.ScalesGetter)

<del> 1.4 </del> <ins> 1.5 </ins>

ConsumeMemAddress       = "/ConsumeMem" BumpMetricAddress       = "/BumpMetric" GetCurrentStatusAddress = "/GetCurrentStatus" <del> MetricsAddress          = "/Metrics" </del> <ins> MetricsAddress          = "/metrics" </ins> MillicoresQuery              = "millicores" MegabytesQuery               = "megabytes"

Porter              = Config{e2eRegistry, "porter", "1.0"} PortForwardTester   = Config{e2eRegistry, "port-forward-tester", "1.0"} Redis               = Config{e2eRegistry, "redis", "1.0"} <del> ResourceConsumer    = Config{e2eRegistry, "resource-consumer", "1.4"} </del> <ins> ResourceConsumer    = Config{e2eRegistry, "resource-consumer", "1.5"} </ins> ResourceController  = Config{e2eRegistry, "resource-consumer/controller", "1.0"} ServeHostname       = Config{e2eRegistry, "serve-hostname", "1.1"} TestWebserver       = Config{e2eRegistry, "test-webserver", "1.0"}