jiebi/CodeConvo huggingface dataset:
Change:
"//staging/src/k8s.io/client-go/informers:go_default_library", "//staging/src/k8s.io/client-go/kubernetes/fake:go_default_library", "//staging/src/k8s.io/cloud-provider:go_default_library", <ins> "//vendor/github.com/vmware/govmomi:go_default_library", </ins> "//vendor/github.com/vmware/govmomi/lookup/simulator:go_default_library", "//vendor/github.com/vmware/govmomi/property:go_default_library", "//vendor/github.com/vmware/govmomi/simulator:go_default_library",

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!--What happened: Provsioning a PVC using a storage class with vSphere as the cloud provider failed with error "runtime error: index out of range". What you expected to happen: The PVC should have been created. How to reproduce it (as minimally and precisely as possible): Create a PVC using a storage class with vSphere as the cloud provider and a VMware vCenter Server where the default language is not English. Anything else we need to know?: K8s in conjunction with vSphere PVC relies on English error messages from the VMware API in order to determine the canonical path for a newly created volume (VMDK file). The faulting code (v1.11.3, still the same on master) can be found here (starting at line 312): The line "canonicalVolumePath = match[1]" (340) in the above code is the problem because "File (.*?) was not found" (English) never matches for a different language (e.g. German: "Datei [DATASTORE] kubevols/kube- wurde nicht gefunden") and a “runtime error: index out of range” oocurs in the "kube-controller-manager". This causes the already created volume (VMDK file) not to be reported back to the K8s system which in turn will try to recreate it repeatedly in a loop (fails with "Cannot complete the operation because the file or folder [DATASTORE] /kubevols/kubernetes-dynamic-pvc-[UUID] already exists"). Find below the corresponding log excerpt (kube-controller-manager): Environment: Kubernetes version (use ):Cloud provider or hardware configuration: vSphere OS (e.g. from /etc/os-release): n/a Kernel (e.g. ): n/a Install tools: n/a Others: n/a <!-- DO NOT EDIT BELOW THIS LINE --/kind bug
/assign
Change:
creationTimestamp: null labels: kubernetes.io/bootstrapping: rbac-defaults <ins> name: system:aws-cloud-provider rules: - apiGroups: - "" resources: - nodes verbs: - get - patch - apiGroups: - "" resources: - events verbs: - create - patch - update - apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: rbac.authorization.kubernetes.io/autoupdate: "true" creationTimestamp: null labels: kubernetes.io/bootstrapping: rbac-defaults </ins> name: system:basic-user rules: - apiGroups:

Discussion:
Recently introduced fix of tainting the node if EBS volume on a node is stuck for too long in "attaching" state does not work on RBAC enabled clusters because of missing service account permissions. /sig storage /sig aws
Change:
// Config holds the information needed to build connect to remote kubernetes clusters as a given user type Config struct { <del> api.TypeMeta `json:",inline"` </del> <ins> // Legacy field from pkg/api/types.go TypeMeta. // TODO(jlowdermilk): remove this after eliminating downstream dependencies. Kind string `json:"kind,omitempty"` // Version of the schema for this config object. APIVersion string `json:"apiVersion,omitempty"` </ins> // Preferences holds general information to be use for cli interactions Preferences Preferences `json:"preferences"` // Clusters is a map of referencable names to cluster configs

Discussion:
has a dependency on pkg/api for , which it embeds in . Is it doing that to take advantage of validation code, or can Config just declare and directly and avoid the dependency?
A quick try (just declaring a in the package) seems to work fine with . I only included those out of habit.
Out of curiosity, is this just for a proper separate of packages or is there some functional issue as well?
mentioned encountering an issue with tests, but it's mostly just for proper separation of packages.
Related: Remove json tags from
See also
Not done:
Change:
exit 1 fi <ins> do_backup_clean </ins> # use an array to record name and ip declare -A mm

Discussion:
I used the ubuntu-cluster setup scripts to build a mini testing environment. The first time I inputted a wrong config and when I reconfigured the environment by running the scripts again an error occured. I looked into the code and found the scripts hadn't deal with old configs. And of kube-proxy configs are not replaced.
Looks like this was fixed by .
Change:
sync.Mutex input   chan watchCacheEvent result  chan watch.Event <ins> done    chan struct{} </ins> filter  watchFilterFunc stopped bool forget  func(bool)

Discussion:
We noticed many goroutines stalled at in a large cluster (~200 nodes, ~1100 pods). It's because if the WatchServer timeout when the channel is full, will be blocked on the write to the even though is , because WatchServer stops consuming the channel after the timeout.
Great finding - thanks for debugging
Change:
--query Reservations[].Instances[].NetworkInterfaces[0].Association.PublicIp } <ins> function get_instance_private_ip { local instance_id=$1 $AWS_CMD --output text describe-instances  --instance-ids ${instance_id}  --query Reservations[].Instances[].NetworkInterfaces[0].PrivateIpAddress } </ins> # Gets a security group id, by name ($1) function get_security_group_id { local name=$1

Discussion:
When you run the "Cluster / " error below line 182: getinstanceprivate_ip: command not found i add the function in cluster/aws/util.s
, André Ribeiro de Miranda < :
any chance you can send a PR? Thanks! --brendan
Actually, let me send a PR. This should just be reversing a delete I made (in error).
if you do want to put together a PR we can of course use that instead, but I deleted this by mistake so I have created a PR to fix my mistake.
Believe also need to change the function check-minion. To make a "ssh forward" by the master. More has the following comment which makes check-minion in the file " 54" I would make this change the "ssh foward" did not do more because of that comment above Thanks
When I am running: export KUBERNETESPROVIDER=aws; wget -q -O - | bash with ENABLENODEPUBLICIP all works fine and the cluster is up, though when running with KUBEENABLENODEPUBLICIP = 0, the cluster won't go up. why the public ip's are needed for the nodes? isn't the VPC good enough? Thanks.
Change:
options = append(options, "ro") } <del> l := len(b.hosts.Subsets) </del> <ins> p := path.Join(b.glusterfs.plugin.host.GetPluginDir(glusterfsPluginName), b.glusterfs.volName) if err := os.MkdirAll(p, 0750); err != nil { return err } log := path.Join(p, "glusterfs.log") options = append(options, "log-file="+log) addr := make(map[string]struct{}) for _, s := range b.hosts.Subsets { for _, a := range s.Addresses { addr[a.IP] = struct{}{} } } </ins> // Avoid mount storm, pick a host randomly. <del> start := rand.Int() % l </del> // Iterate all hosts until mount succeeds. <del> for i := start; i < start+l; i++ { hostIP := b.hosts.Subsets[i%l].Addresses[0].IP </del> <ins> for hostIP := range addr { </ins> errs = b.mounter.Mount(hostIP+":"+b.path, dir, "glusterfs", options) if errs == nil { return nil

Discussion:
<!-- Please only use this template for submitting reports about failing tests in Kubernetes CI jobs --Which jobs are failing: pull-kubernetes-e2e-aks-engine-azure Which test(s) are failing: Since when has it been failing: Testgrid link: No Testgrid, but job history: Reason for failure: Anything else we need to know: ref:
/assign cc: /milestone v1.16 /priority important-soon
/sig azure
cc
Related with
Update: has been merged, but a new release with this change is not available yet. Pending on aks-engine's next release.
/sig cloud-provider
v1.16.0-alpha.1 is available in
Will submit a PR after testing this in our own prow first.
Change:
- name: kube-dns-config mountPath: /etc/k8s/dns/dnsmasq-nanny - name: sidecar <del> image: gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.2 </del> <ins> image: gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.3 </ins> livenessProbe: httpGet: path: /metrics

Discussion:
A number of addon images have CVEs that have been fixed in the upstream base images. We should update these images before the final 1.7 release. cc
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 and label list
/cc
cc
The new image appears to have removed . I'm not sure if this was expected, but it caused at least fluentd to stop working on COS (). This might also affect kubeproxy, which uses (a derivative of ).
also the metadata-proxy, prometheus-to-sd, the fluentd-event-exporter, and ip-masq-agent.
anything more to do for this issue?
yes, I need to get merged and update those images again. I also need to bump a few other images (dns and ip-masq-agent).
should be the last update needed.
Change:
// SwaggerSchemaInterface has a method to retrieve the swagger schema. Used in // client.Interface type SwaggerSchemaInterface interface { <del> SwaggerSchema(version string) (*swagger.ApiDeclaration, error) </del> <ins> SwaggerSchema(groupVersion string) (*swagger.ApiDeclaration, error) </ins> } // SwaggerSchema retrieves and parses the swagger API schema the server supports. <del> func (c *Client) SwaggerSchema(version string) (*swagger.ApiDeclaration, error) { if version == "" { version = latest.GroupOrDie("").Version </del> <ins> func (c *Client) SwaggerSchema(groupVersion string) (*swagger.ApiDeclaration, error) { if groupVersion == "" { return nil, fmt.Errorf("groupVersion cannot be empty") </ins> } <del> vers, err := c.ServerAPIVersions() </del> <ins> groupList, err := c.Discovery().ServerGroups() </ins> if err != nil { return nil, err } <ins> groupVersions := extractGroupVersions(groupList) </ins> // This check also takes care the case that kubectl is newer than the running endpoint <del> if stringDoesntExistIn(version, vers.Versions) { return nil, fmt.Errorf("API version: %s is not supported by the server. Use one of: %v", version, vers.Versions) </del> <ins> if stringDoesntExistIn(groupVersion, groupVersions) { return nil, fmt.Errorf("API version: %s is not supported by the server. Use one of: %v", groupVersion, groupVersions) } var path string if groupVersion == "v1" { path = "/swaggerapi/api/" + groupVersion } else { path = "/swaggerapi/apis/" + groupVersion </ins> } <del> body, err := c.Get().AbsPath("/swaggerapi/api/" + version).Do().Raw() </del> <ins> body, err := c.Get().AbsPath(path).Do().Raw() </ins> if err != nil { return nil, err }

Discussion:
It would be nice if let me explain experimental resources to aid users ability to experiment.
It's possible this works today, but it was non-obvious how to use. Attempts:
cc
cc
No, this isn't supported, since current implementation only use v1 Client but not experimental Client.
do we need to fix this for 1.1?
How difficult do you think it would be to fix?
It has dependency on ServerAPIVersions(), for which we plan to make a clean-up PR. I guess it needs 3-4 days to get two PRs merged.
With , this can be fixed now. What's the expected behavior of ? I assume in case of , it should search hpa in both v1 and extensions/v1bata1, and determines hpa as a resource in the extensions group? BTW, the use of "api-version" flag is problematic It adds extra meaning to the generic "api-version" flag.
Change:
- selectorRegexp: k8s[.]io/kubernetes/pkg allowedPrefixes: - k8s.io/kubernetes/pkg/api/legacyscheme <ins> - k8s.io/kubernetes/pkg/apis/admission - k8s.io/kubernetes/pkg/apis/admission/install - k8s.io/kubernetes/pkg/apis/admission/v1 - k8s.io/kubernetes/pkg/apis/admission/v1beta1 - k8s.io/kubernetes/pkg/apis/admissionregistration - k8s.io/kubernetes/pkg/apis/admissionregistration/install - k8s.io/kubernetes/pkg/apis/admissionregistration/v1 - k8s.io/kubernetes/pkg/apis/admissionregistration/v1beta1 - k8s.io/kubernetes/pkg/apis/apiserverinternal - k8s.io/kubernetes/pkg/apis/apiserverinternal/fuzzer - k8s.io/kubernetes/pkg/apis/apiserverinternal/install - k8s.io/kubernetes/pkg/apis/apiserverinternal/v1alpha1 </ins> - k8s.io/kubernetes/pkg/apis/apps - k8s.io/kubernetes/pkg/apis/apps/install - k8s.io/kubernetes/pkg/apis/apps/v1

Discussion:
What happened: Tried to convert a v1beta1 Ingress object to v1, and received the following error: What you expected to happen: The conversion to work. How to reproduce it (as minimally and precisely as possible): Then run: /sig cli /assign
Can i work on this issue?
/assign
/triage accepted
Change:
var ns string var c clientset.Interface var aggrclient *aggregatorclient.Clientset <ins> // BeforeEachs run in LIFO order, AfterEachs run in FIFO order. // We want cleanTest to happen before the namespace cleanup AfterEach // inserted by NewDefaultFramework, so we put this AfterEach in front // of NewDefaultFramework. AfterEach(func() { cleanTest(c, aggrclient, ns) }) </ins> f := framework.NewDefaultFramework("aggregator") <ins> // We want namespace initialization BeforeEach inserted by // NewDefaultFramework to happen before this, so we put this BeforeEach // after NewDefaultFramework. </ins> BeforeEach(func() { c = f.ClientSet ns = f.Namespace.Name aggrclient = f.AggregatorClient }) <del> AfterEach(func() { cleanTest(c, aggrclient, ns) }) </del> It("Should be able to support the 1.7 Sample API Server using the current Aggregator", func() { // Make sure the relevant provider supports Agggregator framework.SkipUnlessServerVersionGTE(serverAggregatorVersion, f.ClientSet.Discovery())

Discussion:
helps but is not enough for the fix. After , I saw another failure: https://k8s- Before, all test after Aggregator test would fail. Now all tests before/after Aggregator tests are passing. However, during the Aggregator test waiting for namespace cleanup (10 min until timeout), all the other tests are failing. The reason is that, s run in LIFO order, s run in FIFO order. inserts an function to do namespace cleanup. In the current code, the namespace cleanup is inserted by before , it means that the test will try to delete namespace first, and then cleanup the api service. However, as known to us, if api service is not cleaned up, namespace deletion will wait forever.
Change:
cpuStats.UsageCoreNanoSeconds = &cstat.Cpu.Usage.Total } } <del> if info.Spec.HasMemory { </del> <ins> if info.Spec.HasMemory && cstat.Memory != nil { </ins> pageFaults := cstat.Memory.ContainerData.Pgfault majorPageFaults := cstat.Memory.ContainerData.Pgmajfault memoryStats = &statsapi.MemoryStats{

Discussion:
What happened: Kubelet had crashed one one of the heavily loaded instances in AWS EC2 cluster (r4.8xlarge). Logs show the following traceback: What you expected to happen: Kubelet not to crash. How to reproduce it (as minimally and precisely as possible): Reproduction unknown at this point. Anything else we need to know?: Environment: Kubernetes version (use ): Kubelet v.1.12.7; Control plane v.1.12.8 Cloud provider or hardware configuration: AWS/EC2 OS (e.g: ): CentOS Linux release 7.6.1810 (Core) Kernel (e.g. ): 5.0.4- (non-standard kernel) Install tools: Custom-made
/sig node
/assign
This seems like we don't check if Memory is not on latest stats
Nice debugging :)
Change:
Process: s.HandleDeltas, } <del> s.controller = New(cfg) </del> func() { s.startedLock.Lock() defer s.startedLock.Unlock() <ins> s.controller = New(cfg) </ins> s.started = true }()

Discussion:
Observed on but I don't think it's the pr. Similar to but I don't think I can dupe the stack traces.
Change:
"//test/e2e/framework/providers/azure:go_default_library", "//test/e2e/framework/providers/gce:go_default_library", "//test/e2e/framework/providers/kubemark:go_default_library", <ins> "//test/e2e/framework/providers/openstack:go_default_library", </ins> "//test/e2e/framework/testfiles:go_default_library", "//test/e2e/manifest:go_default_library", "//test/utils:go_default_library",

Discussion:
What happened: When specifying "openstack" as cloud-provider of e2e test, the test is failed like What you expected to happen: We can run e2e test with openstack cloud provider. How to reproduce it (as minimally and precisely as possible): Just kick the following command: ` Anything else we need to know?: This issue doesn't happen on v1.13, so this issue seems to happen during this dev cycle for v1.14. Environment: Kubernetes version (use ): master for v1.14 Cloud provider or hardware configuration: OpenStack OS (e.g: ): Ubuntu 16.04.5 LTS Kernel (e.g. ): 4.4.0-142-generic Install tools: kubeadm Others:
/sig openstack /sig testing
The exception raises at
The reason of this issue comes from
Ideally it is nice to put a new directory for registering the cloud provider.
/assign
I was wondering we could remove "openstack" provider specific tests and conditions from e2e tests, but there are storage tests which are related to OpenStack in e2e tests. So it is nice to add registration for OpenStack at this time.
Change:
var unsupportedErr = errors.New("cAdvisor is unsupported in this build") <ins> func (cu *cadvisorUnsupported) Start() error { return unsupportedErr } </ins> func (cu *cadvisorUnsupported) DockerContainer(name string, req *cadvisorApi.ContainerInfoRequest) (cadvisorApi.ContainerInfo, error) { return cadvisorApi.ContainerInfo{}, unsupportedErr }

Discussion:
This is blocking (reboot test). In running a test that reboots all of the nodes and then runs the e2e tests, we saw a failure with the influxdb / heapster monitoring test: The heapster logs, from running (), shows a ton of the following kubelet errors for all containers (this one happens to be for skydns): The shows a bunch of 500 errors, such as: However, the apiserver thinks that all the pods are running ( gives this ) Docker thinks that the pods are running ( on that node gives this ) In summary: apiserver and docker think containers are running but kubelet can't find them this manifested in the influxdb / heapster monitoring e2e test after node reboot I've still got the cluster around if anyone would like to debug. +cc (helped me debug this (thanks!)) +cc (node) +cc (interested in getting in, which this is blocking)
Can I access your test nodes?
Is this an active problem? I'd check if the cAdvisor thinks the containers exist (it is the one returning the error). I'd then scan the logs to see if cAdvisor had any errors related to that container.
Unfortunately during debugging, I restart kubelet service on that node, the issue is gone. The problem could be cadvisor cannot get stats, but I couldn't find any cadvisor related error messages. How easy to reproduce the issue here? Next time we might access cadvisor's page to see if there is no such container information. Thanks!
(and Thanks for looking into this! I believe I can reproduce easily but I'll confirm. Where do I look for cAdvisor info? I don't see a log in or , and I don't see a cAdvisor container running?
cAdvisor is running as part of kubelet now. If you can reproduce the issue, could you please change kubelet's log level to 4 so that we have more cadvisor log here? Thanks!
Yes! How do I do that?

I can reproduce this by doing the following: After this, I got two failures: ... and I have another node with more of the same kubelet errors: (If I need to change the Kubelet log level at compile-time I can do that and repro on a new cluster; otherwise, I've got another cluster with the issue that can be introspected...)
There is a race between cadvisor initialization and docker. cadvisor failed to register docker factory, and bailed out. is going to make cadvisor more resilient to the issue of docker is not available, and have some retry logic. I am going to change kubelet initialization logic a little bit to make sure docker is running before we start cadvisor.
Awesome, thank you Dawn! Are there issues or PRs I can follow to know when this is unblocked?
is one of them. is working on the second.
Change:
bindClusterRBACRoleToServiceAccount(ctx, f, s, "cluster-admin") installSteps := []string{ <del> "echo "@testing http://dl-cdn.alpinelinux.org/alpine/edge/testing/" >> /etc/apk/repositories", "&& apk add kubectl@testing gettext openssl", </del> <ins> "echo "@community http://dl-cdn.alpinelinux.org/alpine/edge/community/" >> /etc/apk/repositories", "&& apk add kubectl@community gettext openssl", </ins> "&& apk add --update coreutils", fmt.Sprintf("&& curl %s > gmsa.sh", gmsaWebhookDeployScriptURL), "&& chmod +x gmsa.sh",

Discussion:
[sig-windows] [Feature:Windows] GMSA Full [Serial] [Slow] GMSA support can read and write file to remote SMB folder [sig-windows] [Feature:Windows] GMSA Full [Serial] [Slow] GMSA support works end to end May 24 2022 I think it is related to these setup steps No response_ /sig windows
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
Change:
echo "!!! GNU sed is required.  If on OS X, use 'brew install gnu-sed'." fi <del> echo "+++ Versioning documentation and examples" # Update the docs to match this version. HTML_PREVIEW_PREFIX="https://htmlpreview.github.io/?https://github.com/GoogleCloudPlatform/kubernetes" md_dirs=(docs examples) md_files=() for dir in "${md_dirs[@]}"; do mdfiles+=($( find "${dir}" -name "*.md" -type f )) done for doc in "${mdfiles[@]}"; do $SED -ri  -e '/<!-- BEGIN STRIP_FOR_RELEASE -->/,/<!-- END STRIP_FOR_RELEASE -->/d'  -e "s|(releases.k8s.io)/[^/]+|1/${NEW_VERSION}|"  "${doc}" # Replace /HEAD in html preview links with /NEW_VERSION. $SED -ri -e "s|(${HTML_PREVIEW_PREFIX}/HEAD)|${HTML_PREVIEW_PREFIX}/${NEW_VERSION}|" "${doc}" is_versioned_tag='<!-- TAG IS_VERSIONED -->' if ! grep -q "${is_versioned_tag}" "${doc}"; then echo "${is_versioned_tag}" >> "${doc}" fi done # Update API descriptions to match this version. $SED -ri -e "s|(releases.k8s.io)/[^/]+|1/${NEW_VERSION}|" pkg/api/v[0-9]*/types.go ${KUBE_ROOT}/hack/run-gendocs.sh ${KUBE_ROOT}/hack/update-swagger-spec.sh </del> <ins> echo "+++ Running ./versionize-docs" ${KUBE_ROOT}/build/versionize-docs.sh ${NEW_VERSION} </ins> git commit -am "Versioning docs and examples for ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}" dochash=$(git log -n1 --format=%H)

Discussion:
If you try mimicking the release flow for a release on right now, it's busted: If I generate a dummy commit out of that failure, then run to see what gets generated, it's attempting to actually add the unversioned warnings back in: I was trying to write up a PR to enact something for , but this blocks the release piece for that. Which is fine, we have some time.
cc
Running gendocs should add the unversioned warnings, unless the doc has <!-- TAG IS_VERSIONED --. Do you know if mark-new-version that tag before failing?
Ah, I think I see what might be happening. This is the post- version of Notice the newline fun.
Sorry which newline are you talking about? :)
My PR fixes that
Ah, yes, cool. It would help if you flagged functional changes along more loudly. :)
Yea, sorry about that. Have updated the PR description to highlight each fix.