Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Various fixes for the none driver #4778

Closed
wants to merge 3 commits into from

Conversation

afbjorklund
Copy link
Collaborator

Cherry-picked from #4734

It is not supported anyway, and just throws errors.
This should never be a problem with "none", though.
@afbjorklund afbjorklund requested a review from medyagh July 16, 2019 18:48
@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Jul 16, 2019
@k8s-ci-robot k8s-ci-robot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Jul 16, 2019
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: afbjorklund

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 16, 2019
@afbjorklund
Copy link
Collaborator Author

afbjorklund commented Jul 16, 2019

Avoid StopHost will fix one half of #3217 (the machine error)

But we still need to write a stopKubernetes() function...

Of course, if you wish to actually terminate minikube, you will need to execute service kubelet stop and then ensure the k8s containers are removed from the output in docker ps.

Copy link
Contributor

@tstromberg tstromberg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this changes user-visible behavior, make sure it's reflected in the PR title so that it shows up in the release notes.

return nil, errors.Wrap(err, "save")
} else {
if s == state.Running {
console.OutStyle(console.Running, "Re-using the currently running %s VM for %q ...", h.Driver.DriverName(), cfg.GetMachineName())
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this say VM?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Most people should be running none on a dedicated VM, but yeah - we normally use "VM" as a term for the host, in the case of "none" or "generic" or "docker" that might not actually be true.

Normally it's called a machine, as in "something runs docker".

if ok && alreadyInStateError.State == state.Stopped {
return nil
}
return &util.RetriableError{Err: errors.Wrapf(err, "Stop: %s", cfg.GetMachineName())}
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If "stop" is unsupported by none, I think StopHost should return an unsupported error instead of nothing.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, StopHost is unsupported - but we should try to stop Kubernetes. Just TBD.

Maybe I should add a stopKubernetes() function, similar to our uninstallKubernetes()

And just make it empty or log something friendly...

The problem is described in that other issue linked.

@tstromberg
Copy link
Contributor

Thanks for cleaning this up!

@afbjorklund
Copy link
Collaborator Author

afbjorklund commented Jul 17, 2019

If this changes user-visible behavior, make sure it's reflected in the PR title so that it shows up in the release notes.

This is mostly house-cleaning, it was only preparing the way for "generic":

  • we only use one ISO and one OS, so it didn't matter that we never check

  • since we don't provision docker, it didn't matter that the URL was missing

  • since "none" driver is always running, it doesn't matter to check if it is

As for minikube stop it is still broken, just in a slightly different way. :-)

@medyagh
Copy link
Member

medyagh commented Jul 17, 2019

Ironically all the tests passed except the none :D I am gonna re-run the none test but here is the log before it gets replaced:

--- FAIL: TestVersionUpgrade (126.06s)
    util.go:130: Error running command: start --vm-driver=none  --v=10 --logtostderr --bootstrapper=kubeadm --kubernetes-version=1.15.0 --alsologtostderr --v=2 . Output: * minikube v1.2.0 on linux (amd64)
        * minikube will upgrade the local cluster from Kubernetes 1.10.13 to 1.15.0
        * Tip: Use 'minikube start -p <name>' to create a new cluster, or 'minikube delete' to delete this one.
FAIL

more verbose log

=== RUN   TestVersionUpgrade
 20:31:41 | Run: [/home/jenkins/workspace/Linux_Integration_Tests_none/out/minikube-linux-amd64 delete]
 20:31:41 | > ! "minikube" cluster does not exist
 20:31:41 | > * The "minikube" cluster has been deleted.
 20:31:41 | Run: [/home/jenkins/workspace/Linux_Integration_Tests_none/out/minikube-linux-amd64 status --format={{.Host}} --v=10 --logtostderr --bootstrapper=kubeadm]
 20:31:41 | ! I0716 20:31:41.459060   20411 notify.go:128] Checking for updates...
