jiebi/CodeConvo huggingface dataset:
Change:
<!-- This form is for bug reports and feature requests ONLY! If you're looking for help check and the . --Is this a BUG REPORT or FEATURE REQUEST?: /kind bug /sig api-machinery What happened: pull-kubernetes-bazel job is failing See https://k8s- What you expected to happen: test should pass How to reproduce it (as minimally and precisely as possible): bazel test //thirdparty/forked/etcd221/pkg/fileutil:godefault_test
/priority failing-test /area test-infra
/assign
Something weird going on with the prow environment, because this test passes locally with bazel 0.5.2.
Since it is late I will preemptively declare MISSION ACCOMPLISHED from my aircraft carrier and 0.4.5 downgrade workaround (kubernetes/test-infra). I'm sure once we figure things out we'll want to revert this job back to 0.5.2 but in the mean time this should unblock things and the queue should resume merging over the weekend. Expectation is this passes: https://k8s-
I don't know if it's a different issue, but bazel is still failing/flaking all over the place: https://k8s-
/close

Discussion:
# Make /tmp hermetic build --sandbox_tmpfs_path=/tmp <ins> # Ensure that Bazel never runs as root, which can cause unit tests to fail. # This flag requires Bazel 0.5.0+ build --sandbox_fake_username </ins>
Change:
/sig cluster-lifecycle
Very rarely we are seeing known tokens files filled with the NULL character, with ASCII value 000. Restarting the master doesn't fix the issue because the is saved between restarts.
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. Prevent issues from auto-closing with an comment. If this issue is safe to close now please do so with . Send feedback to sig-testing, kubernetes/test-infra and/or . /lifecycle stale

