jiebi/CodeConvo huggingface dataset:
Change:
When specifying an invalid output format, the error message and the table headers are printed on the same line, producing hard-to-read output:

Discussion:
cmdutil.CheckErr(fmt.Errorf("output must be one of '' or 'name': %v", outputFormat)) } if !supportedOutputTypes.Has(outputFormat) { <del> fmt.Fprintf(out, "--output %v is not available in kubectl config get-contexts; reseting to default output format", outputFormat) </del> <ins> fmt.Fprintf(out, "--output %v is not available in kubectl config get-contexts; resetting to default output formatn", outputFormat) </ins> cmd.Flags().Set("output", "") } cmdutil.CheckErr(options.Complete(cmd, args, out))
Change:
I am running into a problem with the Cinder plugin when running Kubernetes inside Docker using the kube-deploy/docker-multinode project I modified the worker and master scripts of the latter project such that: --cloud-provider and --cloud-config options are to the hyperkube command I mount a host dir with the cloud_config file into the kubelet container (with the -v option) The cinder plugin of kubernetes (for attaching Openstack Cinder volumes) attaches a volume successfully and then tries to find the corresponding device. However the cinder plugin can't find this device by disk-id: The last log entry shows a failure to run . I tried to run this command from within a bash session inside the kubelet container and then got as error: How can I solve this? Thanks for any advice
CC
It basically tries to run to probe all attachments so sym link for the disk is created in . Is this the command you tried to run from command line?
Yes. However I now see that I misread the debuglogs that the full command was the following: . But this is wrong syntax obviously I launched Kubernetes version 1.2.6 in the dockerized version of hyperkube. I assume that the error lies somewhere in the fact that certain commands don't work properly when run inside a container. To further debug, I just had a look at the code from that reported the error (see below). First an executor is created using . Then this executor is asked to execute command . The implementation of the executor will try to execute the command in a child process (hence the fork)
I think I'm running into a related issue, or at least the same root cause. When using PV+PVC Cinder volumes the Kubelet fails to confirm that they are attached (even though I see the volume is attached in Horizon). The same error shows in the kubelet logs: However, on Ubuntu 16.04 at least, is located in a different place:
Adding a symlink to the correct location seems to have resolved the issue for me:

Discussion:
executor := exec.New() args := []string{"trigger"} <del> cmd := executor.Command("/usr/bin/udevadm", args...) </del> <ins> cmd := executor.Command("udevadm", args...) </ins> _, err := cmd.CombinedOutput() if err != nil { glog.Errorf("error running udevadm trigger %vn", err)
Change:
A glitch I experienced when following the : Although it might be obvious, it doesn't hurt to expand "external cluster" to "external kubernetes cluster". Also, the guide doesn't mention I need to configure my kubectl to target the "external kubernetes cluster" while it's actually required.

Discussion:
## Requirements <del> To run Kubemark you need a Kubernetes cluster for running all your HollowNodes and a dedicated machine for a master. Master machine has to be directly routable from HollowNodes. You also need an access to some Docker repository. </del> <ins> To run Kubemark you need a Kubernetes cluster (called `external cluster`) for running all your HollowNodes and a dedicated machine for a master. Master machine has to be directly routable from HollowNodes. You also need an access to some Docker repository. </ins> Currently scripts are written to be easily usable by GCE, but it should be relatively straightforward to port them to different providers or bare metal.

### Starting a Kubemark cluster <del> To start a Kubemark cluster on GCE you need to create an external cluster (it can be GCE, GKE or any other cluster) by yourself, build a kubernetes release (e.g. by running `make quick-release`) and run `test/kubemark/start-kubemark.sh` script. This script will create a VM for master components, Pods for HollowNodes </del> <ins> To start a Kubemark cluster on GCE you need to create an external kubernetes cluster (it can be GCE, GKE or anything else) by yourself, make sure that kubeconfig points to it by default, build a kubernetes release (e.g. by running `make quick-release`) and run `test/kubemark/start-kubemark.sh` script. This script will create a VM for master components, Pods for HollowNodes </ins> and do all the setup necessary to let them talk to each other. It will use the configuration stored in `cluster/kubemark/config-default.sh` - you can tweak it however you want, but note that some features may not be implemented yet, as
Change:
I wasn't able to find automatically create issue for this, but I may not know what to search for. Is our bot creating issues for unit test failures? - this failure looks to me as something in client testing libraries.
If it's exposed in JUnit output, then the bot should be making issues for it.
It's not exposed in junit due to :(
Lots of failures in , probably all this bug.
Yeah this seems to be happening a lot. Raising priority.
I thought was reverted but it's not. I'll revert it.
golang 1.6 doesn't fix the race:
Sent .

Discussion:
recorder := recorderWithFakeClock(api.EventSource{Component: "eventTest"}, eventBroadcaster, clock) for index, item := range table { clock.Step(1 * time.Second) <del> logWatcher1 := eventBroadcaster.StartLogging(t.Logf) // Prove that it is useful logWatcher2 := eventBroadcaster.StartLogging(func(formatter string, args ...interface{}) { </del> <ins> logWatcher := eventBroadcaster.StartLogging(func(formatter string, args ...interface{}) { </ins> if e, a := item.expectLog, fmt.Sprintf(formatter, args...); e != a { t.Errorf("Expected '%v', got '%v'", e, a) }

actualEvent := <-createEvent validateEvent(strconv.Itoa(index), actualEvent, item.expect, t) } <del> logWatcher1.Stop() logWatcher2.Stop() </del> <ins> logWatcher.Stop() </ins> } sinkWatcher.Stop() }

for index, item := range table { clock.Step(1 * time.Second) <del> logWatcher1 := eventBroadcaster.StartLogging(t.Logf) // Prove that it is useful logWatcher2 := eventBroadcaster.StartLogging(func(formatter string, args ...interface{}) { </del> <ins> logWatcher := eventBroadcaster.StartLogging(func(formatter string, args ...interface{}) { </ins> if e, a := item.expectLog, fmt.Sprintf(formatter, args...); e != a { t.Errorf("Expected '%v', got '%v'", e, a) }

validateEvent(strconv.Itoa(index), actualEvent, item.expect, t) } <del> logWatcher1.Stop() logWatcher2.Stop() </del> <ins> logWatcher.Stop() </ins> } sinkWatcher.Stop() }
Change:
https://k8s- Failed: TestPidOf {procfs}
https://k8s- Failed: TestPidOf {procfs}
could you take a look? Thanks.
https://k8s- Failed: TestPidOf {procfs}
https://k8s- Failed: TestPidOf {procfs}
I still am getting errors in this test even after rebasing-- https://k8s-
https://k8s- Failed: TestPidOf {procfs}
Looks like i read the godoc wrong and was returning the error causing the processing to stop. filed another PR
https://k8s- Failed: TestPidOf {procfs}
https://k8s- Failed: TestPidOf {procfs}
https://k8s- Failed: TestPidOf {procfs}

Discussion:
func PidOf(name string) []int { pids := []int{} filepath.Walk("/proc", func(path string, info os.FileInfo, err error) error { <ins> if err != nil { return err } </ins> base := filepath.Base(path) // Traverse only the directories we are interested in if info.IsDir() && path != "/proc" {
Change:
If node e2es fail, it is not possible to figure out if node initialization failed. We need to collect cloud init logs as well.
This needs to happen right away. There are many flakes on GCI and we don't know why the cloud init scripts failed.

Discussion:
func newE2eService(nodeName string, cgroupsPerQOS bool, evictionHard string, context *SharedContext) *e2eService { // Special log files that need to be collected for additional debugging. var logFiles = map[string]logFileData{ <del> "kern.log":   {[]string{"/var/log/kern.log"}, []string{"-k"}}, "docker.log": {[]string{"/var/log/docker.log", "/var/log/upstart/docker.log"}, []string{"-u", "docker"}}, </del> <ins> "kern.log":       {[]string{"/var/log/kern.log"}, []string{"-k"}}, "docker.log":     {[]string{"/var/log/docker.log", "/var/log/upstart/docker.log"}, []string{"-u", "docker"}}, "cloud-init.log": {[]string{"/var/log/cloud-init.log"}, []string{"-u", "cloud*"}}, </ins> } return &e2eService{
Change:
In node-e2e-test on Containervm image, the containers of the pods created by Kubernetes are subcontainers of docker-daemon/docker/. It means that the runtime resource usage (docker-daemon) is not correct, because all pods are included. This problem maybe due to container misconfiguration in node-e2e-test.
The kubelet on debian-based containervm image is misconfigured. Will fix it shortly.

Discussion:
. "github.com/onsi/gomega" ) <del> var _ = framework.KubeDescribe("Kubelet Cgroup Manager", func() { </del> <ins> var _ = framework.KubeDescribe("Kubelet Cgroup Manager [Skip]", func() { </ins> f := framework.NewDefaultFramework("kubelet-cgroup-manager") Describe("QOS containers", func() { Context("On enabling QOS cgroup hierarchy", func() {

cmdArgs = append(cmdArgs, "--runtime-cgroups=/docker-daemon", "--kubelet-cgroups=/kubelet", <ins> "--cgroup-root=/", "--system-cgroups=/system", </ins> ) } cmdArgs = append(cmdArgs,

if es.cgroupsPerQOS { cmdArgs = append(cmdArgs, "--cgroups-per-qos", "true", <del> "--cgroup-root", "/", </del> ) } if !*disableKubenet {

CLEANUP=true GINKGO_FLAGS='--skip="[Flaky]|[Serial]"' SETUP_NODE=false <del> TEST_ARGS=--cgroups-per-qos=true </del> <ins> TEST_ARGS=--cgroups-per-qos=false </ins>

CLEANUP=true GINKGO_FLAGS='--skip="[Flaky]|[Slow]|[Serial]"' SETUP_NODE=false <del> TEST_ARGS=--cgroups-per-qos=true </del> <ins> TEST_ARGS=--cgroups-per-qos=false </ins>

CLEANUP=true GINKGO_FLAGS='--focus="[Serial]" --skip="[Flaky]"' SETUP_NODE=false <del> TEST_ARGS=--cgroups-per-qos=true </del> <ins> TEST_ARGS=--cgroups-per-qos=false </ins> PARALLELISM=1

# If true, current user will be added to the docker group on test node SETUP_NODE=false # If true QoS Cgroup Hierarchy is created and tests specifc to the cgroup hierarchy run <del> TEST_ARGS=--cgroups-per-qos=true </del> <ins> TEST_ARGS=--cgroups-per-qos=false </ins>
Change:
I'm launching master components from static pods with kubelet. won't launch my pods. Gives this error: I suspect this very recent change: Can you advise anything
- Can you please check if works for you? fyi, i am off on vacation for a week so response may be a bit slow
Yes, it works. Thanks.

Discussion:
return true } if isTagged { <ins> hostname, _ := dockerref.SplitHostname(named) </ins> // Check the RepoTags for an exact match for _, tag := range inspected.RepoTags { <del> if tag == image { // We found a specific tag that we were looking for return true </del> <ins> // Deal with image with hostname specified if len(hostname) > 0 { if strings.HasSuffix(image, tag) { return true } } else { if tag == image { // We found a specific tag that we were looking for return true } </ins> } } }

Output:    false, }, { <ins> Inspected: dockertypes.ImageInspect{RepoTags: []string{"colemickens/hyperkube-amd64:217.9beff63"}}, Image:     "colemickens/hyperkube-amd64:217.9beff63", Output:    true, }, { Inspected: dockertypes.ImageInspect{RepoTags: []string{"colemickens/hyperkube-amd64:217.9beff63"}}, Image:     "docker.io/colemickens/hyperkube-amd64:217.9beff63", Output:    true, }, { </ins> Inspected: dockertypes.ImageInspect{ ID: "sha256:2208f7a29005d226d1ee33a63e33af1f47af6156c740d7d23c7948e8d282d53d", },
Change:
There are duplicated assignments for , one place is and the other one is . I think we can remove one. The related PR is What do you think about it?
Sure - let's remove the first one.
ok! :)
fixed. I am going to close this issue. Thanks!

Discussion:
} func (n *NodeInfo) Clone() *NodeInfo { <del> pods := append([]*api.Pod(nil), n.pods...) </del> clone := &NodeInfo{ node:                n.node, <del> pods:                pods, </del> requestedResource:   &(*n.requestedResource), nonzeroRequest:      &(*n.nonzeroRequest), allocatableResource: &(*n.allocatableResource),
Change:
In , there are two places where uses to output the content of pod. One place is , And the other one is , They are different from other places such as , which use to output the type . Below are my expirements. Output1 is: Output2 is: Output3 is: Output4 is: The result of my expirments shows that both and can't output useful information of a pod, it can only . can output the whole content of pod, but it seems too much! So, my opinion is output pod info use the format of to print instead of pod in both and . Like - Although this issue is tiny, I would like to ask you for comment. Thanks!
Fixed. I am going to close this issue. Thanks all!

Discussion:
func (s *Scheduler) scheduleOne() { pod := s.config.NextPod() <del> glog.V(3).Infof("Attempting to schedule: %+v", pod) </del> <ins> glog.V(3).Infof("Attempting to schedule pod: %v/%v", pod.Namespace, pod.Name) </ins> start := time.Now() dest, err := s.config.Algorithm.Schedule(pod, s.config.NodeLister) if err != nil { <del> glog.V(1).Infof("Failed to schedule: %+v", pod) </del> <ins> glog.V(1).Infof("Failed to schedule pod: %v/%v", pod.Namespace, pod.Name) </ins> s.config.Error(pod, err) s.config.Recorder.Eventf(pod, api.EventTypeWarning, "FailedScheduling", "%v", err) s.config.PodConditionUpdater.Update(pod, &api.PodCondition{
Change:
Compilation error in GetDeviceNameFromMount declared twice. and are duplicates and one of them need to be reverted. (build is disabled for linux, that's why both of them got in)
see , please
Looks like this can be closed now. right ?
Yes, closed by

Discussion:
GetDeviceNameFromMount(mountPath, pluginDir string) (string, error) } <ins> // Compile-time check to ensure all Mounter implementations satisfy // the mount interface var _ Interface = &Mounter{} </ins> // This represents a single line in /proc/mounts or /etc/fstab. type MountPoint struct { Device string

// kubelet is running in the host's root mount namespace. type Mounter struct{} <del> var _ = Interface(&Mounter{}) </del> // Mount mounts source to target as fstype with given options. 'source' and 'fstype' must // be an emtpy string in case it's not required, e.g. for remount, or for auto filesystem // type, where kernel handles fs type for you. The mount 'options' is a list of options,
Change:
Some cloudproviders like gce simply forward packets sent to the public lb vip to a vm. The packet shows up at vm's eth0 with a destination ip=lb vip, which the vm accepts as local. Other cloudproviders, like AWS forward packets to the nodePort of the service. The packet shows up at the vm's eth0 with a destination ip=vm ip. Current implementation of source ip preservation targets the former, we need to figure out how to handle this cross platform before it goes beta.
fixed with

Discussion:
jig.SanityCheckService(svc, api.ServiceTypeLoadBalancer) svcTcpPort := int(svc.Spec.Ports[0].Port) framework.Logf("service port : %d", svcTcpPort) <del> tcpNodePort := int(svc.Spec.Ports[0].NodePort) framework.Logf("TCP node port: %d", tcpNodePort) </del> ingressIP := getIngressPoint(&svc.Status.LoadBalancer.Ingress[0]) framework.Logf("TCP load balancer: %s", ingressIP) healthCheckNodePort := int(service.GetServiceHealthCheckNodePort(svc))

if healthCheckNodePort == 0 { framework.Failf("Service HealthCheck NodePort was not allocated") } <del> nodeIP := pickNodeIP(jig.Client) By("hitting the TCP service's NodePort on " + nodeIP + ":" + fmt.Sprintf("%d", tcpNodePort)) jig.TestReachableHTTP(nodeIP, tcpNodePort, kubeProxyLagTimeout) </del> <ins> // TODO(33957): test localOnly nodePort Services. </ins> By("hitting the TCP service's service port, via its external VIP " + ingressIP + ":" + fmt.Sprintf("%d", svcTcpPort)) jig.TestReachableHTTP(ingressIP, svcTcpPort, kubeProxyLagTimeout) <del> By("reading clientIP using the TCP service's NodePort") content := jig.GetHTTPContent(nodeIP, tcpNodePort, kubeProxyLagTimeout, "/clientip") clientIP := content.String() framework.Logf("ClientIP detected by target pod using NodePort is %s", clientIP) </del> By("reading clientIP using the TCP service's service port via its external VIP") <del> content = jig.GetHTTPContent(ingressIP, svcTcpPort, kubeProxyLagTimeout, "/clientip") clientIP = content.String() </del> <ins> content := jig.GetHTTPContent(ingressIP, svcTcpPort, kubeProxyLagTimeout, "/clientip") clientIP := content.String() </ins> framework.Logf("ClientIP detected by target pod using VIP:SvcPort is %s", clientIP) By("checking if Source IP is preserved") if strings.HasPrefix(clientIP, "10.") {
Change:
https://k8s- Failed: TestNamespaceController {namespace}

Discussion:
// Synced returns true if the view is synced (for the first time) func (f *federatedInformerImpl) ClustersSynced() bool { <del> f.Lock() defer f.Unlock() </del> return f.clusterInformer.controller.HasSynced() }

// Checks whether stores for all clusters form the lists (and only these) are there and // are synced. func (fs *federatedStoreImpl) ClustersSynced(clusters []*federation_api.Cluster) bool { <del> fs.federatedInformer.Lock() defer fs.federatedInformer.Unlock() if len(fs.federatedInformer.targetInformers) != len(clusters) { </del> <ins> // Get the list of informers to check under a lock and check it outside. okSoFar, informersToCheck := func() (bool, []informer) { fs.federatedInformer.Lock() defer fs.federatedInformer.Unlock() if len(fs.federatedInformer.targetInformers) != len(clusters) { return false, []informer{} } informersToCheck := make([]informer, 0, len(clusters)) for _, cluster := range clusters { if targetInformer, found := fs.federatedInformer.targetInformers[cluster.Name]; found { informersToCheck = append(informersToCheck, targetInformer) } else { return false, []informer{} } } return true, informersToCheck }() if !okSoFar { </ins> return false } <del> for _, cluster := range clusters { if targetInformer, found := fs.federatedInformer.targetInformers[cluster.Name]; found { if !targetInformer.controller.HasSynced() { return false } } else { </del> <ins> for _, informerToCheck := range informersToCheck { if !informerToCheck.controller.HasSynced() { </ins> return false } }
Change:
As the following code block shows, after running each density test case, it will attempt to delete "additional replication controllers" even though there is no additional replication controller. When we are not running latency test, API Server will return "404 error code". So, I propose to move the above code block inside thedetermine statements , looks like: In this way, removing RC will be executed only if we set to be . It can avoid post some necessary requests to API Server.
Fixed. I am going to close this issue.

Discussion:
framework.ExpectNoError(framework.VerifyPodStartupLatency(podStartupLatency)) framework.LogSuspiciousLatency(startupLag, e2eLag, nodeCount, c) <ins> By("Removing additional replication controllers") for i := 1; i <= nodeCount; i++ { name := additionalPodsPrefix + "-" + strconv.Itoa(i) c.ReplicationControllers(ns).Delete(name, nil) } </ins> } cleanupDensityTest(dConfig) <del> By("Removing additional replication controllers if any") for i := 1; i <= nodeCount; i++ { name := additionalPodsPrefix + "-" + strconv.Itoa(i) c.ReplicationControllers(ns).Delete(name, nil) } </del> }) }
Change:
<!-- 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 ): No What keywords did you search in Kubernetes issues before filing this one? (If you have found any duplicates, you should instead reply there.): dnsmasq log 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 ): 4 Environment: Cloud provider or hardware configuration: bare-metal OS (e.g. from /etc/os-release): CoreOS 1068.8.0 Kernel (e.g. ): Linux $REDACTED 4.6.3-coreos SMP Mon Jul 18 06:10:39 UTC 2016 x86_64 Intel(R) Xeon(R) CPU E5530 @ 2.40GHz GenuineIntel GNU/Linux Install tools: bootcfg and ignition Others: What happened: started kube-dns according to this example: did not show anything. What you expected to happen: should have shown log messages. There should have been at least a start-up message and it should possibly also log DNS requests, as does the container. How to reproduce it (as minimally and precisely as possible): Take the example and create a resource controller from it. Anything else do we need to know: For my DHCP/TFTP dnsmasq pod these command line switches have the desired effect:

Discussion:
- --cache-size=1000 - --no-resolv - --server=127.0.0.1#10053 <ins> - --log-facility=- </ins> ports: - containerPort: 53 name: dns
Change:
Starting the vargant setup with results in the following error: - is missing after And the Cluster is stuck at the validation step (doesn't come up).

Discussion:
{% endif -%} {% set params = "--master=127.0.0.1:8080" + " " + cluster_name + " " + cluster_cidr + " " + allocate_node_cidrs + " " + service_cluster_ip_range + " " + terminated_pod_gc + " " + enable_garbage_collector + " " + cloud_provider  + " " + cloud_config + " " + service_account_key + " " + log_level + " " + root_ca_file -%} <del> {% set params = params + " " feature_gates %} </del> <ins> {% set params = params + " " + feature_gates -%} </ins> # test_args has to be kept at the end, so they'll overwrite any prior configuration

cluster/saltbase/salt/kube-admission-controls/init.sls:{% if 'LimitRanger' in pillar.get('admission_control', '') %} cluster/saltbase/salt/kube-apiserver/kube-apiserver.manifest:{% set params = address + " " + storage_backend + " " + etcd_servers + " " + etcd_servers_overrides + " " + cloud_provider + " " + cloud_config + " " + runtime_config + " " + feature_gates + " " + admission_control + " " + target_ram_mb + " " + service_cluster_ip_range + " " + client_ca_file + basic_auth_file + " " + min_request_timeout + " " + enable_garbage_collector -%} cluster/saltbase/salt/kube-controller-manager/kube-controller-manager.manifest:{% set params = "--master=127.0.0.1:8080" + " " + cluster_name + " " + cluster_cidr + " " + allocate_node_cidrs + " " + service_cluster_ip_range + " " + terminated_pod_gc + " " + enable_garbage_collector + " " + cloud_provider  + " " + cloud_config + " " + service_account_key + " " + log_level + " " + root_ca_file -%} <del> cluster/saltbase/salt/kube-controller-manager/kube-controller-manager.manifest:{% set params = params + " " feature_gates %} </del> <ins> cluster/saltbase/salt/kube-controller-manager/kube-controller-manager.manifest:{% set params = params + " " + feature_gates -%} </ins> cluster/saltbase/salt/kube-proxy/kube-proxy.manifest:  {% set api_servers_with_port = api_servers + ":6443" -%} cluster/saltbase/salt/kube-proxy/kube-proxy.manifest:  {% set api_servers_with_port = api_servers -%} cluster/saltbase/salt/kube-proxy/kube-proxy.manifest:  {% set cluster_cidr=" --cluster-cidr=" + pillar['cluster_cidr'] %}