2019/07/16 20:31:41 [DEBUG] GET https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
 20:31:42 | Run: [/tmp/minikube507787066 start --vm-driver=none  --v=10 --logtostderr --bootstrapper=kubeadm --kubernetes-version=v1.10.13 --alsologtostderr --v=2]
 20:31:42 | ! I0716 20:31:42.777751   20421 notify.go:128] Checking for updates...
 20:31:42 | > * minikube v1.2.0 on linux (amd64)
 20:31:42 | ! I0716 20:31:42.849599   20421 start.go:753] Saving config:
 20:31:42 | ! {
 20:31:42 | !     "MachineConfig": {
 20:31:42 | !         "KeepContext": false,
 20:31:42 | !         "MinikubeISO": "https://storage.googleapis.com/minikube/iso/minikube-v1.2.0.iso",
 20:31:42 | !         "Memory": 2048,
 20:31:42 | !         "CPUs": 2,
 20:31:42 | !         "DiskSize": 20000,
 20:31:42 | !         "VMDriver": "none",
 20:31:42 | !         "ContainerRuntime": "docker",
 20:31:42 | !         "HyperkitVpnKitSock": "",
 20:31:42 | !         "HyperkitVSockPorts": [],
 20:31:42 | !         "XhyveDiskDriver": "ahci-hd",
 20:31:42 | !         "DockerEnv": null,
 20:31:42 | !         "InsecureRegistry": null,
 20:31:42 | !         "RegistryMirror": null,
 20:31:42 | !         "HostOnlyCIDR": "192.168.99.1/24",
 20:31:42 | !         "HypervVirtualSwitch": "",
 20:31:42 | !         "KvmNetwork": "default",
 20:31:42 | !         "DockerOpt": null,
 20:31:42 | !         "DisableDriverMounts": false,
 20:31:42 | !         "NFSShare": [],
 20:31:42 | !         "NFSSharesRoot": "/nfsshares",
 20:31:42 | !         "UUID": "",
 20:31:42 | !         "GPU": false,
 20:31:42 | !         "Hidden": false,
 20:31:42 | !         "NoVTXCheck": false
 20:31:42 | !     },
 20:31:42 | !     "KubernetesConfig": {
 20:31:42 | !         "KubernetesVersion": "v1.10.13",
 20:31:42 | !         "NodeIP": "",
 20:31:42 | !         "NodePort": 8443,
 20:31:42 | !         "NodeName": "minikube",
 20:31:42 | !         "APIServerName": "minikubeCA",
 20:31:42 | !         "APIServerNames": null,
 20:31:42 | !         "APIServerIPs": null,
 20:31:42 | !         "DNSDomain": "cluster.local",
 20:31:42 | !         "ContainerRuntime": "docker",
 20:31:42 | !         "CRISocket": "",
 20:31:42 | !         "NetworkPlugin": "",
 20:31:42 | !         "FeatureGates": "",
 20:31:42 | !         "ServiceCIDR": "10.96.0.0/12",
 20:31:42 | !         "ImageRepository": "",
 20:31:42 | !         "ExtraOptions": null,
 20:31:42 | !         "ShouldLoadCachedImages": false,
 20:31:42 | !         "EnableDefaultCNI": false
 20:31:42 | !     }
 20:31:42 | ! }
 20:31:42 | ! I0716 20:31:42.850028   20421 cluster.go:90] Machine does not exist... provisioning new machine
 20:31:42 | ! I0716 20:31:42.850044   20421 cluster.go:91] Provisioning machine with config: {KeepContext:false MinikubeISO:https://storage.googleapis.com/minikube/iso/minikube-v1.2.0.iso Memory:2048 CPUs:2 DiskSize:20000 VMDriver:none ContainerRuntime:docker HyperkitVpnKitSock: HyperkitVSockPorts:[] XhyveDiskDriver:ahci-hd DockerEnv:[] InsecureRegistry:[] RegistryMirror:[] HostOnlyCIDR:192.168.99.1/24 HypervVirtualSwitch: KvmNetwork:default Downloader:{} DockerOpt:[] DisableDriverMounts:false NFSShare:[] NFSSharesRoot:/nfsshares UUID: GPU:false Hidden:false NoVTXCheck:false}
 20:31:42 | > * Creating none VM (CPUs=2, Memory=2048MB, Disk=20000MB) ...
 20:31:42 | ! I0716 20:31:42.851790   20421 start.go:753] Saving config:
 20:31:42 | ! {
 20:31:42 | !     "MachineConfig": {
 20:31:42 | !         "KeepContext": false,
 20:31:42 | !         "MinikubeISO": "https://storage.googleapis.com/minikube/iso/minikube-v1.2.0.iso",
 20:31:42 | !         "Memory": 2048,
 20:31:42 | !         "CPUs": 2,
 20:31:42 | !         "DiskSize": 20000,
 20:31:42 | !         "VMDriver": "none",
 20:31:42 | !         "ContainerRuntime": "docker",
 20:31:42 | !         "HyperkitVpnKitSock": "",
 20:31:42 | !         "HyperkitVSockPorts": [],
 20:31:42 | !         "XhyveDiskDriver": "ahci-hd",
 20:31:42 | !         "DockerEnv": null,
 20:31:42 | !         "InsecureRegistry": null,
 20:31:42 | !         "RegistryMirror": null,
 20:31:42 | !         "HostOnlyCIDR": "192.168.99.1/24",
 20:31:42 | !         "HypervVirtualSwitch": "",
 20:31:42 | !         "KvmNetwork": "default",
 20:31:42 | !         "DockerOpt": null,
 20:31:42 | !         "DisableDriverMounts": false,
 20:31:42 | !         "NFSShare": [],
 20:31:42 | !         "NFSSharesRoot": "/nfsshares",
 20:31:42 | !         "UUID": "",
 20:31:42 | !         "GPU": false,
 20:31:42 | !         "Hidden": false,
 20:31:42 | !         "NoVTXCheck": false
 20:31:42 | !     },
 20:31:42 | !     "KubernetesConfig": {
 20:31:42 | !         "KubernetesVersion": "v1.10.13",
 20:31:42 | !         "NodeIP": "10.128.0.3",
 20:31:42 | !         "NodePort": 8443,
 20:31:42 | !         "NodeName": "minikube",
 20:31:42 | !         "APIServerName": "minikubeCA",
 20:31:42 | !         "APIServerNames": null,
 20:31:42 | !         "APIServerIPs": null,
 20:31:42 | !         "DNSDomain": "cluster.local",
 20:31:42 | !         "ContainerRuntime": "docker",
 20:31:42 | !         "CRISocket": "",
 20:31:42 | !         "NetworkPlugin": "",
 20:31:42 | !         "FeatureGates": "",
 20:31:42 | !         "ServiceCIDR": "10.96.0.0/12",
 20:31:42 | !         "ImageRepository": "",
 20:31:42 | !         "ExtraOptions": null,
 20:31:42 | !         "ShouldLoadCachedImages": false,
 20:31:42 | !         "EnableDefaultCNI": false
 20:31:42 | !     }
 20:31:42 | ! }
 20:31:42 | ! I0716 20:31:42.852082   20421 exec_runner.go:39] Run: systemctl is-active --quiet service containerd
 20:31:42 | ! I0716 20:31:42.858404   20421 exec_runner.go:39] Run: systemctl is-active --quiet service crio
 20:31:42 | ! I0716 20:31:42.863796   20421 exec_runner.go:39] Run: sudo systemctl start docker
 20:31:42 | ! I0716 20:31:42.876742   20421 exec_runner.go:50] Run with output: docker version --format '{{.Server.Version}}'
 20:31:42 | ! I0716 20:31:42.949801   20421 kubeadm.go:501] kubelet v1.10.13 config:
 20:31:42 | ! [Unit]
 20:31:42 | ! Wants=docker.socket
 20:31:42 | ! [Service]
 20:31:42 | ! ExecStart=
 20:31:42 | ! ExecStart=/usr/bin/kubelet --allow-privileged=true --authorization-mode=Webhook --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --cadvisor-port=0 --cgroup-driver=cgroupfs --client-ca-file=/var/lib/minikube/certs/ca.crt --cluster-dns=10.96.0.10 --cluster-domain=cluster.local --container-runtime=docker --fail-swap-on=false --hostname-override=minikube --kubeconfig=/etc/kubernetes/kubelet.conf --pod-manifest-path=/etc/kubernetes/manifests
 20:31:42 | ! [Install]
 20:31:42 | > * Configuring environment for Kubernetes v1.10.13 on Docker 18.06.1-ce
 20:31:42 | > * Downloading kubeadm v1.10.13
 20:31:42 | > * Downloading kubelet v1.10.13
 20:31:44 | ! I0716 20:31:44.657153   20421 exec_runner.go:39] Run: 
 20:31:44 | ! sudo systemctl daemon-reload &&
 20:31:44 | ! sudo systemctl start kubelet
 20:31:44 | ! I0716 20:31:44.753738   20421 certs.go:47] Setting up certificates for IP: 10.128.0.3
 20:31:44 | ! I0716 20:31:44.765645   20421 kubeconfig.go:127] Using kubeconfig:  /home/jenkins/minikube-integration/linux-amd64-none-4778-10197-1b5a527458fa738e2eb1c3a196d339fae6d0c291/kubeconfig
 20:31:44 | > * Pulling images ...
 20:31:44 | > * Unable to pull images, which may be OK: pull command is not supported by kubeadm v1.10.13
 20:31:44 | > * Launching Kubernetes ... 
 20:31:44 | ! I0716 20:31:44.767355   20421 kubeadm.go:221] Older Kubernetes release detected (1.10.13), disabling SystemVerification check.
 20:31:44 | ! I0716 20:31:44.767372   20421 exec_runner.go:50] Run with output: sudo /usr/bin/kubeadm init --config /var/lib/kubeadm.yaml  --ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests,DirAvailable--data-minikube,FileAvailable--etc-kubernetes-manifests-kube-scheduler.yaml,FileAvailable--etc-kubernetes-manifests-kube-apiserver.yaml,FileAvailable--etc-kubernetes-manifests-kube-controller-manager.yaml,FileAvailable--etc-kubernetes-manifests-etcd.yaml,Port-10250,Swap,SystemVerification
 20:32:23 | ! I0716 20:32:23.308458   20421 kubeadm.go:240] Configuring cluster permissions ...
 20:32:23 | ! I0716 20:32:23.329211   20421 exec_runner.go:50] Run with output: cat /proc/$(pgrep kube-apiserver)/oom_adj
 20:32:23 | ! I0716 20:32:23.343929   20421 kubeadm.go:257] apiserver oom_adj: 16
 20:32:23 | ! I0716 20:32:23.343967   20421 kubeadm.go:262] adjusting apiserver oom_adj to -10
 20:32:23 | ! I0716 20:32:23.343976   20421 exec_runner.go:39] Run: echo -10 | sudo tee /proc/$(pgrep kube-apiserver)/oom_adj
 20:32:23 | ! ! The 'none' driver provides limited isolation and may reduce system security and reliability.
 20:32:23 | ! ! For more information, see:
 20:32:23 | ! ! kubectl and minikube configuration will be stored in /home/jenkins
 20:32:23 | ! ! To use kubectl or minikube commands as your own user, you may
 20:32:23 | ! ! need to relocate them. For example, to overwrite your own settings:
 20:32:23 | > * Configuring local host environment ...
 20:32:23 | >   - https://github.com/kubernetes/minikube/blob/master/docs/vmdriver-none.md
 20:32:23 | >   - sudo mv /home/jenkins/.kube /home/jenkins/.minikube $HOME
 20:32:23 | >   - sudo chown -R $USER $HOME/.kube $HOME/.minikube
 20:32:23 | > * This can also be done automatically by setting the env var CHANGE_MINIKUBE_NONE_USER=true
 20:32:23 | ! I0716 20:32:23.362666   20421 kubeadm.go:381] Waiting for apiserver ...
 20:32:23 | ! I0716 20:32:23.369123   20421 kubeadm.go:142] https://10.128.0.3:8443/healthz response:  &{Status:200 OK StatusCode:200 Proto:HTTP/1.1 ProtoMajor:1 ProtoMinor:1 Header:map[Content-Length:[2] Content-Type:[text/plain; charset=utf-8] Date:[Tue, 16 Jul 2019 20:32:23 GMT]] Body:0xc000aa4800 ContentLength:2 TransferEncoding:[] Close:false Uncompressed:false Trailer:map[] Request:0xc00040aa00 TLS:0xc0000ca8f0}
 20:32:23 | ! I0716 20:32:23.369204   20421 kubeadm.go:384] apiserver status: Running, err: 
 20:32:23 | ! I0716 20:32:23.369272   20421 kubernetes.go:125] Waiting for pod with label "kube-system" in ns "k8s-app=kube-proxy" ...
 20:32:23 | ! I0716 20:32:23.379935   20421 kubernetes.go:136] Found 0 Pods for label selector k8s-app=kube-proxy
 20:32:29 | ! I0716 20:32:29.384989   20421 kubernetes.go:136] Found 1 Pods for label selector k8s-app=kube-proxy
 20:32:31 | ! I0716 20:32:31.394016   20421 kubernetes.go:125] Waiting for pod with label "kube-system" in ns "component=etcd" ...
 20:32:31 | ! I0716 20:32:31.397867   20421 kubernetes.go:136] Found 0 Pods for label selector component=etcd
 20:33:10 | ! I0716 20:33:10.402768   20421 kubernetes.go:136] Found 1 Pods for label selector component=etcd
 20:33:16 | ! I0716 20:33:16.402401   20421 kubernetes.go:125] Waiting for pod with label "kube-system" in ns "component=kube-scheduler" ...
 20:33:16 | ! I0716 20:33:16.405493   20421 kubernetes.go:136] Found 0 Pods for label selector component=kube-scheduler
 20:33:27 | ! I0716 20:33:27.409415   20421 kubernetes.go:136] Found 1 Pods for label selector component=kube-scheduler
 20:33:36 | ! I0716 20:33:36.409534   20421 kubernetes.go:125] Waiting for pod with label "kube-system" in ns "component=kube-controller-manager" ...
 20:33:36 | ! I0716 20:33:36.412964   20421 kubernetes.go:136] Found 1 Pods for label selector component=kube-controller-manager
 20:33:36 | ! I0716 20:33:36.413032   20421 kubernetes.go:125] Waiting for pod with label "kube-system" in ns "k8s-app=kube-dns" ...
 20:33:36 | ! I0716 20:33:36.416421   20421 kubernetes.go:136] Found 1 Pods for label selector k8s-app=kube-dns
 20:33:36 | > * Verifying: apiserver proxy etcd scheduler controller dns
 20:33:36 | > * Done! kubectl is now configured to use "minikube"
 20:33:36 | Run: [/tmp/minikube507787066 status --format={{.Host}} --v=10 --logtostderr --bootstrapper=kubeadm]
 20:33:36 | ! I0716 20:33:36.452552   22990 notify.go:128] Checking for updates...
 20:33:36 | ! I0716 20:33:36.528307   22990 none.go:232] checking for running kubelet ...
 20:33:36 | ! I0716 20:33:36.528340   22990 exec_runner.go:39] Run: systemctl is-active --quiet service kubelet
 20:33:36 | ! I0716 20:33:36.535720   22990 exec_runner.go:50] Run with output: sudo systemctl is-active kubelet
 20:33:36 | ! I0716 20:33:36.548619   22990 interface.go:360] Looking for default routes with IPv4 addresses
 20:33:36 | ! I0716 20:33:36.548642   22990 interface.go:365] Default route transits interface "eth0"
 20:33:36 | ! I0716 20:33:36.548957   22990 interface.go:174] Interface eth0 is up
 20:33:36 | ! I0716 20:33:36.549041   22990 interface.go:222] Interface "eth0" has 1 addresses :[10.128.0.3/32].
 20:33:36 | ! I0716 20:33:36.549068   22990 interface.go:189] Checking addr  10.128.0.3/32.
 20:33:36 | ! I0716 20:33:36.549079   22990 interface.go:196] IP found 10.128.0.3
 20:33:36 | ! I0716 20:33:36.549087   22990 interface.go:228] Found valid IPv4 address 10.128.0.3 for interface "eth0".
 20:33:36 | ! I0716 20:33:36.549095   22990 interface.go:371] Found active IP 10.128.0.3 
 20:33:36 | ! I0716 20:33:36.556863   22990 kubeadm.go:142] https://10.128.0.3:8443/healthz response:  &{Status:200 OK StatusCode:200 Proto:HTTP/1.1 ProtoMajor:1 ProtoMinor:1 Header:map[Content-Length:[2] Content-Type:[text/plain; charset=utf-8] Date:[Tue, 16 Jul 2019 20:33:36 GMT]] Body:0xc00038b8c0 ContentLength:2 TransferEncoding:[] Close:false Uncompressed:false Trailer:map[] Request:0xc0004ab500 TLS:0xc0006bf810}
 20:33:36 | > Running
 20:33:36 | Run: [/tmp/minikube507787066 stop]
 20:33:36 | > * Stopping "minikube" in none ...
 20:33:47 | > * "minikube" stopped.
 20:33:47 | Run: [/tmp/minikube507787066 status --format={{.Host}} --v=10 --logtostderr --bootstrapper=kubeadm]
 20:33:47 | ! I0716 20:33:47.163408   23968 notify.go:128] Checking for updates...
 20:33:47 | ! I0716 20:33:47.240640   23968 none.go:232] checking for running kubelet ...
 20:33:47 | ! I0716 20:33:47.240667   23968 exec_runner.go:39] Run: systemctl is-active --quiet service kubelet
 20:33:47 | ! I0716 20:33:47.246752   23968 none.go:126] kubelet not running: running command: systemctl is-active --quiet service kubelet: exit status 3
 20:33:47 | > Stopped
 20:33:47 | Run: [/home/jenkins/workspace/Linux_Integration_Tests_none/out/minikube-linux-amd64 start --vm-driver=none  --v=10 --logtostderr --bootstrapper=kubeadm --kubernetes-version=1.15.0 --alsologtostderr --v=2]
 20:33:47 | ! I0716 20:33:47.276817   23979 notify.go:128] Checking for updates...
 20:33:47 | > * minikube v1.2.0 on linux (amd64)
 20:33:47 | > * minikube will upgrade the local cluster from Kubernetes 1.10.13 to 1.15.0
 20:33:47 | ! I0716 20:33:47.349384   23979 start.go:824] Saving config:
 20:33:47 | ! {
 20:33:47 | !     "MachineConfig": {
 20:33:47 | !         "KeepContext": false,
 20:33:47 | !         "MinikubeISO": "https://storage.googleapis.com/minikube/iso/minikube-v1.2.0.iso",
 20:33:47 | !         "Memory": 2000,
 20:33:47 | !         "CPUs": 2,
 20:33:47 | !         "DiskSize": 20000,
 20:33:47 | !         "VMDriver": "none",
 20:33:47 | !         "ContainerRuntime": "docker",
 20:33:47 | !         "HyperkitVpnKitSock": "",
 20:33:47 | !         "HyperkitVSockPorts": [],
 20:33:47 | !         "XhyveDiskDriver": "ahci-hd",
 20:33:47 | !         "DockerEnv": null,
 20:33:47 | !         "InsecureRegistry": null,
 20:33:47 | !         "RegistryMirror": null,
 20:33:47 | !         "HostOnlyCIDR": "192.168.99.1/24",
 20:33:47 | !         "HypervVirtualSwitch": "",
 20:33:47 | !         "KVMNetwork": "default",
 20:33:47 | !         "KVMQemuURI": "qemu:///system",
 20:33:47 | !         "KVMGPU": false,
 20:33:47 | !         "KVMHidden": false,
 20:33:47 | !         "DockerOpt": null,
 20:33:47 | !         "DisableDriverMounts": false,
 20:33:47 | !         "NFSShare": [],
 20:33:47 | !         "NFSSharesRoot": "/nfsshares",
 20:33:47 | !         "UUID": "",
 20:33:47 | !         "NoVTXCheck": false,
 20:33:47 | !         "DNSProxy": false,
 20:33:47 | !         "HostDNSResolver": true
 20:33:47 | !     },
 20:33:47 | !     "KubernetesConfig": {
 20:33:47 | !         "KubernetesVersion": "v1.15.0",
 20:33:47 | !         "NodeIP": "",
 20:33:47 | !         "NodePort": 8443,
 20:33:47 | !         "NodeName": "minikube",
 20:33:47 | !         "APIServerName": "minikubeCA",
 20:33:47 | !         "APIServerNames": null,
 20:33:47 | !         "APIServerIPs": null,
 20:33:47 | !         "DNSDomain": "cluster.local",
 20:33:47 | !         "ContainerRuntime": "docker",
 20:33:47 | !         "CRISocket": "",
 20:33:47 | !         "NetworkPlugin": "",
 20:33:47 | !         "FeatureGates": "",
 20:33:47 | !         "ServiceCIDR": "10.96.0.0/12",
 20:33:47 | !         "ImageRepository": "",
 20:33:47 | !         "ExtraOptions": null,
 20:33:47 | !         "ShouldLoadCachedImages": true,
 20:33:47 | !         "EnableDefaultCNI": false
 20:33:47 | !     }
 20:33:47 | ! }
 20:33:47 | ! I0716 20:33:47.349835   23979 cluster.go:96] Skipping create...Using existing machine configuration
 20:33:47 | > * Tip: Use 'minikube start -p ' to create a new cluster, or 'minikube delete' to delete this one.
 20:33:47 | ! I0716 20:33:47.350454   23979 none.go:232] checking for running kubelet ...
 20:33:47 | ! I0716 20:33:47.350460   23979 exec_runner.go:39] Run: systemctl is-active --quiet service kubelet
 20:33:47 | ! I0716 20:33:47.356677   23979 none.go:126] kubelet not running: running command: systemctl is-active --quiet service kubelet: exit status 3
 20:33:47 | ! I0716 20:33:47.356705   23979 cluster.go:115] Machine state:  Stopped
 20:33:47 | ! W0716 20:33:47.356741   23979 exit.go:56] Unable to reach none VM for "minikube"
 20:33:47 | ! X Unable to reach none VM for "minikube"
