jiebi/CodeConvo huggingface dataset:
Change:
// GetNodesToUpdateStatusFor returns the map of nodeNames to nodeToUpdateStatusFor GetNodesToUpdateStatusFor() map[types.NodeName]nodeToUpdateStatusFor <del> // Removes the given node from the record of attach updates. The node's entire // volumesToReportAsAttached list is removed. RemoveNodeFromAttachUpdates(nodeName types.NodeName) error </del> } // AttachedVolume represents a volume that is attached to a node.

Discussion:
<!-- 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?: bug /kind bug What happened: Deployment running with read-only GCE PD. A node containing one of the deployment pods is deleted and recreated soon after. New pod is scheduled to the same node, but is stuck in ContainerCreating state. The node's kubelet logs show continuous "Volume is not yet attached according to node" errors. What you expected to happen: Pod recreated successfully. Anything else we need to know?: Cause by PR The issue happens as follows: When the node is deleted, GCE PD is detached from the cloud provider. AttachDetachController discovers the PD has been detached, and marks it as detached. The original pod still exists in the API server (i.e. before garbage collection), so AttachDetachController reattaches the PD, successfully. Before the node recovers, ADC tries to update the node status but finds that the node doesn't exist. Following the logic introduced in it never attempts to update the node status again. The node recovers, a new pod is scheduled to it, waits for a successful attach signal in the node status but never gets it. /cc /sig storage
/assign
Change:
// CountIntolerableTaintsPreferNoSchedule gives the count of intolerable taints of a pod with effect PreferNoSchedule func countIntolerableTaintsPreferNoSchedule(taints []v1.Taint, tolerations []v1.Toleration) (intolerableTaints int) { <del> for i := range taints { taint := &taints[i] </del> <ins> for _, taint := range taints { </ins> // check only on taints that have effect PreferNoSchedule if taint.Effect != v1.TaintEffectPreferNoSchedule { continue } <del> if !v1.TolerationsTolerateTaint(tolerations, taint) { </del> <ins> if !v1.TolerationsTolerateTaint(tolerations, &taint) { </ins> intolerableTaints++ } } return } <del> // getAllTolerationEffectPreferNoSchedule gets the list of all Toleration with Effect PreferNoSchedule </del> <ins> // getAllTolerationEffectPreferNoSchedule gets the list of all Tolerations with Effect PreferNoSchedule or with no effect. </ins> func getAllTolerationPreferNoSchedule(tolerations []v1.Toleration) (tolerationList []v1.Toleration) { <del> for i := range tolerations { toleration := &tolerations[i] </del> <ins> for _, toleration := range tolerations { // Empty effect means all effects which includes PreferNoSchedule, so we need to collect it as well. </ins> if len(toleration.Effect) == 0 || toleration.Effect == v1.TaintEffectPreferNoSchedule { <del> tolerationList = append(tolerationList, *toleration) </del> <ins> tolerationList = append(tolerationList, toleration) </ins> } } return } <del> func getTolerationListFromPod(pod *v1.Pod) ([]v1.Toleration, error) { return getAllTolerationPreferNoSchedule(pod.Spec.Tolerations), nil } </del> // ComputeTaintTolerationPriority prepares the priority list for all the nodes based on the number of intolerable taints on the node func ComputeTaintTolerationPriorityMap(pod *v1.Pod, meta interface{}, nodeInfo *schedulercache.NodeInfo) (schedulerapi.HostPriority, error) { node := nodeInfo.Node() if node == nil { return schedulerapi.HostPriority{}, fmt.Errorf("node not found") } <del> var tolerationList []v1.Toleration </del> <ins> // To hold all the tolerations with Effect PreferNoSchedule var tolerationsPreferNoSchedule []v1.Toleration </ins> if priorityMeta, ok := meta.(*priorityMetadata); ok { <del> tolerationList = priorityMeta.podTolerations </del> <ins> tolerationsPreferNoSchedule = priorityMeta.podTolerations </ins> } else { <del> var err error tolerationList, err = getTolerationListFromPod(pod) if err != nil { return schedulerapi.HostPriority{}, err } </del> <ins> tolerationsPreferNoSchedule = getAllTolerationPreferNoSchedule(pod.Spec.Tolerations) </ins> } return schedulerapi.HostPriority{ Host:  node.Name, <del> Score: countIntolerableTaintsPreferNoSchedule(node.Spec.Taints, tolerationList), </del> <ins> Score: countIntolerableTaintsPreferNoSchedule(node.Spec.Taints, tolerationsPreferNoSchedule), </ins> }, nil }