Discussion:
local -r file="${1:-}" local -r prefix="${2:-}" local -r suffix="${3:-}" <ins> local -r dirname="$(dirname ${file})" local -r tmpfile="$(mktemp -t filtered.XXXX --tmpdir=${dirname})" </ins> touch "${file}" <del> awk "substr($0,0,length("${prefix}")) != "${prefix}" { print }" "${file}" > "${file}.filtered"  && mv "${file}.filtered" "${file}" echo "${prefix}${suffix}" >> "${file}" </del> <ins> awk "substr($0,0,length("${prefix}")) != "${prefix}" { print }" "${file}" > "${tmpfile}" echo "${prefix}${suffix}" >> "${tmpfile}" mv "${tmpfile}" "${file}" </ins> } function create-node-pki {
Change:
/sig cluster-lifecycle
Very rarely we are seeing known tokens files filled with the NULL character, with ASCII value 000. Restarting the master doesn't fix the issue because the is saved between restarts.
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. Prevent issues from auto-closing with an comment. If this issue is safe to close now please do so with . Send feedback to sig-testing, kubernetes/test-infra and/or . /lifecycle stale

Discussion:
fi append_or_replace_prefixed_line "${basic_auth_csv}" "${KUBE_PASSWORD},${KUBE_USER},"      "admin,system:masters" fi local -r known_tokens_csv="${auth_dir}/known_tokens.csv" <ins> if [[ -e "${known_tokens_csv}" && "${METADATA_CLOBBERS_CONFIG:-false}" == "true" ]]; then rm "${known_tokens_csv}" fi </ins> if [[ -n "${KUBE_BEARER_TOKEN:-}" ]]; then append_or_replace_prefixed_line "${known_tokens_csv}" "${KUBE_BEARER_TOKEN},"             "admin,admin,system:masters" fi
Change:
/sig cluster-lifecycle
Very rarely we are seeing known tokens files filled with the NULL character, with ASCII value 000. Restarting the master doesn't fix the issue because the is saved between restarts.
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. Prevent issues from auto-closing with an comment. If this issue is safe to close now please do so with . Send feedback to sig-testing, kubernetes/test-infra and/or . /lifecycle stale

Discussion:
local -r file="${1:-}" local -r prefix="${2:-}" local -r suffix="${3:-}" <ins> local -r dirname="$(dirname ${file})" local -r tmpfile="$(mktemp -t filtered.XXXX --tmpdir=${dirname})" </ins> touch "${file}" <del> awk "substr($0,0,length("${prefix}")) != "${prefix}" { print }" "${file}" > "${file}.filtered"  && mv "${file}.filtered" "${file}" echo "${prefix}${suffix}" >> "${file}" </del> <ins> awk "substr($0,0,length("${prefix}")) != "${prefix}" { print }" "${file}" > "${tmpfile}" echo "${prefix}${suffix}" >> "${tmpfile}" mv "${tmpfile}" "${file}" </ins> } function create-node-pki {

fi append_or_replace_prefixed_line "${basic_auth_csv}" "${KUBE_PASSWORD},${KUBE_USER},"      "admin,system:masters" fi local -r known_tokens_csv="${auth_dir}/known_tokens.csv" <ins> if [[ -e "${known_tokens_csv}" && "${METADATA_CLOBBERS_CONFIG:-false}" == "true" ]]; then rm "${known_tokens_csv}" fi </ins> if [[ -n "${KUBE_BEARER_TOKEN:-}" ]]; then append_or_replace_prefixed_line "${known_tokens_csv}" "${KUBE_BEARER_TOKEN},"             "admin,admin,system:masters" fi
Change:
/sig cluster-lifecycle
Very rarely we are seeing known tokens files filled with the NULL character, with ASCII value 000. Restarting the master doesn't fix the issue because the is saved between restarts.
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. Prevent issues from auto-closing with an comment. If this issue is safe to close now please do so with . Send feedback to sig-testing, kubernetes/test-infra and/or . /lifecycle stale

Discussion:
local -r file="${1:-}" local -r prefix="${2:-}" local -r suffix="${3:-}" <ins> local -r dirname="$(dirname ${file})" local -r tmpfile="$(mktemp -t filtered.XXXX --tmpdir=${dirname})" </ins> touch "${file}" <del> awk "substr($0,0,length("${prefix}")) != "${prefix}" { print }" "${file}" > "${file}.filtered"  && mv "${file}.filtered" "${file}" echo "${prefix}${suffix}" >> "${file}" </del> <ins> awk "substr($0,0,length("${prefix}")) != "${prefix}" { print }" "${file}" > "${tmpfile}" echo "${prefix}${suffix}" >> "${tmpfile}" mv "${tmpfile}" "${file}" </ins> } function create-node-pki {

fi replace_prefixed_line "${basic_auth_csv}" "${KUBE_PASSWORD},${KUBE_USER}," "admin,system:masters" fi local -r known_tokens_csv="${auth_dir}/known_tokens.csv" <ins> if [[ -e "${known_tokens_csv}" && "${METADATA_CLOBBERS_CONFIG:-false}" == "true" ]]; then rm "${known_tokens_csv}" fi </ins> if [[ -n "${KUBE_BEARER_TOKEN:-}" ]]; then replace_prefixed_line "${known_tokens_csv}" "${KUBE_BEARER_TOKEN},"             "admin,admin,system:masters" fi
Change:
Is this a BUG REPORT or FEATURE REQUEST?: What happened: use kubectl search log with follow option get api latency (apiserverrequestlatenciessummary{quantile="0.99",resource="pods",verb="GET"} )high to give a alert in my cluster. the apiserver log is below and we can see it costs 1m25s. What you expected to happen: do not make this api latency account in getting pod request api latency How to reproduce it (as minimally and precisely as possible): use kubectl to search a pod log with follow option long enough and you will get this metric apiserverrequestlatenciessummary{quantile="0.99",resource="pods",verb="GET"} higher than the ordinary case. Anything else we need to know?: I am happy to fix it. Environment: Kubernetes version (use ): 1.6 Cloud provider or hardware configuration**: bare-metal OS (e.g. from /etc/os-release): ubuntu 16.04 Kernel (e.g. ): 4.4 Install tools: kubeadm Others:
There are no sig labels on this issue. Please by: a sig: e.g., to notify the contributor experience sig, OR the label manually: e.g., to apply the label Note: Method 1 will trigger an email to the group. You can find the group list and label list . The in the method 1 has to be replaced with one of these: bugs, feature-requests, pr-reviews, test-failures, proposals
/sig API Machinery
/area apiserver
/sig api-machinery
/assign Thanks... looking forward to your PR!
fixed with PTAL

Discussion:
func (r *LogREST) NewGetOptions() (runtime.Object, bool, string) { return &api.PodLogOptions{}, false, "" } <ins> // OverrideMetricsVerb override the GET verb to CONNECT for pod log resource func (r *LogREST) OverrideMetricsVerb(oldVerb string) (newVerb string) { newVerb = oldVerb if oldVerb == "GET" { newVerb = "CONNECT" } return } </ins>

AllNamespaces bool // true iff the action is namespaced but works on aggregate result for all namespaces } <ins> // An interface to see if one storage supports override its default verb for monitoring type StorageMetricsOverride interface { // OverrideMetricsVerb gives a storage object an opportunity to override the verb reported to the metrics endpoint OverrideMetricsVerb(oldVerb string) (newVerb string) } </ins> // An interface to see if an object supports swagger documentation as a method type documentable interface { SwaggerDoc() map[string]string

} kind = fqParentKind.Kind } <ins> verbOverrider, needOverride := storage.(StorageMetricsOverride) </ins> switch action.Verb { case "GET": // Get a resource. var handler restful.RouteFunction

} else { handler = restfulGetResource(getter, exporter, reqScope) } <del> handler = metrics.InstrumentRouteFunc(action.Verb, resource, subresource, namespaceScope, handler) </del> <ins> if needOverride { // need change the reported verb handler = metrics.InstrumentRouteFunc(verbOverrider.OverrideMetricsVerb(action.Verb), resource, subresource, namespaceScope, handler) } else { handler = metrics.InstrumentRouteFunc(action.Verb, resource, subresource, namespaceScope, handler) } </ins> if a.enableAPIResponseCompression { handler = genericfilters.RestfulWithCompression(handler, a.group.Context) }
Change:
<!-- This form is for bug reports and feature requests ONLY! If you're looking for help check and the . --Is this a BUG REPORT or FEATURE REQUEST?: /kind bug What happened: What you expected to happen: Test should pass
/sig storage
can you take a look?
cc
This part looks a bit suspicious, config var at this moment is not initialized properly, it is just a pointer to nil. var ( config localTestConfig node0 v1.Node scName string ) Panic here is because I think config points nowhere node0 = [0] Here is only where config gets instantiated. config = &localTestConfig{ ns: f.Namespace.Name, client: f.ClientSet, nodes: nodes, node0: node0, scName: scName, } Am I on the right track here?
Yeah, looks like should not use
+1 we should just use nodes.Items[0] wondering how this passed ci ...
It didn't :-) See
hmm, ok since u spotted the bug, do you want to put a PR for it?
if you can do it now, then please go ahead. otherwise I will do it tomorrow morning since it is already late on East Coast.
I've created , PTAL

Discussion:
Expect(len(nodes.Items)).NotTo(BeZero(), "No available nodes for scheduling") scName = fmt.Sprintf("%v-%v", testSCPrefix, f.Namespace.Name) // Choose the first node <del> node0 = &config.nodes.Items[0] </del> <ins> node0 = &nodes.Items[0] </ins> config = &localTestConfig{ ns:     f.Namespace.Name,
Change:
Perhaps it has the same root cause as
Case 1: Delete request sent at: Cycle removed at: Deletion of pods: The cycle was removed. And the pods were deleted properly. But it took 43s in total. API rediscovery in that period: Which took 16s.
Case 2: Delete request: Cycle removed at: Pods deleted at: Took 41 seconds. API re-discovery: Took 13s. Another thing I noticed is that the re-discovery always traverses the discovery endpoints back-to-back twice.
case 3: Deletion started at: GC first action at: Watch latency is around 5s. Cycle removed at GC deletes the Pods at: Took 30s. API re-discovery: Took 10s.
The cause is the same as . The periodic API rediscovery adds latency. Also, the watch latency is also quite high. I'll send a PR to increase the timeout
: Deletion started at: GC's first action at: GC deletes the last Pod at: Took 99s. Experienced 3 API re-discoveries: 37s in total
The test is much after we extended the timeout to 90s. We can further extend the timeout if needed.

Discussion:
} By("wait for the rc to be deleted") // TODO: shorten the timeout when we make GC's periodic API rediscovery more efficient. <ins> // Tracked at https://github.com/kubernetes/kubernetes/issues/50046. </ins> if err := wait.Poll(5*time.Second, 90*time.Second, func() (bool, error) { _, err := rcClient.Get(rc1.Name, metav1.GetOptions{}) if err == nil {