--- FAIL: TestVersionUpgrade (126.06s)
    util.go:130: Error running command: start --vm-driver=none  --v=10 --logtostderr --bootstrapper=kubeadm --kubernetes-version=1.15.0 --alsologtostderr --v=2 . Output: * minikube v1.2.0 on linux (amd64)
        * minikube will upgrade the local cluster from Kubernetes 1.10.13 to 1.15.0
        * Tip: Use 'minikube start -p ' to create a new cluster, or 'minikube delete' to delete this one.

Copy link
Member

@medyagh medyagh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am curious if the failing test is relate or could be improved in this PR ?

@tstromberg
Copy link
Contributor

tstromberg commented Jul 17, 2019

This error is indeed suspicious - do you mind taking a closer look:

 20:33:47 | ! I0716 20:33:47.356705   23979 cluster.go:115] Machine state:  Stopped
 20:33:47 | ! W0716 20:33:47.356741   23979 exit.go:56] Unable to reach none VM for "minikube"
 20:33:47 | ! X Unable to reach none VM for "minikube"

@afbjorklund
Copy link
Collaborator Author

afbjorklund commented Jul 17, 2019

It is probably related. The test is trying to check the state/status, but that's not going to work with driver:

func (d *Driver) GetState() (state.State, error) {
	return state.Running, nil
}


func (d *Driver) Start() error {
	return fmt.Errorf("hosts without a driver cannot be started")
}

func (d *Driver) Stop() error {
	return fmt.Errorf("hosts without a driver cannot be stopped")
}

i.e. the none driver is always running. So it must be keeping some minikube-specific "status", too ?

@afbjorklund
Copy link
Collaborator Author

Nothing in this issue is actually required, before we have more drivers and/or a working stopKubernetes

@tstromberg
Copy link
Contributor

If "stop" isn't possible, it should be explicit about being unsupported rather than Unable to reach none VM for "minikube"

That said, this test will need to be adjusted so that it does not fail for the none driver. That may mean skipping stop for the none case.

@tstromberg tstromberg added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 17, 2019
@afbjorklund
Copy link
Collaborator Author

I was actually wondering how the test could have passed before ? Maybe just ignoring the error...

@afbjorklund
Copy link
Collaborator Author

Think I will close this for now, we need a better fix for start and stop and the rest are a bit "early".

@afbjorklund afbjorklund removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 18, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants