jiebi/CodeConvo huggingface dataset:
Change:
inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="0.75130096" <del> inkscape:cx="671.4547" inkscape:cy="483.30875" </del> <ins> inkscape:cx="423.88414" inkscape:cy="492.66426" </ins> inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" inkscape:window-width="1519" inkscape:window-height="848" <del> inkscape:window-x="126" </del> <ins> inkscape:window-x="73" </ins> inkscape:window-y="24" inkscape:window-maximized="0" inkscape:snap-global="false" />

Discussion:
<!-- 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 --AWS EBS CSI driver returns topology segments It should merge the topology segments Enabling , and then describe the I have found in the docs which indicates that the duplication is by intention Also I found this and pull
/assign
/sig storage /tirage accepted /assign
It's caused by the migration from CSI to in-tree PV. AWS EBS CSI driver provides PV with: CSI translation changes -and we end up with two same items in the array. It makes sense to squash these duplicates.
cc what do you think?
Why is aws csi driver provides PV with Seems to me this is not needed.
I believe aws csi driver recently changed to using kubernetes topology labels instead of vendor-specific topology labels. Note that the elements of a matchExpression are together. I'm not sure if that's the correct approach if the intention is to eventually get rid of the vendor-specific topology label. cc
I think the topology label is defined by the csi driver? Is it okay to get rid of the vendor specific label?
The intention was to put both labels on all nodes to maintain backwards compatibility with existing PVs. but provisioned PVs should only have one or the other, putting both labels on the PV is a bug: Now that we've released the bug and some PVs have both labels, it will be hard to remove the vendor specific label.
thanks for your follow up. After the provisioned PV is assigned to a node, removing the duplicate label would still be an issue ?
It depends on which label is going to be removed. I'd suggest to remove the in-tree one (), because we can be sure that nodes have the other label from registering the CSI driver.
+1
/triage accepted /assign
fixed by Closing
Change:
// Right now we make about ten retry attempts if we get a Retry-After response. // TODO: Change to a timeout based approach. <ins> maxRetries := 10 </ins> retries := 0 for { <del> if r.err != nil { return nil, r.err } // TODO: added to catch programmer errors (invoking operations with an object with an empty namespace) if (r.verb == "GET" || r.verb == "PUT" || r.verb == "DELETE") && r.namespaceSet && len(r.resourceName) > 0 && len(r.namespace) == 0 { return nil, fmt.Errorf("an empty namespace may not be set when a resource name is provided") } if (r.verb == "POST") && r.namespaceSet && len(r.namespace) == 0 { return nil, fmt.Errorf("an empty namespace may not be set during creation") } var err error r.req, err = http.NewRequest(r.verb, r.finalURL(), r.body) </del> <ins> url := r.finalURL() req, err := http.NewRequest(r.verb, r.finalURL(), r.body) </ins> if err != nil { <del> return nil, err </del> <ins> return err </ins> } <del> r.req.Header = r.headers r.resp, err = client.Do(r.req) </del> <ins> req.Header = r.headers resp, err := client.Do(req) </ins> if err != nil { <del> return nil, err </del> <ins> return err </ins> } <del> defer r.resp.Body.Close() // Check to see if we got a 429 Too Many Requests response code. if r.resp.StatusCode == errors.StatusTooManyRequests { if retries < 10 { retries++ if waitFor := r.resp.Header.Get("Retry-After"); waitFor != "" { delay, err := strconv.Atoi(waitFor) if err == nil { glog.V(4).Infof("Got a Retry-After %s response for attempt %d to %v", waitFor, retries, r.finalURL()) time.Sleep(time.Duration(delay) * time.Second) continue } } </del> <ins> done := func() bool { // ensure the response body is closed before we reconnect, so that we reuse the same // TCP connection defer resp.Body.Close() retries++ if seconds, wait := checkWait(resp); wait && retries < maxRetries { glog.V(4).Infof("Got a Retry-After %s response for attempt %d to %v", seconds, retries, url) time.Sleep(time.Duration(seconds) * time.Second) return false </ins> } <ins> fn(req, resp) return true }() if done { return nil </ins> } <del> body, err := ioutil.ReadAll(r.resp.Body) if err != nil { return nil, err } return body, err </del> } }