Expect(err).NotTo(HaveOccurred()) var pods *v1.PodList var err2 error <del> if err := wait.Poll(5*time.Second, 30*time.Second, func() (bool, error) { </del> <ins> // TODO: shorten the timeout when we make GC's periodic API rediscovery more efficient. // Tracked at https://github.com/kubernetes/kubernetes/issues/50046. if err := wait.Poll(5*time.Second, 90*time.Second, func() (bool, error) { </ins> pods, err2 = podClient.List(metav1.ListOptions{}) if err2 != nil { return false, fmt.Errorf("Failed to list pods: %v", err)
Change:
GLBC v0.9.5 was built with an old version of the GCE cloudprovider which did not allow unknown key-value pairs in Manifest file must be updated to 0.9.6. /kind bug /sig network /area platform/gce /assign

Discussion:
apiVersion: v1 kind: Pod metadata: <del> name: l7-lb-controller-v0.9.5 </del> <ins> name: l7-lb-controller-v0.9.6 </ins> namespace: kube-system annotations: scheduler.alpha.kubernetes.io/critical-pod: '' labels: k8s-app: gcp-lb-controller <del> version: v0.9.5 </del> <ins> version: v0.9.6 </ins> kubernetes.io/name: "GLBC" spec: terminationGracePeriodSeconds: 600 hostNetwork: true containers: <del> - image: gcr.io/google_containers/glbc:0.9.5 </del> <ins> - image: gcr.io/google_containers/glbc:0.9.6 </ins> livenessProbe: httpGet: path: /healthz
Change:
What happened: There are no e2e and integration tests for statefulset scale subresource. What you expected to happen: (1) e2e test should exist BEFORE code freeze (2) integration test should exist AFTER 1.8 release branches cut Anything else we need to know?: Refer PR for more info. We should NOT remove existing e2e test.
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. Prevent issues from auto-closing with an comment. If this issue is safe to close now please do so with . Send feedback to sig-testing, kubernetes/test-infra and/or . /lifecycle stale
/close

Discussion:
"//vendor/github.com/onsi/ginkgo:go_default_library", "//vendor/github.com/onsi/gomega:go_default_library", "//vendor/k8s.io/api/apps/v1beta1:go_default_library", <ins> "//vendor/k8s.io/api/apps/v1beta2:go_default_library", </ins> "//vendor/k8s.io/api/batch/v1:go_default_library", "//vendor/k8s.io/api/batch/v2alpha1:go_default_library", "//vendor/k8s.io/api/core/v1:go_default_library",

. "github.com/onsi/ginkgo" . "github.com/onsi/gomega" apps "k8s.io/api/apps/v1beta1" <ins> appsv1beta2 "k8s.io/api/apps/v1beta2" </ins> "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" klabels "k8s.io/apimachinery/pkg/labels"

By("getting scale subresource") scale := framework.NewStatefulSetScale(ss) <del> scaleResult := &apps.Scale{} err = c.AppsV1beta1().RESTClient().Get().AbsPath("/apis/apps/v1beta1").Namespace(ns).Resource("statefulsets").Name(ssName).SubResource("scale").Do().Into(scale) </del> <ins> scaleResult := &appsv1beta2.Scale{} err = c.AppsV1beta2().RESTClient().Get().AbsPath("/apis/apps/v1beta2").Namespace(ns).Resource("statefulsets").Name(ssName).SubResource("scale").Do().Into(scale) </ins> if err != nil { framework.Failf("Failed to get scale subresource: %v", err) }

By("updating a scale subresource") scale.ResourceVersion = "" //unconditionally update to 2 replicas scale.Spec.Replicas = 2 <del> err = c.AppsV1beta1().RESTClient().Put().AbsPath("/apis/apps/v1beta1").Namespace(ns).Resource("statefulsets").Name(ssName).SubResource("scale").Body(scale).Do().Into(scaleResult) </del> <ins> err = c.AppsV1beta2().RESTClient().Put().AbsPath("/apis/apps/v1beta2").Namespace(ns).Resource("statefulsets").Name(ssName).SubResource("scale").Body(scale).Do().Into(scaleResult) </ins> if err != nil { framework.Failf("Failed to put scale subresource: %v", err) }
Change:
There are no sig labels on this issue. Please by: a sig: e.g., to notify the contributor experience sig, OR the label manually: e.g., to apply the label Note: Method 1 will trigger an email to the group. You can find the group list and label list . The in the method 1 has to be replaced with one of these: bugs, feature-requests, pr-reviews, test-failures, proposals

Discussion:
i.Images[test.originalImage.name].Username = test.originalImage.username i.Images[test.originalImage.name].Uid = test.originalImage.uid <del> uid, username, error := m.getImageUser(test.originalImage.name) assert.NoError(t, error, "TestCase[%d]", j) </del> <ins> uid, username, err := m.getImageUser(test.originalImage.name) assert.NoError(t, err, "TestCase[%d]", j) </ins> if test.expectedImageUserValues.uid == (*int64)(nil) { assert.Equal(t, test.expectedImageUserValues.uid, uid, "TestCase[%d]", j)

sc := &schedulerConfigurator{ // policyfile and algorithm are intentionally undefined. } <del> _, error := sc.Create() if error == nil { </del> <ins> _, err := sc.Create() if err == nil { </ins> t.Fatalf("Expected error message when creating with incomplete configurator.") } }

} func TestHumanReadableFitError(t *testing.T) { <del> error := &FitError{ </del> <ins> err := &FitError{ </ins> Pod: &v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "2"}}, FailedPredicates: FailedPredicateMap{ "1": []algorithm.PredicateFailureReason{algorithmpredicates.ErrNodeUnderMemoryPressure},

"3": []algorithm.PredicateFailureReason{algorithmpredicates.ErrNodeUnderDiskPressure}, }, } <del> if strings.Contains(error.Error(), NoNodeAvailableMsg) { if strings.Contains(error.Error(), "NodeUnderDiskPressure (2)") && strings.Contains(error.Error(), "NodeUnderMemoryPressure (1)") { </del> <ins> if strings.Contains(err.Error(), NoNodeAvailableMsg) { if strings.Contains(err.Error(), "NodeUnderDiskPressure (2)") && strings.Contains(err.Error(), "NodeUnderMemoryPressure (1)") { </ins> return } } <del> t.Errorf("Error message doesn't have all the information content: [" + error.Error() + "]") </del> <ins> t.Errorf("Error message doesn't have all the information content: [" + err.Error() + "]") </ins> } // The point of this test is to show that you:
Change:
When detaching disk, if the volume status is already available, detach should return true instead of error.
/sig openstack
Related to

Discussion:
if err != nil { return "", err } <del> if volume.Status != VolumeAvailableStatus { errmsg := fmt.Sprintf("volume %s status is %s, not %s, can not be attached to instance %s.", volume.Name, volume.Status, VolumeAvailableStatus, instanceID) glog.Errorf(errmsg) return "", errors.New(errmsg) } </del> cClient, err := os.NewComputeV2() if err != nil { return "", err

if err != nil { return err } <ins> if volume.Status == VolumeAvailableStatus { // "available" is fine since that means the volume is detached from instance already. glog.V(2).Infof("volume: %s has been detached from compute: %s ", volume.ID, instanceID) return nil } </ins> if volume.Status != VolumeInUseStatus { errmsg := fmt.Sprintf("can not detach volume %s, its status is %s.", volume.Name, volume.Status) glog.Errorf(errmsg)
Change:
Cloud provider volume has a function DiskIsAttached to check whether the volume is still attached to the instance. If the instance is no longer exist (deleted by cloud provider), we can safely assume that the volume is no longer attached to the instance and return false without error for DiskIsAttached(). Currently GCE PD and AWS has the correct behavior, but all other volume plugins do not.
There are no sig labels on this issue. Please by: a sig: e.g., to notify the contributor experience sig, OR the label manually: e.g., to apply the label Note: Method 1 will trigger an email to the group. You can find the group list and label list . The in the method 1 has to be replaced with one of these: bugs, feature-requests, pr-reviews, test-failures, proposals
In order to be easier to review, I split it for every cloud provider.
cinder plugin (openstack, rackspace):
Anyone can merge this PR:?

Discussion:
} vmID, err := pc.InstanceID(nodeName) <ins> if err == cloudprovider.InstanceNotFound { glog.Infof("Instance %q does not exist, disk %s will be detached automatically.", nodeName, pdID) return false, nil } </ins> if err != nil { glog.Errorf("Photon Cloud Provider: pc.InstanceID failed for DiskIsAttached. Error[%v]", err) return false, err

} vmID, err := pc.InstanceID(nodeName) <ins> if err == cloudprovider.InstanceNotFound { glog.Infof("Instance %q does not exist, its disks will be detached automatically.", nodeName) // make all the disks as detached. return attached, nil } </ins> if err != nil { glog.Errorf("Photon Cloud Provider: pc.InstanceID failed for DiskIsAttached. Error[%v]", err) return attached, err
Change:
/kind bug What happened: After k8s master started rsyncing directory, causing hundreds of megabytes to be transferred, making some workflows that utilize remote docker engines impractical. E.g. I use which can start docker-in-docker test cluster on the same remote docker where k8s is built, and currently my Internet connection can only give me about 1 Mb/s, so ~430Mb transfer caused by .git is impractical. What you expected to happen: is ignored as before, unless it's needed by the current script. In case is about to be ed, a warning needs to be printed. How to reproduce it (as minimally and precisely as possible): Just run . Doing so against a remote docker over slow(ish) Internet connection will make the behavior apparent. Anything else we need to know?: For now perhaps only script needs to rsync IIUC (see ). Environment: Kubernetes version (use ): I'll work on this issue.
There are no sig labels on this issue. Please by: a sig: e.g., to notify the contributor experience sig, OR the label manually: e.g., to apply the label Note: Method 1 will trigger an email to the group. You can find the group list and label list . The in the method 1 has to be replaced with one of these: bugs, feature-requests, pr-reviews, test-failures, proposals
/sig contributor-experience /area build-release
/assign Feel free to ping for review when you have a PR :)

Discussion:
# they will not be re-generated by 'make'. kube::build::rsync  --delete  <ins> --filter='- /.git/'  </ins> --filter='- /.make/'  --filter='- /_tmp/'  --filter='- /_output/'  --filter='- /'  <ins> --filter='- zz_generated.*'  --filter='- generated.proto'  </ins> "${KUBE_ROOT}/" "rsync://k8s@${KUBE_RSYNC_ADDR}/k8s/" kube::build::stop_rsyncd_container

fi } <ins> # Create a fake git repo for staging to prevent godeps from complaining pushd "${KUBE_ROOT}" >/dev/null git init >/dev/null git config --local user.email "nobody@k8s.io" git config --local user.name "$0" git add . >/dev/null git commit -q -m "Snapshot" >/dev/null popd >/dev/null </ins> # move into staging and save the dependencies for everything in order mkdir -p "${TMP_GOPATH}/src/k8s.io" for repo in $(ls ${KUBE_ROOT}/staging/src/k8s.io); do