Discussion:
Kubernetes version (use kubectl version): master What happened: Unnecessary always nil return value for function getTolerationListFromPod. What you expected to happen: We need to remove error return value for getTolerationListFromPod function.
/cc
cc
Change:
// TODO: expose same flags as client.BindClientConfigFlags but for a server clientConfig := &client.Config{ <del> Host:    net.JoinHostPort(s.Address.String(), strconv.Itoa(int(s.Port))), </del> <ins> Host:    net.JoinHostPort(s.Address.String(), strconv.Itoa(s.WideOpenPort)), </ins> Version: s.StorageVersion, } client, err := client.New(clientConfig)

Discussion:
Trying to hit the read-write kubernetes service from inside a cluster does not work. tailing the kube-proxy logs shows: And sure enough, kube-apiserver is not listening on the NIC on that port. 8080 is only for the localhost HTTP communications between master components (and nginx redirect after HTTPS termination). The "kubernetes" master service needs to get created with Port set to 443.
+1
This needs to be port 6443 the auth_port On Feb 6, 2015 10:14 AM, "Paulo Pires" wrote:
The code says 8443, but then a flag changes to 6443. Will fix. , Eric Tune wrote:
Holy macaroni this is a mess. , Tim Hockin wrote:
Change:
- name: vol containers: - name: pv-recycler <del> image: k8s.gcr.io/busybox:1.27 </del> <ins> image: k8s.gcr.io/debian-base:v2.0.0 </ins> command: - /bin/sh args:

Discussion:
Noticed this issue when looking at logs to figure out which images we use in a e2e test and from where. for example: Looks like it is from here:
This issue is currently awaiting triage. If a SIG or subproject determines this is a relevant issue, they will accept it by applying the label and provide further guidance. The label can be by org members by writing in a comment. <detailsInstructions 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
/assign /sig storage cc
see background in and
slack discussion -
Looks like we can switch to see below:
looks like this image supports all the arch(es) we care about as well: !
Change:
HardPodAffinitySymmetricWeight: pointer.Int32Ptr(1), HealthzBindAddress:             pointer.StringPtr("1.2.3.4:10251"), MetricsBindAddress:             pointer.StringPtr("1.2.3.4:10251"), <ins> DebuggingConfiguration: componentbaseconfig.DebuggingConfiguration{ EnableProfiling:           &enable, EnableContentionProfiling: &enable, }, </ins> LeaderElection: kubeschedulerconfigv1alpha1.KubeSchedulerLeaderElectionConfiguration{ LeaderElectionConfiguration: componentbaseconfig.LeaderElectionConfiguration{ LeaderElect:       pointer.BoolPtr(true),

Discussion:
What would you like to be : Enable profiling by default in the scheduler. We can do this by defaulting the CC flags to true. Why is this needed: It is useful when debugging the performance of a running cluster. API server already enables profiling by default. /sig scheduling /help /milestone v1.17
/assign /remove-help
Change:
for i := range uss.clients { fsName := fmt.Sprintf("client%d", i) if atomic.AddInt32(&uss.executions[i], 0) > 0 { <del> uss.expectedExecuting = uss.expectedExecuting + fmt.Sprintf(`				apiserver_flowcontrol_current_executing_requests{flowSchema=%q,priorityLevel=%q} 0%s`, fsName, uss.name, "n") </del> <ins> uss.expectedExecuting = uss.expectedExecuting + fmt.Sprintf(`				apiserver_flowcontrol_current_executing_requests{flow_schema=%q,priority_level=%q} 0%s`, fsName, uss.name, "n") </ins> } if atomic.AddInt32(&uss.rejects[i], 0) > 0 { <del> expectedRejects = expectedRejects + fmt.Sprintf(`				apiserver_flowcontrol_rejected_requests_total{flowSchema=%q,priorityLevel=%q,reason=%q} %d%s`, fsName, uss.name, uss.rejectReason, uss.rejects[i], "n") </del> <ins> expectedRejects = expectedRejects + fmt.Sprintf(`				apiserver_flowcontrol_rejected_requests_total{flow_schema=%q,priority_level=%q,reason=%q} %d%s`, fsName, uss.name, uss.rejectReason, uss.rejects[i], "n") </ins> } } if uss.evalExecutingMetrics && len(uss.expectedExecuting) > 0 {

Discussion:
<!-- Please only use this template for submitting enhancement requests --What would you like to be : API priority and fairness metrics have labels such as "priorityLevel" and "flowSchema". These should be "prioritylevel" and "flowschema" respectively. These metrics have been to an exception list: Why is this needed: snake_case is consistent with other metrics. /sig api-machinery /kind cleanup /cc Do we want to do this before 1.20 beta?
yes, lets do that.
/triage accepted Yes, we do not want to go to beta with known wrongness in the metrics.
Change:
var localStorageVersion = utilversion.MustParseSemantic("v1.8.0-beta.0") <del> // variable set in BeforeEach, never modified afterwards var workerNodes sets.String </del> <ins> // variable populated in BeforeEach, never modified afterwards var workerNodes = sets.String{} </ins> type pausePodConfig struct { Name                              string

Discussion:
Which jobs are failing: Which test(s) are failing: [sig-scheduling] SchedulerPredicates [Serial] validates that NodeSelector is respected if matching [Conformance] [sig-scheduling] SchedulerPredicates [Serial] validates that NodeSelector is respected if not matching [Conformance] [sig-scheduling] SchedulerPredicates [Serial] validates that there exists conflict between pods with same hostPort and protocol but one using 0.0.0.0 hostIP [Conformance] [sig-scheduling] SchedulerPredicates [Serial] validates that there is no conflict between pods with same hostPort but different hostIP and protocol [Conformance] [sig-scheduling] SchedulerPreemption [Serial] PreemptionExecutionPath runs ReplicaSets to verify preemption running path [Conformance] [sig-scheduling] SchedulerPreemption [Serial] validates basic preemption works [Conformance] [sig-scheduling] SchedulerPreemption [Serial] validates lower priority pod preemption by critical pod [Conformance] Since when has it been failing: Testgrid link: Reason for failure: Test Panicked (0x0, 0xc001406da8, 0x1, 0x1, 0x0) +0x78 () +0x4e2 (0xc000e79e60) +0x35b (0xc000e79e60) +0x2b testing.tRunner(0xc000e79e60, 0x4c616e0) +0xdc created by testing.(*T).Run +0x357 Anything else we need to know: /sig scheduling /cc /priority critical-urgent /milestone v1.19
/retitle [Failing test] Conformance - GCE- master (ci-kubernetes-gce-conformance-latest) I am landing a fix for this now /assign
Thanks !
Change:
v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" <ins> utilruntime "k8s.io/apimachinery/pkg/util/runtime" </ins> "k8s.io/apimachinery/pkg/util/wait" "k8s.io/client-go/informers" coreinformers "k8s.io/client-go/informers/core/v1"

Discussion:
Currently the scheduler may add an assumed pod back to the queue if the update didn't include specific fields (see ). There doesn't seem to be a reason why we can't simply ignore all updates of assumed pods. Assumed pods are waiting to be bound, if binding succeeded then the pod is scheduled. If binding fails, the pod's latest version will be put back into the unschedulable queue anyways. Performance: we save on unnecessary scheduling attempts. This is a followup on the discussion we had in /sig scheduling /triage accepted /help
This request has been marked as needing help from a contributor. Please ensure the request meets the requirements listed . If this request no longer meets these requirements, the label can be removed by commenting with the command. <detailsIn response to : #### What would you like to be : /triage accepted /help 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
What we basically need to do is: 1) remove function 2) in the places where we call , we should simply call
/assign
Change:
defer cancel() // Invalidate the cache right after updating <del> if err = ss.deleteCacheForNode(vmName); err != nil { return err } </del> <ins> defer ss.deleteCacheForNode(vmName) </ins> klog.V(2).Infof("azureDisk - update(%s): vm(%s) - attach disk(%s, %s) with DiskEncryptionSetID(%s)", nodeResourceGroup, nodeName, diskName, diskURI, diskEncryptionSetID) _, err = ss.VirtualMachineScaleSetVMsClient.Update(ctx, nodeResourceGroup, ssName, instanceID, newVM, "attach_disk")

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: vmss dirty cache issue, caused by What you expected to happen: clean vmss cache should happen after disk attach/detach operation, now it's before those operations, which would lead to dirty cache. 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: ): Kernel (e.g. ): Install tools: Network plugin and version (if this is a network-related bug): Others: /kind bug /assign /priority important-soon /sig cloud-provider /area provider/azure
Change:
"//pkg/scheduler/framework/plugins/nodepreferavoidpods:all-srcs", "//pkg/scheduler/framework/plugins/noderesources:all-srcs", "//pkg/scheduler/framework/plugins/nodevolumelimits:all-srcs", <ins> "//pkg/scheduler/framework/plugins/podtopologyspread:all-srcs", </ins> "//pkg/scheduler/framework/plugins/tainttoleration:all-srcs", "//pkg/scheduler/framework/plugins/volumebinding:all-srcs", "//pkg/scheduler/framework/plugins/volumerestrictions:all-srcs",

Discussion:
What would you like to be : Add a filter plugin that calls into EvenPodsSpread predicate, example Why is this needed: Part of /sig scheduling /help /priority important-soon
/assign
/remove-help
/retitle: [migration phase 1] EvenPodsSpread as filter plugin
/retitle [migration phase 1] EvenPodsSpread as filter plugin
/assign /unassign
May I take over this?
is going to take this over after the offline discussion, and he is familiar with EvenPodsSpread
IC, thanks a lot.
Change:
} versionPath := pkgPath(group, version) <del> generator := pkg_runtime.NewConversionGenerator(api.Scheme.Raw(), versionPath) </del> <ins> generator := kruntime.NewConversionGenerator(api.Scheme.Raw(), versionPath) </ins> apiShort := generator.AddImport(path.Join(pkgBase, "api")) generator.AddImport(path.Join(pkgBase, "api/resource")) // TODO(wojtek-t): Change the overwrites to a flag.

Discussion:
Forked from pointed out that all package names should be lower case, no under_scores or mixedCaps. The same rule applies to renaming imported packages. () generated a list of mixedCaps package names in our codebase: I will upload a PR later to rename kubeletTypes to kubetypes, and the rest is up for grabs.
sorry i have not saw this issue as i open a similar one(), do you mind i participate in this issue? i would happy to do some work for this. best regards.
of course, fixes are welcome. Thanks for picking up on this! We'll try to expedite the review and merge process of such PRs to avoid a lot of churns, but chances are that some rebases are needed :)
ok, i will send some fix sonner, and tag you for review. thanks again.
Not done:
Change:
// In general, please try to avoid adding flags or configuration fields, // we already have a confusingly large amount of them. type KubeletFlags struct { <del> KubeConfig          flag.StringFlag </del> <ins> KubeConfig          string </ins> BootstrapKubeconfig string RotateCertificates  bool

Discussion:
This will be the end of the deprecation period for --require-kubeconfig.
There are no sig labels on this issue. Please by:<br(1) mentioning a sig: <br(2) specifying the label manually: <br<brNote: method (1) will trigger a notification to the team. You can find the team list .
ref
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
Change:
resizeOptions.DeviceStagePath = deviceMountPath } <ins> if volumeDeviceMounter != nil && resizeOptions.DeviceStagePath == "" { deviceStagePath, err := volumeDeviceMounter.GetDeviceMountPath(volumeToMount.VolumeSpec) if err != nil { // On failure, return error. Caller will log and retry. eventErr, detailedErr := volumeToMount.GenerateError("MountVolume.GetDeviceMountPath failed for expansion", err) return volumetypes.NewOperationContext(eventErr, detailedErr, migrated) } resizeOptions.DeviceStagePath = deviceStagePath } </ins> // No mapping is needed for hostUID/hostGID if userns is not used. // Therefore, just assign the container users to host UID/GID. hostUID := util.FsUserFrom(volumeToMount.Pod)

Discussion:
When a pod is quickly deleted and re-created on a node, it may not be necessary to unstage the volume and in which case only node-publish is called for the volume. When this happens - stagepath won't be set for RPC call because volume was not staged even though, volume does have capability. We should try and fix this behaviour so that - nodestagepath is always set in RPC call. We should try and fix this behaviour so that - nodestagepath is always set in RPC call. Quickly delete and recreate a pod No response master Any No response_ <details</details<details</details<details</details
/sig storage /triage accepted
Change:
return "unknown" } <ins> // lazyAPIGroup implements String() string and it will // lazily get Group from request info. type lazyAPIGroup struct { req *http.Request } func (lazy *lazyAPIGroup) String() string { if lazy.req != nil { ctx := lazy.req.Context() requestInfo, ok := apirequest.RequestInfoFrom(ctx) if ok { return requestInfo.APIGroup } } return "unknown" } // lazyAPIVersion implements String() string and it will // lazily get Group from request info. type lazyAPIVersion struct { req *http.Request } func (lazy *lazyAPIVersion) String() string { if lazy.req != nil { ctx := lazy.req.Context() requestInfo, ok := apirequest.RequestInfoFrom(ctx) if ok { return requestInfo.APIVersion } } return "unknown" } // lazyName implements String() string and it will // lazily get Group from request info. type lazyName struct { req *http.Request } func (lazy *lazyName) String() string { if lazy.req != nil { ctx := lazy.req.Context() requestInfo, ok := apirequest.RequestInfoFrom(ctx) if ok { return requestInfo.Name } } return "unknown" } // lazySubresource implements String() string and it will // lazily get Group from request info. type lazySubresource struct { req *http.Request } func (lazy *lazySubresource) String() string { if lazy.req != nil { ctx := lazy.req.Context() requestInfo, ok := apirequest.RequestInfoFrom(ctx) if ok { return requestInfo.Subresource } } return "unknown" } // lazyNamespace implements String() string and it will // lazily get Group from request info. type lazyNamespace struct { req *http.Request } func (lazy *lazyNamespace) String() string { if lazy.req != nil { ctx := lazy.req.Context() requestInfo, ok := apirequest.RequestInfoFrom(ctx) if ok { return requestInfo.Namespace } } return "unknown" } </ins> // lazyAuditID implements Stringer interface to lazily retrieve // the audit ID associated with the request. type lazyAuditID struct {

Discussion:
Feedback originally provided on slack: It would be helpful to have additional fields on APIServer spans. This is the current set of attributes we provide: It would be helpful to add: group, version, namespace, name, and subresource, if possible. Part of
/sig instrumentation /sig apimachinery /priority important-longterm cc /triage accepted
The label(s) cannot be applied, because the repository doesn't have them. <detailsIn response to : /sig instrumentation /sig apimachinery /priority important-longterm cc /triage accepted Instructions for interacting with me using PR comments are available . If you have questions or suggestions related to my behavior, please file an issue against the repository. </details
/sig api-machinery
/assign
Change:
if [[ "${KUBE_PROMPT_FOR_UPDATE}" == "y" ]]; then echo "Can't find gcloud in PATH.  Do you wish to install the Google Cloud SDK? [Y/n]" read resp <del> else resp="y" </del> fi if [[ "${resp}" != "n" && "${resp}" != "N" ]]; then curl https://sdk.cloud.google.com | bash

Discussion:
<!-- Thanks for filing an issue! Before hitting the button, please answer these questions.--Is this a request for help? (If yes, you should use our troubleshooting guide and community support channels, see ): What keywords did you search in Kubernetes issues before filing this one? (If you have found any duplicates, you should instead reply there.): Is this a BUG REPORT or FEATURE REQUEST? (choose one): FEATURE REQUEST <!-- If this is a BUG REPORT, please: Fill in as much of the template below as you can. If you leave out information, we can't help you as well. If this is a FEATURE REQUEST, please: Describe in detail the feature/behavior/change you'd like to see. In both cases, be ready for followup questions, and please respond in a timely manner. If we can't reproduce a bug or think a feature already exists, we might close your issue. If we're wrong, PLEASE feel free to reopen it and explain why. --Kubernetes version (use ): all :smile: Environment: Cloud provider or hardware configuration: GCE OS (e.g. from /etc/os-release): all Kernel (e.g. ): all Install tools: Others: What happened: uses the cli a lot and does a (in the commonly used function ) before doing things like . updates can introduce breaking changes (for example in the recent 132.0.0 release it removed a bunch of flags). This has caused cross-the-board test failures like . But this is not limited to just tests. Any kubernetes GCE users who rely on the and commands could have been broken. What you expected to happen: Stop updating gcloud automatically. We could either warn user to have the required dependencies installed, or pin to specific versions of dependencies like gcloud. How to reproduce it (as minimally and precisely as possible): download 1.4.4 release tarball run and Anything else do we need to know:
cc
/cc
cc I think it's reasonable to remove gcloud update calls from scripts, as I believe gcloud is updated out of band by k8s continuous testing. The scripts will still need to work with latest, so maybe they should check for a minimum version.
Good idea.
Yeah, we definitely want to continue using latest in CI so that we know if things break, but I think it's reasonable to remove the update itself from the kubernetes cluster util scripts.
Change:
Create a LoadBalancer service with the specified name.`) serviceLoadBalancerExample = templates.Examples(` <del> # Create a new nodeport service named my-lbs </del> <ins> # Create a new LoadBalancer service named my-lbs </ins> kubectl create service loadbalancer my-lbs --tcp=5678:8080`) )

Discussion:
kubectl create service loadbalancer --help Create a LoadBalancer service with the specified name. Examples: # Create a new nodeport service named my-lbs kubectl create service loadbalancer my-lbs --tcp=5678:8080 $ kubectl version Client Version: version.Info{Major:"1", Minor:"4", GitVersion:"v1.4.0", GitCommit:"", GitTreeState:"clean", BuildDate:"2016-09-26T18:16:57Z", GoVersion:"go1.6.3", Compiler:"gc", Platform:"darwin/amd64"} Server Version: version.Info{Major:"1", Minor:"4", GitVersion:"v1.4.3", GitCommit:"", GitTreeState:"clean", BuildDate:"2016-10-16T06:20:04Z", GoVersion:"go1.6.3", Compiler:"gc", Platform:"linux/amd64"}