Discussion:
Storing r.req / r.resp internally (for use from DoRaw and Do) is probably not the right factoring. There should be a common method doRaw that returns request and body.
Change:
"//pkg/security/podsecuritypolicy/util:go_default_library", "//plugin/pkg/admission/serviceaccount:go_default_library", "//staging/src/k8s.io/api/apps/v1:go_default_library", <ins> "//staging/src/k8s.io/api/authentication/v1:go_default_library", </ins> "//staging/src/k8s.io/api/batch/v1:go_default_library", "//staging/src/k8s.io/api/certificates/v1beta1:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library",

Discussion:
https://k8s- /sig auth /kind failing-test
Adding a priority to this: /priority important-soon Please raise the priority if you consider this a release blocker. Given the test job, it normally wouldn't be.
It's a test issue. I'm hoping to fix this before 1.13 but I don't consider it a release blocker.
Change:
// to be something else, see if the interval will be reconciled. It("should reconcile LB health check interval [Slow][Serial]", func() { const gceHcCheckIntervalSeconds = int64(8) <del> // This test is for clusters on GCE/GKE. framework.SkipUnlessProviderIs("gce", "gke") </del> <ins> // This test is for clusters on GCE. // (It restarts kube-controller-manager, which we don't support on GKE) framework.SkipUnlessProviderIs("gce") </ins> clusterID, err := gce.GetClusterID(cs) if err != nil { framework.Failf("framework.GetClusterID(cs) = _, %v; want nil", err)

Discussion:
is failing with "framework.RestartControllerManager() = unsupported provider: gke; want nil" /kind failing-test
/sig network
Introduced in , should be fixed by
Change:
// Check whether "STAGE_UNSTAGE_VOLUME" is set stageUnstageSet, err := hasStageUnstageCapability(ctx, csi) if err != nil { <del> glog.Error(log("attacher.MountDevice failed to check STAGE_UNSTAGE_VOLUME: %v", err)) </del> return err } if !stageUnstageSet { glog.Infof(log("attacher.MountDevice STAGE_UNSTAGE_VOLUME capability not set. Skipping MountDevice...")) <ins> // defer does *not* remove the metadata file and it's correct - UnmountDevice needs it there. </ins> return nil } // Start MountDevice if deviceMountPath == "" { <del> return fmt.Errorf("attacher.MountDevice failed, deviceMountPath is empty") </del> <ins> err = fmt.Errorf("attacher.MountDevice failed, deviceMountPath is empty") return err </ins> } nodeName := string(c.plugin.host.GetNodeName())

Discussion:
/kind bug /sig storage What happened: When using a CSI driver that does not support NODESTAGE, I can see orphan json files in that are never cleaned up. What you expected to happen: No orphan file /assign
Change:
} genericPluginInitializer := initializer.New(nil, nil, fakeAuthorizer{}, nil) <del> pluginInitializer := kubeadmission.NewPluginInitializer(nil, testrestmapper.TestOnlyStaticRESTMapper(legacyscheme.Scheme), nil) </del> <ins> fakeDiscoveryClient := &fakediscovery.FakeDiscovery{Fake: &coretesting.Fake{}} fakeDiscoveryClient.Resources = []*metav1.APIResourceList{ { GroupVersion: corev1.SchemeGroupVersion.String(), APIResources: []metav1.APIResource{ {Name: "nodes", Namespaced: false, Kind: "Node"}, {Name: "pods", Namespaced: true, Kind: "Pod"}, {Name: "replicationcontrollers", Namespaced: true, Kind: "ReplicationController"}, }, }, { GroupVersion: extensionv1beta1.SchemeGroupVersion.String(), APIResources: []metav1.APIResource{ {Name: "daemonsets", Namespaced: true, Kind: "DaemonSet"}, }, }, } restMapperRes, err := restmapper.GetAPIGroupResources(fakeDiscoveryClient) if err != nil { return nil, fmt.Errorf("unexpected error while constructing resource list from fake discovery client: %v", err) } restMapper := restmapper.NewDiscoveryRESTMapper(restMapperRes) pluginInitializer := kubeadmission.NewPluginInitializer(nil, restMapper, nil) </ins> initializersChain := admission.PluginInitializers{} initializersChain = append(initializersChain, genericPluginInitializer) initializersChain = append(initializersChain, pluginInitializer)

Discussion:
/kind flake /sig testing /sig auth we are injecting a restMapper into this admisson controller while in its test, the restMapper somehow become empty when we remove internal clientset/informer dependency from it (). now we come up with a walkaround in which we manually init the legacy schema via a dry import so that the built-in resources can be installed. this failing test suggests that the test is not quite correct logically.
/assign Are you up for trying to figure out how to avoid requiring the internal types?
What test does this break? Links?
link here: w/o the dry import, then will fail with output:
sure. will be looking into it
OK, setting priority so that I know this isn't a 1.13 blocker. /priority important-longterm
Change:
// Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. // If this is a string, it will be looked up as a named port in the // target Pod's container ports. If this is not specified, the value <del> // of Port is used (an identity map). // Defaults to the service port. </del> <ins> // of the 'port' field is used (an identity map). // This field is ignored for services with clusterIP=None, and should be // omitted or set equal to the 'port' field. </ins> // More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#defining-a-service TargetPort intstr.IntOrString `json:"targetPort,omitempty"`

Discussion:
In 1.0 and 1.1, headless services that specified a mismatched port/targetPort were tolerated (the targetPort was ignored). tightened validation to reject these services. That causes problems when upgrading from currently-working clusters.
2 candidate to avoid breaking backwards compatibility
oh hell. Yeah. I don't think this is worth a breaking change. We should either roll that back ASAP or change it to nuke any user-provided value and replace it with the value. I think the latter is potentially dangerous and also not worth the risk, so I think we should rollback and just update the docs for targetPort. objections?
Who has time to do this? It doesn't look like an auto-rollback is doable.
Already opened a PR in
Yes, I agree this isn't worth a breaking change, But could we give an warning log that targetPort isn't equal to port and would be ignored?
There's no facility in validation for warning. I don't think spamming the server log in response to API requests is that helpful here
Yes, that sounds reasonable. I just think that targetPort was ignored is a little unfriendly to user.
Change:
return strings.HasPrefix(*fip.Name, baseName) } <del> func (az *Cloud) getFrontendIPConfigName(service *v1.Service, subnetName *string) string { </del> <ins> func (az *Cloud) getFrontendIPConfigName(service *v1.Service) string { </ins> baseName := az.GetLoadBalancerName(context.TODO(), "", service) <ins> subnetName := subnet(service) </ins> if subnetName != nil { <del> return fmt.Sprintf("%s-%s", baseName, *subnetName) </del> <ins> ipcName := fmt.Sprintf("%s-%s", baseName, *subnetName) // Azure lb front end configuration name must not exceed 80 characters if len(ipcName) > frontendIPConfigNameMaxLength { ipcName = ipcName[:frontendIPConfigNameMaxLength] } return ipcName </ins> } return baseName }

Discussion:
<!-- 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: When the specified internal LB uses a subnet with longer name, the LB configuration will fail with following error: What you expected to happen: When constructing the frontend IP configuration name and the load balancing rules name, the subnet name should be truncated if too long. How to reproduce it (as minimally and precisely as possible): Use a subnet that has long name (70 charactors) and create ILB service. Anything else we need to know?: Environment: Kubernetes version (use ): 1.15 Cloud provider or hardware configuration: azure OS (e.g: ): Ubuntu 16.04 Kernel (e.g. ): Install tools: Network plugin and version (if this is a network-related bug): Others:
/sig cloud-provider /area provider/azure /assign
Change:
REGISTRY?=gcr.io/google_containers ARCH?=amd64 TEMP_DIR:=$(shell mktemp -d) <del> CNI_RELEASE=9d5e6e60e79491207834ae8439e80c943db65a69 </del> <ins> CNI_RELEASE=07a8a28637e97b22eb8dfe710eeae1344f69d16e </ins> UNAME_S:=$(shell uname -s) ifeq ($(UNAME_S),Darwin)

Discussion:
I have a container that got the broadcast address of podCIDR subnet. My CNI conf is: And the container in question has which is the broadcast address for the subnet. So it can't figure out the MAC of cbr0 because all frames are getting sent to (or at least, that's what seems to indicate). Eg: tcpdump alonside a wget on vs a similar normal container
Looks like a bug in ipam. Will try to put together a fix.
I stress tested your fix overnight with the networking suite I'm writing (the one that found the bug), didn't hit the failure in 100 runs, we should get it in asap
Great. It would be better to pull from upstream once the fix is merged. Otherwise, we have to fork it like we did in 1.3.
Marking this p0 flake so it shows up in release queries
[FLAKE-PING] This flaky-test issue would love to have more attention.
[FLAKE-PING] This flaky-test issue would love to have more attention.
Change:
scope.err(err, w, req) return } <del> requestInfo, _ := request.RequestInfoFrom(ctx) metrics.RecordLongRunning(req, requestInfo, metrics.APIServerComponent, func() { defer watcher.Stop() handler.ServeHTTP(w, req) }) </del> <ins> // Invalidate cancel() to defer until serve() is complete. deferredCancel := cancel cancel = func() {} serve := func() { defer deferredCancel() requestInfo, _ := request.RequestInfoFrom(ctx) metrics.RecordLongRunning(req, requestInfo, metrics.APIServerComponent, func() { defer watcher.Stop() handler.ServeHTTP(w, req) }) } // Run watch serving in a separate goroutine to allow freeing current stack memory t := genericfilters.TaskFrom(req.Context()) if t != nil { t.Func = serve } else { serve() } </ins> return }

Discussion:
Optimize the memory usage of goroutine stack for serving watch requests. According to the of handling a watch request, the stack memory is 0x3768, which is very close to 16 KiB and Golang runtime will double it to 32 KiB once exceeded. In fact, it does exceed if we print the traceback deeper and take the fact that extra stack memory reserved by Golang itself into consideration. A naive optimization is to run as much as preparation handlers in a separate goroutine and then move the actual serving to another goroutine, so the former routine can free the stack memory earlier and make it more memory efficient. Given the extensive use of watch requests, 32 KiB per watch could add up to a very high amount of memory overhead for . A typical watch request commonly lasts for 30s or longer, which means this memory will be active for quite long. I see a great improvement in memory efficiency to do this optimization.
/cc
/sig api-machinery
/cc if you would like to take a look when you have time :) Thank you /triage accepted
Change:
"sort" "strings" <del> "github.com/onsi/ginkgo" </del> <ins> e2elog "k8s.io/kubernetes/test/e2e/framework/log" </ins> ) var filesources []FileSource

Discussion:
/help /kind cleanup /area e2e-testing-framework mini guide: make sure you have signed the CNCF clone kubernetes;/kubernetes search for ginkgo.Fail calls under test/e2e/framework e.g. replace them with this that was in this PR: send a PR for kubernetes/kubernetes
/remove-kind feature /area e2e-test-framework
/sig testing
I will take this.
thank you! Please feel free to ping #testing-commons in the Kubernetes slack if you have any questions :smiley: /cc
/remove-help
/assign
Change:
-e MIRROR_TAGS_CACHE_TTL=1800  quay.io/devops/docker-registry:latest - name: docker.service <ins> content: | [Unit] Description=Docker Application Container Engine Documentation=http://docs.docker.com After=docker.socket early-docker.target network.target Requires=docker.socket early-docker.target [Service] Environment=TMPDIR=/var/tmp EnvironmentFile=-/run/flannel_docker_opts.env EnvironmentFile=/etc/network-environment MountFlags=slave LimitNOFILE=1048576 LimitNPROC=1048576 ExecStart=/usr/lib/coreos/dockerd --daemon --host=fd:// --registry-mirror=http://${DEFAULT_IPV4}:5000 $DOCKER_OPT_BIP $DOCKER_OPT_MTU $DOCKER_OPT_IPMASQ [Install] WantedBy=multi-user.target </ins> drop-ins: - name: 51-docker-mirror.conf content: |

Discussion:
Minor issues with 1) The examples rely on cloud vendor specific variables ($private_ipv4 ) 2) The wget command for kube-register always re-downloads
Change:
return err } <del> _, err = plugin.defaultNetwork.addToNetwork(name, namespace, id, netnsPath) </del> <ins> _, err = plugin.getDefaultNetwork().addToNetwork(name, namespace, id, netnsPath) </ins> if err != nil { glog.Errorf("Error while adding to cni network: %s", err) return err

Discussion:
Host network pods should be able to be created before the container network exists. Pod syncs for pods on the container network should fail until the container network is configured. cc
ref:
I think this is a thing we should make working before v1.4, so adding the milestone. Complain if you disagree. Also, does volunteer to make a PR? :)
Going to make a first pass at this in
Great!
/cc
Change:
} # k8s <del> KUBE_VERSION=${KUBE_VERSION:-"1.1.7"} </del> <ins> KUBE_VERSION=${KUBE_VERSION:-"1.1.8"} </ins> echo "Prepare kubernetes ${KUBE_VERSION} release ..." grep -q "^${KUBE_VERSION}$" binaries/.kubernetes 2>/dev/null || { curl -L https://github.com/kubernetes/kubernetes/releases/download/v${KUBE_VERSION}/kubernetes.tar.gz -o kubernetes.tar.gz

Discussion:
The default Kubernetes release number in cluster/ubuntu/download- is 1.1.7 but 1.1.8 is out now.
Resolved by PR
Change:
} func (om *fakeObjectManager) UpdatePod(pod *v1.Pod) error { <del> defer om.updatePodTracker.inc() if om.updatePodTracker.errorReady() { defer om.updatePodTracker.reset() return om.updatePodTracker.getErr() </del> <ins> defer om.updatePodTracker.trackParallelRequests() if err := om.updatePodTracker.incWithOptionalError(); err != nil { return err </ins> } return om.podsIndexer.Update(pod) } func (om *fakeObjectManager) DeletePod(pod *v1.Pod) error { <del> defer om.deletePodTracker.inc() if om.deletePodTracker.errorReady() { defer om.deletePodTracker.reset() return om.deletePodTracker.getErr() </del> <ins> defer om.deletePodTracker.trackParallelRequests() if err := om.deletePodTracker.incWithOptionalError(); err != nil { return err </ins> } if key, err := controller.KeyFunc(pod); err != nil { return err

Discussion:
https://prow.ppc64le- TestStatefulSetControl/CreatePodFailure/Burst/ScaleDownOnly/StatefulSetAutoDeletePVCEnabled of Have started observing more flakes recently since last week. No response_ Able to reproduce using stress tool. /sig testing /sig apps
/triage accepted /assign
opened a PR with a fix:
Change:
<ins> /* Copyright 2017 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ package v1alpha1 import "k8s.io/apimachinery/pkg/conversion" // Convert_Slice_string_To_v1alpha1_IncludeObjectPolicy allows converting a URL query parameter value func Convert_Slice_string_To_v1alpha1_IncludeObjectPolicy(input *[]string, out *IncludeObjectPolicy, s conversion.Scope) error { if len(*input) > 0 { *out = IncludeObjectPolicy((*input)[0]) } return nil } </ins>

Discussion:
Making an API request for table output and specifying the parameter causes a server error in parameter conversion, and an inaccurate error message in response: server log: E0804 09:41:14. ] apiserver received an error that is not an metav1.Status: converting (url.Values).[]string to (v1alpha1.TableOptions).v1alpha1.IncludeObjectPolicy: couldn't copy '[]string' into 'v1alpha1.IncludeObjectPolicy'; didn't understand types
Ugh, typed strings.
Change:
if c.ReadWritePort == 0 { c.ReadWritePort = 443 } <del> if c.PublicAddress == "" { </del> <ins> for c.PublicAddress == "" { </ins> // Find and use the first non-loopback address. // TODO: potentially it'd be useful to skip the docker interface if it // somehow is first in the list.

Discussion:
I'm not using publicaddressoverride. At boot I'm trying to launch using: /usr/bin/kube-apiserver --logtostderr=true --v=0 --etcdservers=http://10.13.137.165:4001 --address=0.0.0.0 --port=8080 --kubeletport= --allowprivileged=true --portalnet=10.254.0.0/16 But this gets launched before eth0 has an ip address. This used to work. Now apiserver just refused to start (complaining about 127.0.0.1 being invalid). I think it needs to just keep trying until it gets an address and can get to work....
Adding --publicaddressoverride= as suggested doesn't help.... Nov 05 12:43:55 localhost kube-apiserver[713]: F1105 12:43:55. ] listen tcp 10.13.137.165:7080: bind: cannot assign requested address Which is a fatal error. I can't bind to it. It isn't up yet.
Bisect says either commit or
If publicaddressoverride is specified, I can put the read-only server bind in a goroutine and retry periodically. If it's not, though, since we can't change the public address once started, we'd have to delay construction until a suitable address shows up. That's pretty ugly; is it an important case to support?
I personally think delaying construction is fine. Being able to launch the apiserver on any node from the init system and have it just work 99% of the time seems like a good thing....
OK. Fix coming in 3, 2, 1...
See if does the trick for you.
commented there. it fixed it.
Change:
if !isCreated(replicas[i]) { return ssc.podControl.CreateStatefulPod(set, replicas[i]) } <ins> // If we find a Pod that is currently terminating, we must wait until graceful deletion // completes before we continue to make  progress. if isTerminating(replicas[i]) { glog.V(2).Infof("StatefulSet %s is waiting for Pod %s to Terminate", set.Name, replicas[i].Name) return nil } </ins> // If we have a Pod that has been created but is not running and ready we can not make progress. // We must ensure that all for each Pod, when we create it, all of its predecessors, with respect to its // ordinal, are Running and Ready.

Discussion:
/assign flakes in PR jobs more than once per day The can filter down to searching for results for a single test:
This test continues to flake PRs at least once per day:
https://k8s-
looking at it
Change:
} } <del> func verifyIfKMSTransformersSwapped(t *testing.T, wantPrefix, wantPrefixForEncryptAll string, test *transformTest) { </del> <ins> func verifyIfKMSTransformersSwapped(t *testing.T, wantPrefix string, test *transformTest) { </ins> t.Helper() var swapErr error

Discussion:
transformation expandless | 14m1s Failed; === RUN TestEncryptionConfigHotReload TestEncryptionConfigHotReload When I see this flake, 10-09 is the first one.(But the job history in the testgrid only started from 10-03) some PR that may be related: /sig auth /cc
/cc
/triage accepted
/cc failed two times in recent 3 runs:
/reopen as of this is still .
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