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

WIP: Add minikube support for the "generic" VM driver #9545

Closed
wants to merge 29 commits into from

Conversation

afbjorklund
Copy link
Collaborator

Let's try another rebase.... (PR #6873, PR #4734)

This driver connects to an already existing virtual machine,
using the provided IP address and SSH user/key/port parameters.

On this machine, libmachine will provision the docker daemon
and minikube will bootstrap the kubernetes cluster (as usual).

Implements #4733

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Oct 24, 2020
@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 Oct 24, 2020
@afbjorklund
Copy link
Collaborator Author

afbjorklund commented Oct 24, 2020

These comments still apply:

#6873 (comment)

#6873 (comment)

But it should compile now...

It would be nice to clean those up, perhaps by completing the fork of the "generic" driver from libmachine.

Maybe something that could be done at the same time as completing the fork of the "none" driver (#7772)

@TravisBuddy
Copy link

Travis tests have failed

Hey @afbjorklund,
Please read the following log in order to understand the failure reason.
It'll be awesome if you fix what's wrong and commit the changes.

1st Build

View build log

make test
PATH="/home/travis/gopath/bin:/home/travis/.gimme/versions/go1.15.2.linux.amd64/bin:/home/travis/bin:/home/travis/bin:/home/travis/.local/bin:/usr/local/lib/jvm/openjdk11/bin:/opt/pyenv/shims:/home/travis/.phpenv/shims:/home/travis/perl5/perlbrew/bin:/home/travis/.nvm/versions/node/v8.12.0/bin:/home/travis/.rvm/gems/ruby-2.5.3/bin:/home/travis/.rvm/gems/ruby-2.5.3@global/bin:/home/travis/.rvm/rubies/ruby-2.5.3/bin:/home/travis/gopath/bin:/home/travis/.gimme/versions/go1.11.1.linux.amd64/bin:/usr/local/maven-3.6.3/bin:/usr/local/cmake-3.12.4/bin:/usr/local/clang-7.0.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/home/travis/.rvm/bin:/home/travis/.phpenv/bin:/opt/pyenv/bin:/home/travis/.yarn/bin:/home/travis/gopath/bin" go-bindata -nomemcopy -o pkg/minikube/assets/assets.go -pkg assets deploy/addons/...
gofmt -s -w pkg/minikube/assets/assets.go
PATH="/home/travis/gopath/bin:/home/travis/.gimme/versions/go1.15.2.linux.amd64/bin:/home/travis/bin:/home/travis/bin:/home/travis/.local/bin:/usr/local/lib/jvm/openjdk11/bin:/opt/pyenv/shims:/home/travis/.phpenv/shims:/home/travis/perl5/perlbrew/bin:/home/travis/.nvm/versions/node/v8.12.0/bin:/home/travis/.rvm/gems/ruby-2.5.3/bin:/home/travis/.rvm/gems/ruby-2.5.3@global/bin:/home/travis/.rvm/rubies/ruby-2.5.3/bin:/home/travis/gopath/bin:/home/travis/.gimme/versions/go1.11.1.linux.amd64/bin:/usr/local/maven-3.6.3/bin:/usr/local/cmake-3.12.4/bin:/usr/local/clang-7.0.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/home/travis/.rvm/bin:/home/travis/.phpenv/bin:/opt/pyenv/bin:/home/travis/.yarn/bin:/home/travis/gopath/bin" go-bindata -nomemcopy -o pkg/minikube/translate/translations.go -pkg translate translations/...
gofmt -s -w pkg/minikube/translate/translations.go
MINIKUBE_LDFLAGS="-X k8s.io/minikube/pkg/version.version=v1.14.1 -X k8s.io/minikube/pkg/version.isoVersion=v1.14.0 -X k8s.io/minikube/pkg/version.isoPath=minikube/iso -X k8s.io/minikube/pkg/version.gitCommitID="ecf715b44b9f74a5d6cd846b638597b8f32697bc" -X k8s.io/minikube/pkg/version.storageProvisionerVersion=v3" ./test.sh
= make lint =============================================================
golangci/golangci-lint info checking GitHub for tag 'v1.30.0'
golangci/golangci-lint info found version: 1.30.0 for v1.30.0/linux/amd64
golangci/golangci-lint info installed out/linters/golangci-lint
pkg/minikube/machine/fix.go:144: File is not `goimports`-ed (goimports)
		if !recreated {
			out.T(style.Running, `Updating the running {{.driver_name}} "{{.cluster}}" {{.machine_type}} ...`, out.V{"driver_name": cc.Driver, "cluster": machineName, "machine_type": machineType})
Makefile:434: recipe for target 'lint-ci' failed
make[1]: *** [lint-ci] Error 1
= go mod ================================================================
ok
= boilerplate ===========================================================
ok
Makefile:315: recipe for target 'test' failed
make: *** [test] Error 4

2nd Build

View build log

make test
PATH="/home/travis/gopath/bin:/home/travis/.gimme/versions/go1.15.2.linux.amd64/bin:/home/travis/bin:/home/travis/bin:/home/travis/.local/bin:/usr/local/lib/jvm/openjdk11/bin:/opt/pyenv/shims:/home/travis/.phpenv/shims:/home/travis/perl5/perlbrew/bin:/home/travis/.nvm/versions/node/v8.12.0/bin:/home/travis/.rvm/gems/ruby-2.5.3/bin:/home/travis/.rvm/gems/ruby-2.5.3@global/bin:/home/travis/.rvm/rubies/ruby-2.5.3/bin:/home/travis/gopath/bin:/home/travis/.gimme/versions/go1.11.1.linux.amd64/bin:/usr/local/maven-3.6.3/bin:/usr/local/cmake-3.12.4/bin:/usr/local/clang-7.0.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/home/travis/.rvm/bin:/home/travis/.phpenv/bin:/opt/pyenv/bin:/home/travis/.yarn/bin:/home/travis/gopath/bin" go-bindata -nomemcopy -o pkg/minikube/assets/assets.go -pkg assets deploy/addons/...
gofmt -s -w pkg/minikube/assets/assets.go
PATH="/home/travis/gopath/bin:/home/travis/.gimme/versions/go1.15.2.linux.amd64/bin:/home/travis/bin:/home/travis/bin:/home/travis/.local/bin:/usr/local/lib/jvm/openjdk11/bin:/opt/pyenv/shims:/home/travis/.phpenv/shims:/home/travis/perl5/perlbrew/bin:/home/travis/.nvm/versions/node/v8.12.0/bin:/home/travis/.rvm/gems/ruby-2.5.3/bin:/home/travis/.rvm/gems/ruby-2.5.3@global/bin:/home/travis/.rvm/rubies/ruby-2.5.3/bin:/home/travis/gopath/bin:/home/travis/.gimme/versions/go1.11.1.linux.amd64/bin:/usr/local/maven-3.6.3/bin:/usr/local/cmake-3.12.4/bin:/usr/local/clang-7.0.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/home/travis/.rvm/bin:/home/travis/.phpenv/bin:/opt/pyenv/bin:/home/travis/.yarn/bin:/home/travis/gopath/bin" go-bindata -nomemcopy -o pkg/minikube/translate/translations.go -pkg translate translations/...
gofmt -s -w pkg/minikube/translate/translations.go
MINIKUBE_LDFLAGS="-X k8s.io/minikube/pkg/version.version=v1.14.1 -X k8s.io/minikube/pkg/version.isoVersion=v1.14.0 -X k8s.io/minikube/pkg/version.isoPath=minikube/iso -X k8s.io/minikube/pkg/version.gitCommitID="ecf715b44b9f74a5d6cd846b638597b8f32697bc" -X k8s.io/minikube/pkg/version.storageProvisionerVersion=v3" ./test.sh
= schema_check ==========================================================
go: downloading github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f
go: downloading github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415
go: downloading github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f
ok
= go test ===============================================================
go: downloading k8s.io/client-go v0.17.3
go: downloading golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a
go: downloading github.com/olekukonko/tablewriter v0.0.4
go: downloading golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37
go: downloading github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51
go: downloading github.com/docker/go-units v0.4.0
go: downloading github.com/cloudfoundry-attic/jibber_jabber v0.0.0-20151120183258-bcc4c8345a21
go: downloading github.com/juju/clock v0.0.0-20190205081909-9c5c9712527c
go: downloading github.com/pkg/profile v0.0.0-20161223203901-3a8809bd8a80
go: downloading github.com/machine-drivers/machine v0.7.1-0.20200810185219-7d42fed1b770
go: downloading k8s.io/kubernetes v1.18.5
go: downloading k8s.io/apimachinery v0.17.3
go: downloading golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6
go: downloading github.com/mattn/go-runewidth v0.0.7
go: downloading github.com/shirou/gopsutil v2.18.12+incompatible
go: downloading github.com/spf13/cobra v1.0.0
go: downloading k8s.io/api v0.17.3
go: downloading golang.org/x/text v0.3.2
go: downloading github.com/intel-go/cpuid v0.0.0-20181003105527-1a4a6f06a1c6
go: downloading github.com/afbjorklund/go-containerregistry v0.0.0-20200902152226-fbad78ec2813
go: downloading github.com/libvirt/libvirt-go v3.4.0+incompatible
go: downloading k8s.io/klog v1.0.0
go: downloading github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7
go: downloading sigs.k8s.io/sig-storage-lib-external-provisioner v4.0.0+incompatible
go: downloading github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2
go: downloading golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2
go: downloading sigs.k8s.io/sig-storage-lib-external-provisioner/v5 v5.0.0
go: downloading github.com/gogo/protobuf v1.3.1
go: downloading github.com/google/gofuzz v1.1.0
go: downloading github.com/blang/semver v3.5.0+incompatible
go: downloading github.com/google/slowjam v0.0.0-20200530021616-df27e642fe7b
go: downloading github.com/hooklift/iso9660 v0.0.0-20170318115843-1cf07e5970d8
go: downloading github.com/imdario/mergo v0.3.9
go: downloading github.com/spf13/pflag v1.0.5
go: downloading github.com/prometheus/client_golang v1.4.1
go: downloading golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1
go: downloading github.com/docker/cli v0.0.0-20200303162255-7d407207c304
go: downloading github.com/spf13/viper v1.7.0
go: downloading github.com/machine-drivers/docker-machine-driver-vmware v0.1.1
go: downloading github.com/prometheus/common v0.9.1
go: downloading gopkg.in/yaml.v2 v2.3.0
go: downloading golang.org/x/sys v0.0.0-20200523222454-059865788121
go: downloading github.com/hashicorp/hcl v1.0.0
go: downloading golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d
go: downloading github.com/matttproud/golang_protobuf_extensions v1.0.1
go: downloading github.com/docker/go-connections v0.4.0
go: downloading github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e
go: downloading cloud.google.com/go v0.57.0
go: downloading github.com/mitchellh/mapstructure v1.3.1
go: downloading github.com/golang/protobuf v1.4.2
go: downloading github.com/magiconair/properties v1.8.1
go: downloading github.com/docker/distribution v2.7.1+incompatible
go: downloading github.com/spf13/cast v1.3.1
go: downloading github.com/davecgh/go-spew v1.1.1
go: downloading github.com/cenkalti/backoff v2.2.1+incompatible
go: downloading github.com/pkg/errors v0.9.1
go: downloading github.com/miekg/dns v1.1.27
go: downloading github.com/mattn/go-isatty v0.0.12
go: downloading github.com/json-iterator/go v1.1.9
go: downloading github.com/modern-go/reflect2 v1.0.1
go: downloading github.com/subosito/gotenv v1.2.0
go: downloading github.com/cheggaaa/pb v1.0.27
go: downloading github.com/cheggaaa/pb/v3 v3.0.1
go: downloading google.golang.org/protobuf v1.24.0
go: downloading github.com/google/go-github v17.0.0+incompatible
go: downloading github.com/VividCortex/ewma v1.1.1
go: downloading github.com/c4milo/gotoolkit v0.0.0-20170318115440-bcc06269efa9
go: downloading sigs.k8s.io/yaml v1.2.0
go: downloading cloud.google.com/go/storage v1.8.0
go: downloading github.com/opencontainers/go-digest v1.0.0-rc1
go: downloading github.com/spf13/jwalterweatherman v1.1.0
go: downloading k8s.io/klog/v2 v2.3.0
go: downloading github.com/pelletier/go-toml v1.8.0
go: downloading k8s.io/kubectl v0.17.3
go: downloading github.com/cloudevents/sdk-go/v2 v2.1.0
go: downloading github.com/mattn/go-colorable v0.1.6
go: downloading github.com/sayboras/dockerclient v1.0.0
go: downloading github.com/go-logr/logr v0.2.0
go: downloading gopkg.in/inf.v0 v0.9.1
go: downloading gopkg.in/ini.v1 v1.56.0
go: downloading github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd
go: downloading google.golang.org/genproto v0.0.0-20200527145253-8367513e4ece
go: downloading google.golang.org/api v0.25.0
go: downloading github.com/juju/mutex v0.0.0-20180619145857-d21b13acf4bf
go: downloading github.com/google/go-querystring v1.0.0
go: downloading github.com/beorn7/perks v1.0.1
go: downloading k8s.io/kube-openapi v0.0.0-20200410145947-61e04a5be9a6
go: downloading github.com/mitchellh/go-ps v0.0.0-20190716172923-621e5597135b
go: downloading go.opencensus.io v0.22.3
go: downloading github.com/lightstep/tracecontext.go v0.0.0-20181129014701-1757c391b1ac
go: downloading github.com/prometheus/client_model v0.2.0
go: downloading github.com/googleapis/gax-go v2.0.2+incompatible
go: downloading github.com/googleapis/gax-go/v2 v2.0.5
go: downloading github.com/afbjorklund/go-getter v1.4.1-0.20201020145846-c0da14b4bffe
go: downloading github.com/fsnotify/fsnotify v1.4.9
go: downloading google.golang.org/grpc v1.29.1
go: downloading github.com/russross/blackfriday v1.5.3-0.20200218234912-41c5fccfd6f6
go: downloading github.com/otiai10/copy v1.0.2
go: downloading github.com/fatih/color v1.9.0
go: downloading github.com/googleapis/gnostic v0.3.0
go: downloading github.com/google/uuid v1.1.1
go: downloading github.com/docker/docker-credential-helpers v0.6.3
go: downloading github.com/hashicorp/go-version v1.2.0
go: downloading github.com/prometheus/procfs v0.0.8
go: downloading github.com/mitchellh/go-testing-interface v1.0.0
go: downloading github.com/ulikunitz/xz v0.5.7
go: downloading github.com/opencontainers/image-spec v1.0.1
go: downloading github.com/juju/errors v0.0.0-20190806202954-0232dcc7464d
go: downloading github.com/mitchellh/go-wordwrap v1.0.0
go: downloading github.com/hashicorp/go-cleanhttp v0.5.1
go: downloading github.com/pkg/browser v0.0.0-20160118053552-9302be274faa
go: downloading github.com/cespare/xxhash v1.1.0
go: downloading k8s.io/cluster-bootstrap v0.17.3
go: downloading k8s.io/utils v0.0.0-20200324210504-a9aa75ae1b89
go: downloading github.com/sirupsen/logrus v1.6.0
go: downloading github.com/cespare/xxhash/v2 v2.1.1
go: downloading github.com/aws/aws-sdk-go v1.31.6
go: downloading go.uber.org/zap v1.10.0
go: downloading github.com/golang-collections/collections v0.0.0-20130729185459-604e922904d3
go: downloading github.com/MakeNowJust/heredoc v0.0.0-20170808103936-bb23615498cd
go: downloading github.com/containerd/containerd v1.3.1-0.20191213020239-082f7e3aed57
go: downloading k8s.io/component-base v0.17.3
go: downloading github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d
go: downloading github.com/cpuguy83/go-md2man v1.0.10
go: downloading github.com/cpuguy83/go-md2man/v2 v2.0.0
go: downloading github.com/spf13/afero v1.2.2
go: downloading github.com/mitchellh/go-homedir v1.1.0
go: downloading github.com/hashicorp/go-safetemp v1.0.0
go: downloading github.com/russross/blackfriday/v2 v2.0.1
go: downloading go.uber.org/atomic v1.4.0
go: downloading github.com/hashicorp/golang-lru v0.5.3
go: downloading go.uber.org/multierr v1.1.0
go: downloading github.com/shurcooL/sanitized_anchor_name v1.0.0
go: downloading github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96
go: downloading github.com/google/go-cmp v0.4.1
go: downloading github.com/jmespath/go-jmespath v0.3.0
go: downloading github.com/pmezard/go-difflib v1.0.0
go: downloading github.com/evanphx/json-patch v4.5.0+incompatible
go: downloading golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543
--- FAIL: TestGenerateDocs (0.02s)
    --- FAIL: TestGenerateDocs/start (0.01s)
        generate-docs_test.go:47: Docs are not updated. Please run `make generate-docs` to update commands documentation:   strings.Join({
              	... // 4472 identical bytes
              	"set, force the container runtime to use sytemd as cgroup manager",
              	". Currently available for docker and crio. Defaults to false.\n  ",
            - 	"    --generic-ip-address string         IP address (generic)\n   ",
            - 	"   --generic-ssh-key string            SSH key (generic)\n      -",
            - 	"-generic-ssh-port int              SSH port (generic) (default 2",
            - 	"2)\n      --generic-ssh-user string           SSH user (generic) ",
            - 	"(default \"root\")\n  ",
              	"-h, --help                              help for start\n      --h",
              	"ost-dns-resolver                 Enable host resolver for NAT DN",
              	... // 7357 identical bytes
              }, "")
E1024 14:24:56.520666   12073 out.go:142] [unset errFile]: ! Local proxy ignored: not passing HTTP_PROXY=127.0.0.1:3128 to docker env.
E1024 14:24:56.521175   12073 out.go:142] [unset errFile]: ! Local proxy ignored: not passing HTTP_PROXY=127.0.0.1:3128 to docker env.
E1024 14:24:56.521309   12073 out.go:142] [unset errFile]: ! Local proxy ignored: not passing HTTP_PROXY=localhost:3128 to docker env.
E1024 14:24:56.521534   12073 out.go:142] [unset errFile]: ! Local proxy ignored: not passing HTTP_PROXY=localhost:3128 to docker env.
E1024 14:24:56.521657   12073 out.go:142] [unset errFile]: ! Local proxy ignored: not passing HTTP_PROXY=http://localhost:3128 to docker env.
E1024 14:24:56.521846   12073 out.go:142] [unset errFile]: ! Local proxy ignored: not passing HTTP_PROXY=http://localhost:3128 to docker env.
E1024 14:24:56.521947   12073 out.go:142] [unset errFile]: ! Local proxy ignored: not passing HTTP_PROXY=http://127.0.0.1:3128 to docker env.
E1024 14:24:56.522145   12073 out.go:142] [unset errFile]: ! Local proxy ignored: not passing HTTP_PROXY=http://127.0.0.1:3128 to docker env.
FAIL
coverage: 17.8% of statements
FAIL	k8s.io/minikube/cmd/minikube/cmd	5.839s
ok  	k8s.io/minikube/cmd/minikube/cmd/config	0.039s	coverage: 21.2% of statements
ok  	k8s.io/minikube/pkg/addons	0.041s	coverage: 49.1% of statements
ok  	k8s.io/minikube/pkg/drivers	0.007s	coverage: 19.6% of statements
ok  	k8s.io/minikube/pkg/drivers/hyperkit	0.006s	coverage: 77.3% of statements
ok  	k8s.io/minikube/pkg/drivers/kic/oci	0.018s	coverage: 6.4% of statements
ok  	k8s.io/minikube/pkg/drivers/kvm	0.038s	coverage: 2.3% of statements
ok  	k8s.io/minikube/pkg/minikube/bootstrapper	0.864s	coverage: 55.7% of statements
ok  	k8s.io/minikube/pkg/minikube/bootstrapper/bsutil	0.146s	coverage: 62.4% of statements
ok  	k8s.io/minikube/pkg/minikube/bootstrapper/bsutil/ktmpl	0.008s	coverage: 100.0% of statements
ok  	k8s.io/minikube/pkg/minikube/bootstrapper/images	0.008s	coverage: 82.0% of statements
ok  	k8s.io/minikube/pkg/minikube/cluster	0.071s	coverage: 14.2% of statements
ok  	k8s.io/minikube/pkg/minikube/command	0.035s	coverage: 4.2% of statements
ok  	k8s.io/minikube/pkg/minikube/config	0.154s	coverage: 68.1% of statements
ok  	k8s.io/minikube/pkg/minikube/cruntime	0.053s	coverage: 36.7% of statements
ok  	k8s.io/minikube/pkg/minikube/docker	0.043s	coverage: 20.8% of statements
ok  	k8s.io/minikube/pkg/minikube/driver	0.021s	coverage: 40.1% of statements
ok  	k8s.io/minikube/pkg/minikube/extract	0.011s	coverage: 58.6% of statements
ok  	k8s.io/minikube/pkg/minikube/image	0.031s	coverage: 3.0% of statements
ok  	k8s.io/minikube/pkg/minikube/kubeconfig	0.031s	coverage: 81.2% of statements
ok  	k8s.io/minikube/pkg/minikube/localpath	0.011s	coverage: 49.3% of statements
ok  	k8s.io/minikube/pkg/minikube/logs	0.041s	coverage: 1.3% of statements
ok  	k8s.io/minikube/pkg/minikube/machine	1.088s	coverage: 35.8% of statements
ok  	k8s.io/minikube/pkg/minikube/mustload	0.058s	coverage: 10.5% of statements
ok  	k8s.io/minikube/pkg/minikube/notify	0.022s	coverage: 92.9% of statements
ok  	k8s.io/minikube/pkg/minikube/out	0.017s	coverage: 66.0% of statements
ok  	k8s.io/minikube/pkg/minikube/out/register	0.007s	coverage: 54.5% of statements
ok  	k8s.io/minikube/pkg/minikube/perf	4.013s	coverage: 21.1% of statements
ok  	k8s.io/minikube/pkg/minikube/proxy	0.010s	coverage: 68.7% of statements
ok  	k8s.io/minikube/pkg/minikube/reason	0.008s	coverage: 80.0% of statements
ok  	k8s.io/minikube/pkg/minikube/registry	0.011s	coverage: 75.5% of statements
ok  	k8s.io/minikube/pkg/minikube/service	0.072s	coverage: 84.2% of statements
ok  	k8s.io/minikube/pkg/minikube/shell	0.003s	coverage: 97.1% of statements
ok  	k8s.io/minikube/pkg/minikube/storageclass	0.029s	coverage: 100.0% of statements
ok  	k8s.io/minikube/pkg/minikube/style	0.003s	coverage: 100.0% of statements
ok  	k8s.io/minikube/pkg/minikube/sysinit	0.026s	coverage: 6.5% of statements
ok  	k8s.io/minikube/pkg/minikube/translate	0.009s	coverage: 10.5% of statements
ok  	k8s.io/minikube/pkg/minikube/tunnel	1.768s	coverage: 64.2% of statements
ok  	k8s.io/minikube/pkg/util	0.995s	coverage: 75.7% of statements
ok  	k8s.io/minikube/pkg/util/lock	0.007s	coverage: 22.2% of statements
ok  	k8s.io/minikube/pkg/util/retry	0.004s	coverage: 0.0% of statements
FAIL
Makefile:315: recipe for target 'test' failed
make: *** [test] Error 32
TravisBuddy Request Identifier: ed65bcc0-1604-11eb-94fa-edf6748ec8ed

This driver connects to an already existing virtual machine,
using the provided IP address and SSH user/key/port parameters.

On this machine, libmachine will provision the docker daemon
and minikube will bootstrap the kubernetes cluster (as usual).
It is not supported anyway, and just throws errors.
There is no use to restart or to retry, just give up.

This should never be a problem with "none", though.
That always return running, while generic tests ssh.
Copy link

@priyawadhwa priyawadhwa left a comment

Choose a reason for hiding this comment

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

This is looking really good! Is there any chance we could write an integration test? Maybe vagrant would work in one of our CI environments?

@@ -212,6 +217,12 @@ func initNetworkingFlags() {
startCmd.Flags().String(serviceCIDR, constants.DefaultServiceCIDR, "The CIDR to be used for service cluster IPs.")
startCmd.Flags().StringArrayVar(&config.DockerEnv, "docker-env", nil, "Environment variables to pass to the Docker daemon. (format: key=value)")
startCmd.Flags().StringArrayVar(&config.DockerOpt, "docker-opt", nil, "Specify arbitrary flags to pass to the Docker daemon. (format: key=value)")

// generic
startCmd.Flags().String(genericIPAddress, "", "IP address (generic)")

Choose a reason for hiding this comment

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

We should validate that all of these flags are set and exit with a helpful error message if the user has forgotten anything

Copy link
Collaborator Author

@afbjorklund afbjorklund Oct 28, 2020

Choose a reason for hiding this comment

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

I did that, but it was lost during the rebase. It should at least give an error if forgetting to provide an IP address ?

The other parameters are optional, by default it will connect as root on port 22 and assume keys are in ssh-agent

pkg/minikube/machine/fix.go Outdated Show resolved Hide resolved
pkg/minikube/machine/stop.go Outdated Show resolved Hide resolved
@afbjorklund
Copy link
Collaborator Author

Thanks for the review, I will address some of the style issues shortly.

Is there any chance we could write an integration test? Maybe vagrant would work in one of our CI environments?

As for testing, maybe we could "reuse" the same VM over and over ?

I also want to complete the fork of the driver, will get started on that...

@afbjorklund
Copy link
Collaborator Author

afbjorklund commented Oct 28, 2020

I also want to complete the fork of the driver, will get started on that...

When I talk about the "fork", I mean the change that @medyagh did to the none driver...

TODO from #6873 (comment)

Do the same thing here, change the API so that "stop" means stop kubelet + containers ?

Before:

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")
}

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

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

After:

// Start a host
func (d *Driver) Start() error {
        var err error
        d.IPAddress, err = d.GetIP()
        if err != nil {
                return err
        }
        d.URL, err = d.GetURL()
        if err != nil {
                return err
        }
        return nil
}

// Stop a host gracefully, including any containers that we are managing.
func (d *Driver) Stop() error {
	if err := sysinit.New(d.exec).Stop("kubelet"); err != nil {
		klog.Warningf("couldn't stop kubelet. will continue with stop anyways: %v", err)
		if err := sysinit.New(d.exec).ForceStop("kubelet"); err != nil {
			klog.Warningf("couldn't force stop kubelet. will continue with stop anyways: %v", err)
		}
	}
	containers, err := d.runtime.ListContainers(cruntime.ListOptions{})
	if err != nil {
		return errors.Wrap(err, "containers")
	}
	if len(containers) > 0 {
		if err := d.runtime.StopContainers(containers); err != nil {
			return errors.Wrap(err, "stop containers")
		}
	}
	klog.Infof("none driver is stopped!")
	return nil
}

// Restart a host
func (d *Driver) Restart() error {
	return restartKubelet(d.exec)
}

// restartKubelet restarts the kubelet
func restartKubelet(cr command.Runner) error {
        klog.Infof("restarting kubelet.service ...")
        c := exec.Command("sudo", "systemctl", "restart", "kubelet.service")
        if _, err := cr.RunCmd(c); err != nil {
                return err
        }
        return nil
}

// Kill stops a host forcefully, including any containers that we are managing.
func (d *Driver) Kill() error {
        if err := sysinit.New(d.exec).ForceStop("kubelet"); err != nil {
                klog.Warningf("couldn't force stop kubelet. will continue with kill anyways: %v", err)
        }

        // First try to gracefully stop containers
        containers, err := d.runtime.ListContainers(cruntime.ListOptions{})
        if err != nil {
                return errors.Wrap(err, "containers")
        }
        if len(containers) == 0 {
                return nil
        }
        // Try to be graceful before sending SIGKILL everywhere.
        if err := d.runtime.StopContainers(containers); err != nil {
                return errors.Wrap(err, "stop")
        }

        containers, err = d.runtime.ListContainers(cruntime.ListOptions{})
        if err != nil {
                return errors.Wrap(err, "containers")
        }
        if len(containers) == 0 {
                return nil
        }
        if err := d.runtime.KillContainers(containers); err != nil {
                return errors.Wrap(err, "kill")
        }
        return nil
}

If we do the same API change here, we don't need those conditionals...

Basically we change it from managing the host, to managing k8s.
Which is a very weird thing to do for docker-machine, and thus: a fork

We could probably factor those common operations out to a separate file.

@afbjorklund
Copy link
Collaborator Author

The before and after can be rather drastic:

Before:

        _, err := drivers.RunSSHCommandFromDriver(d, "sudo shutdown -r now") // a.k.a. "reboot"

After:

        _, err := drivers.RunSSHCommandFromDriver(d, "sudo systemctl restart kubelet.service")

But there is no minikube restart command...

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.

do you mind putting in the output an example usage of this driver?

@afbjorklund
Copy link
Collaborator Author

afbjorklund commented Oct 28, 2020

I will give it some more testing locally, basically you will need a "raw" VM - I used Vagrant to set one up:

But it could do with some updating, and it is rather spread out over several comments and issues too...

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/focal64"

  config.vm.network "private_network", type: "dhcp"

  config.vm.provider "virtualbox" do |vb|
     vb.cpus = 2
     vb.memory = "2048"

    # focal64 bug: https://bugs.launchpad.net/cloud-images/+bug/1829625
    vb.customize [ "modifyvm", :id, "--uartmode1", "file", File::NULL ]
  end

  config.vm.provision "shell", inline: <<-SHELL
    apt-get update
    apt-get install -y conntrack 
  SHELL
end

@afbjorklund
Copy link
Collaborator Author

afbjorklund commented Oct 28, 2020

After the fork (of the driver, from libmachine), we might also want to change the name of the driver...

@afbjorklund
Copy link
Collaborator Author

afbjorklund commented Oct 28, 2020

do you mind putting in the output an example usage of this driver?

Assuming that this works: ssh root@$HOST

(Normally that requires a ssh-copy-id root@$HOST or similar ssh key setup)

Then you should be able to use this setup:

minikube start --driver generic --generic-ip-address $HOST

Where $HOST would be the IP address of the VM that you are providing.

As usually, it needs to have 2 vCPU and 2 GB RAM (but not Docker etc)

You would also need to have ssh running, and the user needs sudo access.

Any VM that currently works with --driver none should also work remotely.

@afbjorklund
Copy link
Collaborator Author

Forgot that the list of drivers is hard-coded now... (supportedDrivers)

✨  Using the generic driver based on user configuration

❌  Exiting due to DRV_UNSUPPORTED_OS: The driver 'generic' is not supported on linux

All drivers *must* be in "supportedDrivers"

Delete Podman on Darwin (Mac), not available
@afbjorklund afbjorklund changed the title Add minikube support for the "generic" VM driver WIP: Add minikube support for the "generic" VM driver Oct 28, 2020
@k8s-ci-robot k8s-ci-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Oct 28, 2020
It was failing to install the "docker" package

Since the provisioning was defaulting to ISO
@TravisBuddy
Copy link

Travis tests have failed

Hey @afbjorklund,
Please read the following log in order to understand the failure reason.
It'll be awesome if you fix what's wrong and commit the changes.

1st Build

View build log

make test
PATH="/home/travis/gopath/bin:/home/travis/.gimme/versions/go1.15.2.linux.amd64/bin:/home/travis/bin:/home/travis/bin:/home/travis/.local/bin:/usr/local/lib/jvm/openjdk11/bin:/opt/pyenv/shims:/home/travis/.phpenv/shims:/home/travis/perl5/perlbrew/bin:/home/travis/.nvm/versions/node/v8.12.0/bin:/home/travis/.rvm/gems/ruby-2.5.3/bin:/home/travis/.rvm/gems/ruby-2.5.3@global/bin:/home/travis/.rvm/rubies/ruby-2.5.3/bin:/home/travis/gopath/bin:/home/travis/.gimme/versions/go1.11.1.linux.amd64/bin:/usr/local/maven-3.6.3/bin:/usr/local/cmake-3.12.4/bin:/usr/local/clang-7.0.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/home/travis/.rvm/bin:/home/travis/.phpenv/bin:/opt/pyenv/bin:/home/travis/.yarn/bin:/home/travis/gopath/bin" go-bindata -nomemcopy -o pkg/minikube/assets/assets.go -pkg assets deploy/addons/...
gofmt -s -w pkg/minikube/assets/assets.go
PATH="/home/travis/gopath/bin:/home/travis/.gimme/versions/go1.15.2.linux.amd64/bin:/home/travis/bin:/home/travis/bin:/home/travis/.local/bin:/usr/local/lib/jvm/openjdk11/bin:/opt/pyenv/shims:/home/travis/.phpenv/shims:/home/travis/perl5/perlbrew/bin:/home/travis/.nvm/versions/node/v8.12.0/bin:/home/travis/.rvm/gems/ruby-2.5.3/bin:/home/travis/.rvm/gems/ruby-2.5.3@global/bin:/home/travis/.rvm/rubies/ruby-2.5.3/bin:/home/travis/gopath/bin:/home/travis/.gimme/versions/go1.11.1.linux.amd64/bin:/usr/local/maven-3.6.3/bin:/usr/local/cmake-3.12.4/bin:/usr/local/clang-7.0.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/home/travis/.rvm/bin:/home/travis/.phpenv/bin:/opt/pyenv/bin:/home/travis/.yarn/bin:/home/travis/gopath/bin" go-bindata -nomemcopy -o pkg/minikube/translate/translations.go -pkg translate translations/...
gofmt -s -w pkg/minikube/translate/translations.go
MINIKUBE_LDFLAGS="-X k8s.io/minikube/pkg/version.version=v1.14.2 -X k8s.io/minikube/pkg/version.isoVersion=v1.14.0 -X k8s.io/minikube/pkg/version.isoPath=minikube/iso -X k8s.io/minikube/pkg/version.gitCommitID="ed833bfbfbd4403ac91562fe453da9bebf002bfa" -X k8s.io/minikube/pkg/version.storageProvisionerVersion=v3" ./test.sh
= schema_check ==========================================================
go: downloading github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f
go: downloading github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415
go: downloading github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f
ok
= go test ===============================================================
go: downloading k8s.io/client-go v0.17.3
go: downloading github.com/machine-drivers/machine v0.7.1-0.20200810185219-7d42fed1b770
go: downloading github.com/afbjorklund/go-containerregistry v0.0.0-20200902152226-fbad78ec2813
go: downloading github.com/spf13/cobra v1.0.0
go: downloading github.com/spf13/pflag v1.0.5
go: downloading k8s.io/kubectl v0.17.3
go: downloading github.com/shirou/gopsutil v2.18.12+incompatible
go: downloading github.com/cloudevents/sdk-go/v2 v2.1.0
go: downloading k8s.io/apimachinery v0.17.3
go: downloading go.uber.org/zap v1.10.0
go: downloading golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a
go: downloading github.com/mitchellh/go-ps v0.0.0-20190716172923-621e5597135b
go: downloading github.com/opencontainers/go-digest v1.0.0-rc1
go: downloading golang.org/x/text v0.3.2
go: downloading github.com/pkg/errors v0.9.1
go: downloading go.opencensus.io v0.22.3
go: downloading github.com/cloudfoundry-attic/jibber_jabber v0.0.0-20151120183258-bcc4c8345a21
go: downloading k8s.io/kubernetes v1.18.5
go: downloading github.com/cpuguy83/go-md2man v1.0.10
go: downloading go.uber.org/multierr v1.1.0
go: downloading github.com/gogo/protobuf v1.3.1
go: downloading github.com/cpuguy83/go-md2man/v2 v2.0.0
go: downloading github.com/blang/semver v3.5.0+incompatible
go: downloading github.com/mattn/go-isatty v0.0.12
go: downloading github.com/cenkalti/backoff v2.2.1+incompatible
go: downloading gopkg.in/yaml.v2 v2.3.0
go: downloading cloud.google.com/go v0.57.0
go: downloading google.golang.org/api v0.25.0
go: downloading github.com/lightstep/tracecontext.go v0.0.0-20181129014701-1757c391b1ac
go: downloading k8s.io/api v0.17.3
go: downloading golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a
go: downloading github.com/russross/blackfriday v1.5.3-0.20200218234912-41c5fccfd6f6
go: downloading sigs.k8s.io/sig-storage-lib-external-provisioner v4.0.0+incompatible
go: downloading gopkg.in/inf.v0 v0.9.1
go: downloading github.com/russross/blackfriday/v2 v2.0.1
go: downloading github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7
go: downloading github.com/pkg/browser v0.0.0-20160118053552-9302be274faa
go: downloading sigs.k8s.io/sig-storage-lib-external-provisioner/v5 v5.0.0
go: downloading github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2
go: downloading go.uber.org/atomic v1.4.0
go: downloading github.com/MakeNowJust/heredoc v0.0.0-20170808103936-bb23615498cd
go: downloading github.com/prometheus/client_golang v1.4.1
go: downloading github.com/prometheus/client_model v0.2.0
go: downloading github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e
go: downloading github.com/docker/go-units v0.4.0
go: downloading k8s.io/klog v1.0.0
go: downloading cloud.google.com/go/storage v1.8.0
go: downloading github.com/golang/protobuf v1.4.2
go: downloading golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d
go: downloading google.golang.org/genproto v0.0.0-20200527145253-8367513e4ece
go: downloading google.golang.org/protobuf v1.24.0
go: downloading github.com/google/go-github v17.0.0+incompatible
go: downloading github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51
go: downloading golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1
go: downloading github.com/olekukonko/tablewriter v0.0.4
go: downloading github.com/googleapis/gnostic v0.3.0
go: downloading github.com/docker/cli v0.0.0-20200303162255-7d407207c304
go: downloading github.com/beorn7/perks v1.0.1
go: downloading k8s.io/utils v0.0.0-20200324210504-a9aa75ae1b89
go: downloading github.com/google/gofuzz v1.1.0
go: downloading github.com/otiai10/copy v1.0.2
go: downloading github.com/google/uuid v1.1.1
go: downloading github.com/libvirt/libvirt-go v3.4.0+incompatible
go: downloading google.golang.org/grpc v1.29.1
go: downloading golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2
go: downloading golang.org/x/sys v0.0.0-20200523222454-059865788121
go: downloading github.com/google/slowjam v0.0.0-20200530021616-df27e642fe7b
go: downloading github.com/spf13/viper v1.7.0
go: downloading github.com/miekg/dns v1.1.27
go: downloading github.com/cespare/xxhash v1.1.0
go: downloading github.com/mitchellh/mapstructure v1.3.1
go: downloading github.com/cespare/xxhash/v2 v2.1.1
go: downloading github.com/hashicorp/golang-lru v0.5.3
go: downloading golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6
go: downloading github.com/shurcooL/sanitized_anchor_name v1.0.0
go: downloading k8s.io/kube-openapi v0.0.0-20200410145947-61e04a5be9a6
go: downloading github.com/mitchellh/go-wordwrap v1.0.0
go: downloading sigs.k8s.io/yaml v1.2.0
go: downloading github.com/opencontainers/image-spec v1.0.1
go: downloading github.com/googleapis/gax-go v2.0.2+incompatible
go: downloading github.com/googleapis/gax-go/v2 v2.0.5
go: downloading github.com/fsnotify/fsnotify v1.4.9
go: downloading github.com/google/go-querystring v1.0.0
go: downloading github.com/spf13/cast v1.3.1
go: downloading github.com/intel-go/cpuid v0.0.0-20181003105527-1a4a6f06a1c6
go: downloading github.com/juju/clock v0.0.0-20190205081909-9c5c9712527c
go: downloading github.com/mattn/go-runewidth v0.0.7
go: downloading github.com/docker/go-connections v0.4.0
go: downloading github.com/modern-go/reflect2 v1.0.1
go: downloading github.com/json-iterator/go v1.1.9
go: downloading github.com/google/go-cmp v0.5.2
go: downloading github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96
go: downloading github.com/docker/distribution v2.7.1+incompatible
go: downloading github.com/prometheus/procfs v0.0.8
go: downloading github.com/juju/mutex v0.0.0-20180619145857-d21b13acf4bf
go: downloading github.com/magiconair/properties v1.8.1
go: downloading github.com/subosito/gotenv v1.2.0
go: downloading github.com/spf13/jwalterweatherman v1.1.0
go: downloading github.com/docker/docker-credential-helpers v0.6.3
go: downloading k8s.io/klog/v2 v2.3.0
go: downloading github.com/prometheus/common v0.9.1
go: downloading github.com/hashicorp/hcl v1.0.0
go: downloading github.com/juju/errors v0.0.0-20190806202954-0232dcc7464d
go: downloading github.com/pkg/profile v0.0.0-20161223203901-3a8809bd8a80
go: downloading github.com/containerd/containerd v1.3.1-0.20191213020239-082f7e3aed57
go: downloading github.com/davecgh/go-spew v1.1.1
go: downloading k8s.io/component-base v0.17.3
go: downloading github.com/afbjorklund/go-getter v1.4.1-0.20201020145846-c0da14b4bffe
go: downloading github.com/pelletier/go-toml v1.8.0
go: downloading github.com/sayboras/dockerclient v1.0.0
go: downloading github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d
go: downloading github.com/machine-drivers/docker-machine-driver-vmware v0.1.1
go: downloading github.com/aws/aws-sdk-go v1.31.6
go: downloading github.com/spf13/afero v1.2.2
go: downloading github.com/hooklift/iso9660 v0.0.0-20170318115843-1cf07e5970d8
go: downloading github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd
go: downloading github.com/hashicorp/go-cleanhttp v0.5.1
go: downloading gopkg.in/ini.v1 v1.56.0
go: downloading github.com/sirupsen/logrus v1.6.0
go: downloading github.com/mitchellh/go-homedir v1.1.0
go: downloading github.com/c4milo/gotoolkit v0.0.0-20170318115440-bcc06269efa9
go: downloading github.com/cheggaaa/pb v1.0.27
go: downloading github.com/cheggaaa/pb/v3 v3.0.1
go: downloading github.com/imdario/mergo v0.3.9
go: downloading github.com/go-logr/logr v0.2.0
go: downloading github.com/VividCortex/ewma v1.1.1
go: downloading github.com/mattn/go-colorable v0.1.6
go: downloading github.com/mitchellh/go-testing-interface v1.0.0
go: downloading github.com/hashicorp/go-safetemp v1.0.0
go: downloading github.com/hashicorp/go-version v1.2.1
go: downloading github.com/ulikunitz/xz v0.5.7
go: downloading k8s.io/cluster-bootstrap v0.17.3
go: downloading github.com/fatih/color v1.9.0
go: downloading github.com/golang-collections/collections v0.0.0-20130729185459-604e922904d3
go: downloading github.com/matttproud/golang_protobuf_extensions v1.0.1
go: downloading github.com/jmespath/go-jmespath v0.3.0
go: downloading github.com/pmezard/go-difflib v1.0.0
go: downloading github.com/evanphx/json-patch v4.5.0+incompatible
go: downloading golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543
ok  	k8s.io/minikube/cmd/minikube/cmd	3.807s	coverage: 17.7% of statements
ok  	k8s.io/minikube/cmd/minikube/cmd/config	0.039s	coverage: 21.0% of statements
ok  	k8s.io/minikube/pkg/addons	0.106s	coverage: 50.9% of statements
ok  	k8s.io/minikube/pkg/drivers	0.007s	coverage: 19.6% of statements
ok  	k8s.io/minikube/pkg/drivers/hyperkit	0.033s	coverage: 77.3% of statements
ok  	k8s.io/minikube/pkg/drivers/kic/oci	0.020s	coverage: 6.4% of statements
ok  	k8s.io/minikube/pkg/drivers/kvm	0.035s	coverage: 2.3% of statements
ok  	k8s.io/minikube/pkg/minikube/bootstrapper	1.386s	coverage: 55.7% of statements
ok  	k8s.io/minikube/pkg/minikube/bootstrapper/bsutil	0.122s	coverage: 62.4% of statements
ok  	k8s.io/minikube/pkg/minikube/bootstrapper/bsutil/ktmpl	0.022s	coverage: 100.0% of statements
ok  	k8s.io/minikube/pkg/minikube/bootstrapper/images	0.012s	coverage: 82.0% of statements
ok  	k8s.io/minikube/pkg/minikube/cluster	0.072s	coverage: 14.2% of statements
ok  	k8s.io/minikube/pkg/minikube/command	0.030s	coverage: 4.2% of statements
ok  	k8s.io/minikube/pkg/minikube/config	0.132s	coverage: 68.1% of statements
ok  	k8s.io/minikube/pkg/minikube/cruntime	0.052s	coverage: 36.7% of statements
ok  	k8s.io/minikube/pkg/minikube/docker	0.036s	coverage: 20.8% of statements
--- FAIL: TestMachineType (0.00s)
    driver_test.go:82: mismatched machine type for driver generic: want =  got = VM
I1029 03:23:02.974636   13447 global.go:102] Querying for installed drivers using PATH=/home/travis/gopath/bin:/home/travis/.gimme/versions/go1.15.2.linux.amd64/bin:/home/travis/bin:/home/travis/bin:/home/travis/.local/bin:/usr/local/lib/jvm/openjdk11/bin:/opt/pyenv/shims:/home/travis/.phpenv/shims:/home/travis/perl5/perlbrew/bin:/home/travis/.nvm/versions/node/v8.12.0/bin:/home/travis/.rvm/gems/ruby-2.5.3/bin:/home/travis/.rvm/gems/ruby-2.5.3@global/bin:/home/travis/.rvm/rubies/ruby-2.5.3/bin:/home/travis/gopath/bin:/home/travis/.gimme/versions/go1.11.1.linux.amd64/bin:/usr/local/maven-3.6.3/bin:/usr/local/cmake-3.12.4/bin:/usr/local/clang-7.0.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/home/travis/.rvm/bin:/home/travis/.phpenv/bin:/opt/pyenv/bin:/home/travis/.yarn/bin
I1029 03:23:02.974679   13447 global.go:110] unhealthy priority: 6, state: {Installed:true Healthy:false Running:false NeedsImprovement:false Error:<nil> Fix: Doc:}
I1029 03:23:02.974742   13447 driver.go:238] not recommending "unhealthy" due to health: <nil>
I1029 03:23:02.974754   13447 driver.go:272] Picked: 
I1029 03:23:02.974777   13447 driver.go:273] Alternatives: []
I1029 03:23:02.974797   13447 driver.go:274] Rejects: [unhealthy]
I1029 03:23:02.974835   13447 global.go:102] Querying for installed drivers using PATH=/home/travis/gopath/bin:/home/travis/.gimme/versions/go1.15.2.linux.amd64/bin:/home/travis/bin:/home/travis/bin:/home/travis/.local/bin:/usr/local/lib/jvm/openjdk11/bin:/opt/pyenv/shims:/home/travis/.phpenv/shims:/home/travis/perl5/perlbrew/bin:/home/travis/.nvm/versions/node/v8.12.0/bin:/home/travis/.rvm/gems/ruby-2.5.3/bin:/home/travis/.rvm/gems/ruby-2.5.3@global/bin:/home/travis/.rvm/rubies/ruby-2.5.3/bin:/home/travis/gopath/bin:/home/travis/.gimme/versions/go1.11.1.linux.amd64/bin:/usr/local/maven-3.6.3/bin:/usr/local/cmake-3.12.4/bin:/usr/local/clang-7.0.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/home/travis/.rvm/bin:/home/travis/.phpenv/bin:/opt/pyenv/bin:/home/travis/.yarn/bin
I1029 03:23:02.974847   13447 global.go:110] unhealthy priority: 6, state: {Installed:true Healthy:false Running:false NeedsImprovement:false Error:<nil> Fix: Doc:}
I1029 03:23:02.974880   13447 global.go:110] discouraged priority: 3, state: {Installed:true Healthy:true Running:false NeedsImprovement:false Error:<nil> Fix: Doc:}
I1029 03:23:02.974916   13447 driver.go:243] not recommending "discouraged" due to priority: 3
I1029 03:23:02.974928   13447 driver.go:238] not recommending "unhealthy" due to health: <nil>
I1029 03:23:02.974938   13447 driver.go:272] Picked: 
I1029 03:23:02.974947   13447 driver.go:273] Alternatives: [discouraged]
I1029 03:23:02.974956   13447 driver.go:274] Rejects: [unhealthy]
I1029 03:23:02.975007   13447 global.go:102] Querying for installed drivers using PATH=/home/travis/gopath/bin:/home/travis/.gimme/versions/go1.15.2.linux.amd64/bin:/home/travis/bin:/home/travis/bin:/home/travis/.local/bin:/usr/local/lib/jvm/openjdk11/bin:/opt/pyenv/shims:/home/travis/.phpenv/shims:/home/travis/perl5/perlbrew/bin:/home/travis/.nvm/versions/node/v8.12.0/bin:/home/travis/.rvm/gems/ruby-2.5.3/bin:/home/travis/.rvm/gems/ruby-2.5.3@global/bin:/home/travis/.rvm/rubies/ruby-2.5.3/bin:/home/travis/gopath/bin:/home/travis/.gimme/versions/go1.11.1.linux.amd64/bin:/usr/local/maven-3.6.3/bin:/usr/local/cmake-3.12.4/bin:/usr/local/clang-7.0.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/home/travis/.rvm/bin:/home/travis/.phpenv/bin:/opt/pyenv/bin:/home/travis/.yarn/bin
I1029 03:23:02.975016   13447 global.go:110] unhealthy priority: 6, state: {Installed:true Healthy:false Running:false NeedsImprovement:false Error:<nil> Fix: Doc:}
I1029 03:23:02.975034   13447 global.go:110] discouraged priority: 3, state: {Installed:true Healthy:true Running:false NeedsImprovement:false Error:<nil> Fix: Doc:}
I1029 03:23:02.975040   13447 global.go:110] default priority: 6, state: {Installed:true Healthy:true Running:false NeedsImprovement:false Error:<nil> Fix: Doc:}
I1029 03:23:02.975074   13447 driver.go:243] not recommending "discouraged" due to priority: 3
I1029 03:23:02.975084   13447 driver.go:238] not recommending "unhealthy" due to health: <nil>
I1029 03:23:02.975104   13447 driver.go:272] Picked: default
I1029 03:23:02.975112   13447 driver.go:273] Alternatives: [discouraged]
I1029 03:23:02.975122   13447 driver.go:274] Rejects: [unhealthy]
I1029 03:23:02.975157   13447 global.go:102] Querying for installed drivers using PATH=/home/travis/gopath/bin:/home/travis/.gimme/versions/go1.15.2.linux.amd64/bin:/home/travis/bin:/home/travis/bin:/home/travis/.local/bin:/usr/local/lib/jvm/openjdk11/bin:/opt/pyenv/shims:/home/travis/.phpenv/shims:/home/travis/perl5/perlbrew/bin:/home/travis/.nvm/versions/node/v8.12.0/bin:/home/travis/.rvm/gems/ruby-2.5.3/bin:/home/travis/.rvm/gems/ruby-2.5.3@global/bin:/home/travis/.rvm/rubies/ruby-2.5.3/bin:/home/travis/gopath/bin:/home/travis/.gimme/versions/go1.11.1.linux.amd64/bin:/usr/local/maven-3.6.3/bin:/usr/local/cmake-3.12.4/bin:/usr/local/clang-7.0.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/home/travis/.rvm/bin:/home/travis/.phpenv/bin:/opt/pyenv/bin:/home/travis/.yarn/bin
I1029 03:23:02.975179   13447 global.go:110] discouraged priority: 3, state: {Installed:true Healthy:true Running:false NeedsImprovement:false Error:<nil> Fix: Doc:}
I1029 03:23:02.975194   13447 global.go:110] default priority: 6, state: {Installed:true Healthy:true Running:false NeedsImprovement:false Error:<nil> Fix: Doc:}
I1029 03:23:02.975216   13447 global.go:110] preferred priority: 7, state: {Installed:true Healthy:true Running:false NeedsImprovement:false Error:<nil> Fix: Doc:}
I1029 03:23:02.975235   13447 global.go:110] unhealthy priority: 6, state: {Installed:true Healthy:false Running:false NeedsImprovement:false Error:<nil> Fix: Doc:}
I1029 03:23:02.975264   13447 driver.go:243] not recommending "discouraged" due to priority: 3
I1029 03:23:02.975286   13447 driver.go:238] not recommending "unhealthy" due to health: <nil>
I1029 03:23:02.975306   13447 driver.go:272] Picked: preferred
I1029 03:23:02.975314   13447 driver.go:273] Alternatives: [default discouraged]
I1029 03:23:02.975325   13447 driver.go:274] Rejects: [unhealthy]
W1029 03:23:02.975649   13447 version.go:49] Unexpected driver: _invalid_
FAIL
coverage: 40.1% of statements
FAIL	k8s.io/minikube/pkg/minikube/driver	0.023s
ok  	k8s.io/minikube/pkg/minikube/extract	0.014s	coverage: 58.6% of statements
ok  	k8s.io/minikube/pkg/minikube/image	0.030s	coverage: 3.0% of statements
ok  	k8s.io/minikube/pkg/minikube/kubeconfig	0.029s	coverage: 81.2% of statements
ok  	k8s.io/minikube/pkg/minikube/localpath	0.008s	coverage: 49.3% of statements
ok  	k8s.io/minikube/pkg/minikube/logs	0.041s	coverage: 1.3% of statements
ok  	k8s.io/minikube/pkg/minikube/machine	1.092s	coverage: 35.7% of statements
ok  	k8s.io/minikube/pkg/minikube/mustload	0.056s	coverage: 10.5% of statements
ok  	k8s.io/minikube/pkg/minikube/notify	0.019s	coverage: 92.9% of statements
ok  	k8s.io/minikube/pkg/minikube/out	0.016s	coverage: 66.0% of statements
ok  	k8s.io/minikube/pkg/minikube/out/register	0.012s	coverage: 54.5% of statements
ok  	k8s.io/minikube/pkg/minikube/perf	4.025s	coverage: 21.1% of statements
ok  	k8s.io/minikube/pkg/minikube/proxy	0.013s	coverage: 68.7% of statements
ok  	k8s.io/minikube/pkg/minikube/reason	0.008s	coverage: 80.0% of statements
ok  	k8s.io/minikube/pkg/minikube/registry	0.010s	coverage: 75.5% of statements
ok  	k8s.io/minikube/pkg/minikube/service	0.067s	coverage: 84.2% of statements
ok  	k8s.io/minikube/pkg/minikube/shell	0.003s	coverage: 97.1% of statements
ok  	k8s.io/minikube/pkg/minikube/storageclass	0.033s	coverage: 100.0% of statements
ok  	k8s.io/minikube/pkg/minikube/style	0.003s	coverage: 100.0% of statements
ok  	k8s.io/minikube/pkg/minikube/sysinit	0.037s	coverage: 6.5% of statements
ok  	k8s.io/minikube/pkg/minikube/translate	0.009s	coverage: 10.5% of statements
ok  	k8s.io/minikube/pkg/minikube/tunnel	1.633s	coverage: 64.2% of statements
ok  	k8s.io/minikube/pkg/util	0.529s	coverage: 75.7% of statements
ok  	k8s.io/minikube/pkg/util/lock	0.018s	coverage: 22.2% of statements
ok  	k8s.io/minikube/pkg/util/retry	0.009s	coverage: 0.0% of statements
FAIL
Makefile:315: recipe for target 'test' failed
make: *** [test] Error 32
travis_time:end:1bef9d6c:start=1603941648578193506,finish=1603941812344228525,duration=163766035019,event=script
TravisBuddy Request Identifier: ec885ac0-1996-11eb-a6ec-b9eb403ed3be

@afbjorklund
Copy link
Collaborator Author

Added proper progress:

😄  minikube v1.14.1 on Ubuntu 20.04
✨  Using the generic driver based on existing profile
👍  Starting control plane node minikube in cluster minikube
🔗  Running remotely (CPUs=2, Memory=1987MB, Disk=39643MB) ...
🐳  Preparing Kubernetes v1.19.2 on Docker 19.03.13 ...
🔎  Verifying Kubernetes components...
🌟  Enabled addons: storage-provisioner, default-storageclass
🏄  Done! kubectl is now configured to use "minikube" by default

Compare with "none":

😄  minikube v1.14.1 on Ubuntu 20.04 (vbox/amd64)
✨  Using the none driver based on existing profile

🧯  The requested memory allocation of 1987MiB does not leave room for system overhead (total system memory: 1987MiB). You may face stability issues.
💡  Suggestion: Start minikube with less memory allocated: 'minikube start --memory=1987mb'

👍  Starting control plane node minikube in cluster minikube
🤹  Running on localhost (CPUs=2, Memory=1987MB, Disk=39642MB) ...
ℹ️  OS release is Ubuntu 20.04 LTS
🐳  Preparing Kubernetes v1.19.2 on Docker 19.03.13 ...
    ▪ kubelet.resolv-conf=/run/systemd/resolve/resolv.conf
🤹  Configuring local host environment ...

❗  The 'none' driver is designed for experts who need to integrate with an existing VM
💡  Most users should use the newer 'docker' driver instead, which does not require root!
📘  For more information, see: https://minikube.sigs.k8s.io/docs/reference/drivers/none/

❗  kubectl and minikube configuration will be stored in /root
❗  To use kubectl or minikube commands as your own user, you may need to relocate them. For example, to overwrite your own settings, run:

    ▪ sudo mv /root/.kube /root/.minikube $HOME
    ▪ sudo chown -R $USER $HOME/.kube $HOME/.minikube

💡  This can also be done automatically by setting the env var CHANGE_MINIKUBE_NONE_USER=true
🔎  Verifying Kubernetes components...
🌟  Enabled addons: storage-provisioner, default-storageclass
💡  kubectl not found. If you need it, try: 'minikube kubectl -- get pods -A'
🏄  Done! kubectl is now configured to use "minikube" by default

Main difference is that we need ssh to be up, so the progress and host info comes later

@TravisBuddy
Copy link

Travis tests have failed

Hey @afbjorklund,
Please read the following log in order to understand the failure reason.
It'll be awesome if you fix what's wrong and commit the changes.

1st Build

View build log

make test
PATH="/home/travis/gopath/bin:/home/travis/.gimme/versions/go1.15.2.linux.amd64/bin:/home/travis/bin:/home/travis/bin:/home/travis/.local/bin:/usr/local/lib/jvm/openjdk11/bin:/opt/pyenv/shims:/home/travis/.phpenv/shims:/home/travis/perl5/perlbrew/bin:/home/travis/.nvm/versions/node/v8.12.0/bin:/home/travis/.rvm/gems/ruby-2.5.3/bin:/home/travis/.rvm/gems/ruby-2.5.3@global/bin:/home/travis/.rvm/rubies/ruby-2.5.3/bin:/home/travis/gopath/bin:/home/travis/.gimme/versions/go1.11.1.linux.amd64/bin:/usr/local/maven-3.6.3/bin:/usr/local/cmake-3.12.4/bin:/usr/local/clang-7.0.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/home/travis/.rvm/bin:/home/travis/.phpenv/bin:/opt/pyenv/bin:/home/travis/.yarn/bin:/home/travis/gopath/bin" go-bindata -nomemcopy -o pkg/minikube/assets/assets.go -pkg assets deploy/addons/...
gofmt -s -w pkg/minikube/assets/assets.go
PATH="/home/travis/gopath/bin:/home/travis/.gimme/versions/go1.15.2.linux.amd64/bin:/home/travis/bin:/home/travis/bin:/home/travis/.local/bin:/usr/local/lib/jvm/openjdk11/bin:/opt/pyenv/shims:/home/travis/.phpenv/shims:/home/travis/perl5/perlbrew/bin:/home/travis/.nvm/versions/node/v8.12.0/bin:/home/travis/.rvm/gems/ruby-2.5.3/bin:/home/travis/.rvm/gems/ruby-2.5.3@global/bin:/home/travis/.rvm/rubies/ruby-2.5.3/bin:/home/travis/gopath/bin:/home/travis/.gimme/versions/go1.11.1.linux.amd64/bin:/usr/local/maven-3.6.3/bin:/usr/local/cmake-3.12.4/bin:/usr/local/clang-7.0.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/home/travis/.rvm/bin:/home/travis/.phpenv/bin:/opt/pyenv/bin:/home/travis/.yarn/bin:/home/travis/gopath/bin" go-bindata -nomemcopy -o pkg/minikube/translate/translations.go -pkg translate translations/...
gofmt -s -w pkg/minikube/translate/translations.go
MINIKUBE_LDFLAGS="-X k8s.io/minikube/pkg/version.version=v1.14.2 -X k8s.io/minikube/pkg/version.isoVersion=v1.14.0 -X k8s.io/minikube/pkg/version.isoPath=minikube/iso -X k8s.io/minikube/pkg/version.gitCommitID="55ea9dde61e89988e2ce722a9f66c2e99bd272ae" -X k8s.io/minikube/pkg/version.storageProvisionerVersion=v3" ./test.sh
= schema_check ==========================================================
go: downloading github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f
go: downloading github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415
go: downloading github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f
ok
= go test ===============================================================
go: downloading k8s.io/klog v1.0.0
go: downloading github.com/blang/semver v3.5.0+incompatible
go: downloading github.com/pkg/errors v0.9.1
go: downloading github.com/machine-drivers/machine v0.7.1-0.20200810185219-7d42fed1b770
go: downloading k8s.io/client-go v0.17.3
go: downloading golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a
go: downloading github.com/olekukonko/tablewriter v0.0.4
go: downloading k8s.io/apimachinery v0.17.3
go: downloading k8s.io/klog/v2 v2.4.0
go: downloading github.com/opencontainers/go-digest v1.0.0-rc1
go: downloading golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a
go: downloading github.com/pkg/browser v0.0.0-20160118053552-9302be274faa
go: downloading github.com/pkg/profile v0.0.0-20161223203901-3a8809bd8a80
go: downloading github.com/spf13/cobra v1.0.0
go: downloading golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6
go: downloading k8s.io/kubectl v0.17.3
go: downloading k8s.io/kubernetes v1.18.5
go: downloading github.com/afbjorklund/go-containerregistry v0.0.0-20200902152226-fbad78ec2813
go: downloading github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51
go: downloading github.com/cloudevents/sdk-go/v2 v2.1.0
go: downloading github.com/spf13/pflag v1.0.5
go: downloading github.com/mattn/go-isatty v0.0.12
go: downloading github.com/machine-drivers/docker-machine-driver-vmware v0.1.1
go: downloading k8s.io/api v0.17.3
go: downloading github.com/google/gofuzz v1.1.0
go: downloading github.com/cpuguy83/go-md2man v1.0.10
go: downloading go.opencensus.io v0.22.3
go: downloading github.com/cpuguy83/go-md2man/v2 v2.0.0
go: downloading github.com/cheggaaa/pb v1.0.27
go: downloading cloud.google.com/go v0.57.0
go: downloading github.com/cheggaaa/pb/v3 v3.0.1
go: downloading sigs.k8s.io/sig-storage-lib-external-provisioner v4.0.0+incompatible
go: downloading github.com/spf13/viper v1.7.0
go: downloading github.com/mattn/go-runewidth v0.0.7
go: downloading golang.org/x/sys v0.0.0-20200523222454-059865788121
go: downloading sigs.k8s.io/sig-storage-lib-external-provisioner/v5 v5.0.0
go: downloading github.com/docker/cli v0.0.0-20200303162255-7d407207c304
go: downloading github.com/gogo/protobuf v1.3.1
go: downloading github.com/russross/blackfriday v1.5.3-0.20200218234912-41c5fccfd6f6
go: downloading github.com/russross/blackfriday/v2 v2.0.1
go: downloading github.com/spf13/afero v1.2.2
go: downloading github.com/mattn/go-colorable v0.1.6
go: downloading gopkg.in/yaml.v2 v2.3.0
go: downloading github.com/prometheus/client_golang v1.4.1
go: downloading cloud.google.com/go/storage v1.8.0
go: downloading github.com/google/slowjam v0.0.0-20200530021616-df27e642fe7b
go: downloading github.com/libvirt/libvirt-go v3.4.0+incompatible
go: downloading google.golang.org/api v0.25.0
go: downloading github.com/prometheus/client_model v0.2.0
go: downloading github.com/MakeNowJust/heredoc v0.0.0-20170808103936-bb23615498cd
go: downloading k8s.io/utils v0.0.0-20200324210504-a9aa75ae1b89
go: downloading sigs.k8s.io/yaml v1.2.0
go: downloading github.com/fatih/color v1.9.0
go: downloading github.com/fsnotify/fsnotify v1.4.9
go: downloading github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7
go: downloading github.com/hashicorp/hcl v1.0.0
go: downloading github.com/prometheus/common v0.9.1
go: downloading google.golang.org/genproto v0.0.0-20200527145253-8367513e4ece
go: downloading go.uber.org/zap v1.10.0
go: downloading github.com/afbjorklund/go-getter v1.4.1-0.20201020145846-c0da14b4bffe
go: downloading github.com/aws/aws-sdk-go v1.31.6
go: downloading github.com/shirou/gopsutil v2.18.12+incompatible
go: downloading github.com/hashicorp/go-safetemp v1.0.0
go: downloading golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1
go: downloading github.com/mitchellh/go-testing-interface v1.0.0
go: downloading github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d
go: downloading golang.org/x/text v0.3.2
go: downloading github.com/googleapis/gax-go v2.0.2+incompatible
go: downloading github.com/googleapis/gax-go/v2 v2.0.5
go: downloading github.com/magiconair/properties v1.8.1
go: downloading github.com/cespare/xxhash v1.1.0
go: downloading github.com/shurcooL/sanitized_anchor_name v1.0.0
go: downloading github.com/cespare/xxhash/v2 v2.1.1
go: downloading github.com/docker/distribution v2.7.1+incompatible
go: downloading github.com/golang/protobuf v1.4.2
go: downloading github.com/cloudfoundry-attic/jibber_jabber v0.0.0-20151120183258-bcc4c8345a21
go: downloading github.com/hashicorp/go-version v1.2.1
go: downloading github.com/docker/go-connections v0.4.0
go: downloading google.golang.org/protobuf v1.24.0
go: downloading github.com/spf13/jwalterweatherman v1.1.0
go: downloading github.com/VividCortex/ewma v1.1.1
go: downloading github.com/google/uuid v1.1.1
go: downloading github.com/mitchellh/go-wordwrap v1.0.0
go: downloading github.com/mitchellh/go-ps v0.0.0-20190716172923-621e5597135b
go: downloading github.com/matttproud/golang_protobuf_extensions v1.0.1
go: downloading github.com/beorn7/perks v1.0.1
go: downloading github.com/prometheus/procfs v0.0.8
go: downloading golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2
go: downloading github.com/docker/docker-credential-helpers v0.6.3
go: downloading github.com/spf13/cast v1.3.1
go: downloading gopkg.in/ini.v1 v1.56.0
go: downloading github.com/modern-go/reflect2 v1.0.1
go: downloading github.com/sayboras/dockerclient v1.0.0
go: downloading github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2
go: downloading github.com/mitchellh/mapstructure v1.3.1
go: downloading gopkg.in/inf.v0 v0.9.1
go: downloading github.com/google/go-github v17.0.0+incompatible
go: downloading github.com/lightstep/tracecontext.go v0.0.0-20181129014701-1757c391b1ac
go: downloading github.com/mitchellh/go-homedir v1.1.0
go: downloading github.com/juju/clock v0.0.0-20190205081909-9c5c9712527c
go: downloading github.com/docker/go-units v0.4.0
go: downloading google.golang.org/grpc v1.29.1
go: downloading github.com/json-iterator/go v1.1.9
go: downloading k8s.io/cluster-bootstrap v0.17.3
go: downloading github.com/juju/mutex v0.0.0-20180619145857-d21b13acf4bf
go: downloading k8s.io/component-base v0.17.3
go: downloading go.uber.org/multierr v1.1.0
go: downloading github.com/cenkalti/backoff v2.2.1+incompatible
go: downloading github.com/ulikunitz/xz v0.5.7
go: downloading github.com/hashicorp/go-cleanhttp v0.5.1
go: downloading github.com/google/go-cmp v0.5.2
go: downloading github.com/juju/errors v0.0.0-20190806202954-0232dcc7464d
go: downloading go.uber.org/atomic v1.4.0
go: downloading github.com/containerd/containerd v1.3.1-0.20191213020239-082f7e3aed57
go: downloading github.com/sirupsen/logrus v1.6.0
go: downloading github.com/imdario/mergo v0.3.9
go: downloading github.com/pelletier/go-toml v1.8.0
go: downloading github.com/davecgh/go-spew v1.1.1
go: downloading github.com/google/go-querystring v1.0.0
go: downloading github.com/subosito/gotenv v1.2.0
go: downloading github.com/hashicorp/golang-lru v0.5.3
go: downloading golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d
go: downloading github.com/golang-collections/collections v0.0.0-20130729185459-604e922904d3
go: downloading github.com/otiai10/copy v1.0.2
go: downloading github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e
go: downloading github.com/hooklift/iso9660 v0.0.0-20170318115843-1cf07e5970d8
go: downloading github.com/go-logr/logr v0.3.0
go: downloading github.com/intel-go/cpuid v0.0.0-20181003105527-1a4a6f06a1c6
go: downloading k8s.io/kube-openapi v0.0.0-20200410145947-61e04a5be9a6
go: downloading github.com/c4milo/gotoolkit v0.0.0-20170318115440-bcc06269efa9
go: downloading github.com/opencontainers/image-spec v1.0.1
go: downloading github.com/googleapis/gnostic v0.3.0
go: downloading github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd
go: downloading github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96
go: downloading github.com/miekg/dns v1.1.27
go: downloading github.com/jmespath/go-jmespath v0.3.0
go: downloading github.com/pmezard/go-difflib v1.0.0
go: downloading github.com/evanphx/json-patch v4.5.0+incompatible
go: downloading golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543
--- FAIL: TestGenerateDocs (0.02s)
    --- FAIL: TestGenerateDocs/addons (0.01s)
        generate-docs_test.go:47: Docs are not updated. Please run `make generate-docs` to update commands documentation:   (
              	"""
              	... // 17 identical lines
              	```
              	
            - 	### Options
            + 	### Options inherited from parent commands
              	
              	```
            - 	  -h, --help   help for addons
            - 	```
            - 	
            - 	### Options inherited from parent commands
            - 	
            - 	```
              	      --add_dir_header                   If true, adds the file directory to the header of the log messages
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 22 identical lines
              	```
              	
            - 	### Options
            + 	### Options inherited from parent commands
              	
              	```
            - 	  -h, --help   help for configure
            - 	```
            - 	
            - 	### Options inherited from parent commands
            - 	
            - 	```
              	      --add_dir_header                   If true, adds the file directory to the header of the log messages
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 22 identical lines
              	```
              	
            - 	### Options
            + 	### Options inherited from parent commands
              	
              	```
            - 	  -h, --help   help for disable
            - 	```
            - 	
            - 	### Options inherited from parent commands
            - 	
            - 	```
              	      --add_dir_header                   If true, adds the file directory to the header of the log messages
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 9 identical lines
              	      --vmodule moduleSpec               comma-separated list of pattern=N settings for file-filtered logging
              	```
            - 	
            - 	## minikube addons enable
            - 	
            - 	Enables the addon w/ADDON_NAME within minikube (example: minikube addons enable dashboard). For a list of available addons use: minikube addons list 
              	
            - 	### Synopsis
            + 	## minikube addons enable
              	... // 136 identical, 19 removed, and 13 inserted lines
              	"""
              )
    --- FAIL: TestGenerateDocs/cache (0.00s)
        generate-docs_test.go:47: Docs are not updated. Please run `make generate-docs` to update commands documentation:   (
              	"""
              	... // 13 identical lines
              	Add, delete, or push a local image into minikube
              	
            - 	### Options
            + 	### Options inherited from parent commands
              	
              	```
            - 	  -h, --help   help for cache
            - 	```
            - 	
            - 	### Options inherited from parent commands
            - 	
            - 	```
              	      --add_dir_header                   If true, adds the file directory to the header of the log messages
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 22 identical lines
              	```
              	
            - 	### Options
            + 	### Options inherited from parent commands
              	
              	```
            - 	  -h, --help   help for add
            - 	```
            - 	
            - 	### Options inherited from parent commands
            - 	
            - 	```
              	      --add_dir_header                   If true, adds the file directory to the header of the log messages
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 22 identical lines
              	```
              	
            - 	### Options
            + 	### Options inherited from parent commands
              	
              	```
            - 	  -h, --help   help for delete
            - 	```
            - 	
            - 	### Options inherited from parent commands
            - 	
            - 	```
              	      --add_dir_header                   If true, adds the file directory to the header of the log messages
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 9 identical lines
              	      --vmodule moduleSpec               comma-separated list of pattern=N settings for file-filtered logging
              	```
            - 	
            - 	## minikube cache help
            - 	
            - 	Help about any command
              	
            - 	### Synopsis
            + 	## minikube cache help
              	... // 94 identical, 19 removed, and 13 inserted lines
              	"""
              )
    --- FAIL: TestGenerateDocs/completion (0.00s)
        generate-docs_test.go:47: Docs are not updated. Please run `make generate-docs` to update commands documentation:   (
              	"""
              	... // 36 identical lines
              	```
              	minikube completion SHELL [flags]
            - 	```
            - 	
            - 	### Options
            - 	
            - 	```
            - 	  -h, --help   help for completion
              	```
              	
              	... // 4 identical lines
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 13 identical lines
              	"""
              )
    --- FAIL: TestGenerateDocs/config (0.00s)
        generate-docs_test.go:47: Docs are not updated. Please run `make generate-docs` to update commands documentation:   (
              	"""
              	... // 47 identical lines
              	```
              	
            - 	### Options
            + 	### Options inherited from parent commands
              	
              	```
            - 	  -h, --help   help for config
            - 	```
            - 	
            - 	### Options inherited from parent commands
            - 	
            - 	```
              	      --add_dir_header                   If true, adds the file directory to the header of the log messages
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 28 identical lines
              	
              	```
            - 	  -h, --help            help for defaults
              	      --output string   Output format. Accepted values: [json]
              	```
              	... // 5 identical lines
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 22 identical lines
              	```
              	
            - 	### Options
            + 	### Options inherited from parent commands
              	
              	```
            - 	  -h, --help   help for get
            - 	```
            - 	
            - 	### Options inherited from parent commands
            - 	
            - 	```
              	      --add_dir_header                   If true, adds the file directory to the header of the log messages
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 23 identical lines
              	```
              	
            - 	### Options
            + 	### Options inherited from parent commands
              	
              	```
            - 	  -h, --help   help for help
            - 	```
            - 	
            - 	### Options inherited from parent commands
            - 	
            - 	```
              	      --add_dir_header                   If true, adds the file directory to the header of the log messages
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 9 identical lines
              	      --vmodule moduleSpec               comma-separated list of pattern=N settings for file-filtered logging
              	```
            - 	
            - 	## minikube config set
            - 	
            - 	Sets an individual value in a minikube config file
              	... // 95 identical, 20 removed, and 14 inserted lines
              	"""
              )
    --- FAIL: TestGenerateDocs/dashboard (0.00s)
        generate-docs_test.go:47: Docs are not updated. Please run `make generate-docs` to update commands documentation:   strings.Join({
              	... // 20 identical lines
              	"",
              	"```",
            - 	"  -h, --help   help for dashboard",
            - 	"      --url    Display dashboard URL instead of opening a browser",
            + 	"      --url   Display dashboard URL instead of opening a browser",
              	"```",
              	"",
              	... // 4 identical lines
              	"      --alsologtostderr                  log to standard error as well as files",
              	`  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")`,
            + 	"  -h, --help                             ",
              	"      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)",
              	"      --log_dir string                   If non-empty, write log files in this directory",
              	... // 13 identical lines
              }, "\n")
    --- FAIL: TestGenerateDocs/delete (0.00s)
        generate-docs_test.go:47: Docs are not updated. Please run `make generate-docs` to update commands documentation:   (
              	"""
              	... // 22 identical lines
              	```
              	      --all     Set flag to delete all profiles
            - 	  -h, --help    help for delete
              	      --purge   Set this flag to delete the '.minikube' folder from your user directory.
              	```
              	... // 5 identical lines
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 13 identical lines
              	"""
              )
    --- FAIL: TestGenerateDocs/docker-env (0.00s)
        generate-docs_test.go:47: Docs are not updated. Please run `make generate-docs` to update commands documentation:   (
            �� 	"""
              	... // 20 identical lines
              	
              	```
            - 	  -h, --help           help for docker-env
              	      --no-proxy       Add machine IP to NO_PROXY environment variable
              	      --shell string   Force environment to be configured for a specified shell: [fish, cmd, powershell, tcsh, bash, zsh], default is auto-detect
              	... // 7 identical lines
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 13 identical lines
              	"""
              )
    --- FAIL: TestGenerateDocs/ip (0.00s)
        generate-docs_test.go:47: Docs are not updated. Please run `make generate-docs` to update commands documentation:   (
              	"""
              	... // 15 identical lines
              	```
              	minikube ip [flags]
            - 	```
            - 	
            - 	### Options
            - 	
            - 	```
            - 	  -h, --help   help for ip
              	```
              	
              	... // 4 identical lines
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 13 identical lines
              	"""
              )
    --- FAIL: TestGenerateDocs/kubectl (0.00s)
        generate-docs_test.go:47: Docs are not updated. Please run `make generate-docs` to update commands documentation:   (
              	"""
              	... // 19 identical lines
              	```
              	minikube kubectl [flags]
            - 	```
            - 	
            - 	### Options
            - 	
            - 	```
            - 	  -h, --help   help for kubectl
              	```
              	
              	... // 4 identical lines
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 13 identical lines
              	"""
              )
    --- FAIL: TestGenerateDocs/logs (0.00s)
        generate-docs_test.go:47: Docs are not updated. Please run `make generate-docs` to update commands documentation:   (
              	"""
              	... // 21 identical lines
              	```
              	  -f, --follow        Show only the most recent journal entries, and continuously print new entries as they are appended to the journal.
            - 	  -h, --help          help for logs
              	  -n, --length int    Number of lines back to go within the log (default 60)
              	      --node string   The node to get logs from. Defaults to the primary control plane.
              	... // 7 identical lines
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 13 identical lines
              	"""
              )
    --- FAIL: TestGenerateDocs/mount (0.00s)
        generate-docs_test.go:47: Docs are not updated. Please run `make generate-docs` to update commands documentation:   (
              	"""
              	... // 22 identical lines
              	      --9p-version string   Specify the 9p version that the mount should use (default "9p2000.L")
              	      --gid string          Default group id used for the mount (default "docker")
            - 	  -h, --help                help for mount
              	      --ip string           Specify the ip that the mount should be setup on
              	      --kill                Kill the mount process spawned by minikube start
              	... // 11 identical lines
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 13 identical lines
              	"""
              )
    --- FAIL: TestGenerateDocs/node (0.00s)
        generate-docs_test.go:47: Docs are not updated. Please run `make generate-docs` to update commands documentation:   (
              	"""
              	... // 17 identical lines
              	```
              	
            - 	### Options
            + 	### Options inherited from parent commands
              	
              	```
            - 	  -h, --help   help for node
            - 	```
            - 	
            - 	### Options inherited from parent commands
            - 	
            - 	```
              	      --add_dir_header                   If true, adds the file directory to the header of the log messages
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 27 identical lines
              	      --control-plane       If true, the node added will also be a control plane in addition to a worker.
              	      --delete-on-failure   If set, delete the current cluster if start fails and try again. Defaults to false.
            - 	  -h, --help                help for add
              	      --worker              If true, the added node will be marked for work. Defaults to true. (default true)
              	```
              	... // 5 identical lines
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 22 identical lines
              	```
              	
            - 	### Options
            + 	### Options inherited from parent commands
              	
              	```
            - 	  -h, --help   help for delete
            - 	```
            - 	
            - 	### Options inherited from parent commands
            - 	
            - 	```
              	      --add_dir_header                   If true, adds the file directory to the header of the log messages
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 23 identical lines
              	```
              	
            - 	### Options
            + 	### Options inherited from parent commands
              	
              	```
            - 	  -h, --help   help for help
            - 	```
            - 	
            - 	### Options inherited from parent commands
            - 	
            - 	```
              	      --add_dir_header                   If true, adds the file directory to the header of the log messages
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 9 identical lines
              	      --vmodule moduleSpec               comma-separated list of pattern=N settings for file-filtered logging
              	```
            - 	
            - 	## minikube node list
            - 	
            - 	List nodes.
              	... // 95 identical, 18 removed, and 12 inserted lines
              	"""
              )
    --- FAIL: TestGenerateDocs/pause (0.00s)
        generate-docs_test.go:47: Docs are not updated. Please run `make generate-docs` to update commands documentation:   (
              	"""
              	... // 22 identical lines
              	  -n, ----namespaces strings   namespaces to pause (default [kube-system,kubernetes-dashboard,storage-gluster,istio-operator])
              	  -A, --all-namespaces         If set, pause all namespaces
            - 	  -h, --help                   help for pause
              	  -o, --output string          Format to print stdout in. Options include: [text,json] (default "text")
              	```
              	... // 5 identical lines
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 13 identical lines
              	"""
              )
    --- FAIL: TestGenerateDocs/podman-env (0.00s)
        generate-docs_test.go:47: Docs are not updated. Please run `make generate-docs` to update commands documentation:   (
              	"""
              	... // 20 identical lines
              	
              	```
            - 	  -h, --help           help for podman-env
              	      --shell string   Force environment to be configured for a specified shell: [fish, cmd, powershell, tcsh, bash, zsh], default is auto-detect
              	  -u, --unset          Unset variables instead of setting them
              	... // 6 identical lines
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 13 identical lines
              	"""
              )
    --- FAIL: TestGenerateDocs/profile (0.00s)
        generate-docs_test.go:47: Docs are not updated. Please run `make generate-docs` to update commands documentation:   (
              	"""
              	... // 17 identical lines
              	```
              	
            - 	### Options
            + 	### Options inherited from parent commands
              	
              	```
            - 	  -h, --help   help for profile
            - 	```
            - 	
            - 	### Options inherited from parent commands
            - 	
            - 	```
              	      --add_dir_header                   If true, adds the file directory to the header of the log messages
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 13 identical lines
              	
              	Help about any command
            - 	
            - 	### Synopsis
            - 	
            - 	Help provides help for any command in the application.
            - 	Simply type profile help [path to command] for full details.
              	
            - 	```
            - 	minikube profile help [command] [flags]
            - 	```
            + 	### Synopsis
              	
            - 	### Options
            + 	Help provides help for any command in the application.
            + 	Simply type profile help [path to command] for full details.
              	
              	```
            - 	  -h, --help   help for help
            + 	minikube profile help [command] [flags]
              	```
              	
              	... // 4 identical lines
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 25 identical lines
              	
              	```
            - 	  -h, --help            help for list
              	  -o, --output string   The output format. One of 'json', 'table' (default "table")
              	```
              	... // 5 identical lines
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 13 identical lines
              	"""
              )
    --- FAIL: TestGenerateDocs/service (0.00s)
        generate-docs_test.go:47: Docs are not updated. Please run `make generate-docs` to update commands documentation:   (
              	"""
              	... // 21 identical lines
              	```
              	      --format string      Format to output service URL in. This format will be applied to each url individually and they will be printed one at a time. (default "http://{{.IP}}:{{.Port}}")
            - 	  -h, --help               help for service
              	      --https              Open the service URL with https instead of http (defaults to "false")
              	      --interval int       The initial time interval for each check that wait performs in seconds (default 1)
              	... // 9 identical lines
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 18 identical lines
              	Help provides help for any command in the application.
              	Simply type service help [path to command] for full details.
            - 	
            - 	```
            - 	minikube service help [command] [flags]
            - 	```
            - 	
            - 	### Options
              	
              	```
            - 	  -h, --help   help for help
            + 	minikube service help [command] [flags]
              	```
              	
              	... // 5 identical lines
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
              	      --format string                    Format to output service URL in. This format will be applied to each url individually and they will be printed one at a time. (default "http://{{.IP}}:{{.Port}}")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 25 identical lines
              	
              	```
            - 	  -h, --help               help for list
              	  -n, --namespace string   The services namespace
              	```
              	... // 6 identical lines
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
              	      --format string                    Format to output service URL in. This format will be applied to each url individually and they will be printed one at a time. (default "http://{{.IP}}:{{.Port}}")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 13 identical lines
              	"""
              )
    --- FAIL: TestGenerateDocs/ssh (0.00s)
        generate-docs_test.go:47: Docs are not updated. Please run `make generate-docs` to update commands documentation:   (
              	"""
              	... // 20 identical lines
              	
              	```
            - 	  -h, --help          help for ssh
              	      --native-ssh    Use native Golang SSH client (default true). Set to 'false' to use the command line 'ssh' command when accessing the docker machine. Useful for the machine drivers when they will not start with 'Waiting for SSH'. (default true)
              	  -n, --node string   The node to ssh into. Defaults to the primary control plane.
              	... // 6 identical lines
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 13 identical lines
              	"""
              )
    --- FAIL: TestGenerateDocs/ssh-key (0.00s)
        generate-docs_test.go:47: Docs are not updated. Please run `make generate-docs` to update commands documentation:   (
              	"""
              	... // 15 identical lines
              	```
              	minikube ssh-key [flags]
            - 	```
            - 	
            - 	### Options
            - 	
            - 	```
            - 	  -h, --help   help for ssh-key
              	```
              	
              	... // 4 identical lines
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 13 identical lines
              	"""
              )
    --- FAIL: TestGenerateDocs/start (0.00s)
        generate-docs_test.go:47: Docs are not updated. Please run `make generate-docs` to update commands documentation:   (
              	"""
              	... // 55 identical lines
              	      --generic-ssh-port int              SSH port (generic) (default 22)
              	      --generic-ssh-user string           SSH user (generic) (default "root")
            - 	  -h, --help                              help for start
              	      --host-dns-resolver                 Enable host resolver for NAT DNS requests (virtualbox driver only) (default true)
              	      --host-only-cidr string             The CIDR to be used for the minikube VM (virtualbox driver only) (default "192.168.99.1/24")
              	... // 45 identical lines
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 13 identical lines
              	"""
              )
    --- FAIL: TestGenerateDocs/status (0.00s)
        generate-docs_test.go:47: Docs are not updated. Please run `make generate-docs` to update commands documentation:   (
              	"""
              	... // 24 identical lines
              	  -f, --format string   Go template format string for the status output.  The format for Go templates can be found here: https://golang.org/pkg/text/template/
              	                        For the list accessible variables for the template, see the struct values here: https://godoc.org/k8s.io/minikube/cmd/minikube/cmd#Status (default "{{.Name}}\ntype: Control Plane\nhost: {{.Host}}\nkubelet: {{.Kubelet}}\napiserver: {{.APIServer}}\nkubeconfig: {{.Kubeconfig}}\n\n")
            - 	  -h, --help            help for status
              	  -l, --layout string   output layout (EXPERIMENTAL, JSON only): 'nodes' or 'cluster' (default "nodes")
              	  -n, --node string     The node to check status for. Defaults to control plane. Leave blank with default format for status on all nodes.
              	... // 7 identical lines
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 13 identical lines
              	"""
              )
    --- FAIL: TestGenerateDocs/stop (0.00s)
        generate-docs_test.go:47: Docs are not updated. Please run `make generate-docs` to update commands documentation:   (
              	"""
              	... // 21 identical lines
              	```
              	      --all                   Set flag to stop all profiles (clusters)
            - 	  -h, --help                  help for stop
              	      --keep-context-active   keep the kube-context active after cluster is stopped. Defaults to false.
              	  -o, --output string         Format to print stdout in. Options include: [text,json] (default "text")
              	... // 6 identical lines
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 13 identical lines
              	"""
              )
    --- FAIL: TestGenerateDocs/tunnel (0.00s)
        generate-docs_test.go:47: Docs are not updated. Please run `make generate-docs` to update commands documentation:   (
              	"""
              	... // 21 identical lines
              	```
              	  -c, --cleanup   call with cleanup=true to remove old tunnels (default true)
            - 	  -h, --help      help for tunnel
              	```
              	
              	... // 4 identical lines
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 13 identical lines
              	"""
              )
    --- FAIL: TestGenerateDocs/unpause (0.00s)
        generate-docs_test.go:47: Docs are not updated. Please run `make generate-docs` to update commands documentation:   (
              	"""
              	... // 22 identical lines
              	  -n, ----namespaces strings   namespaces to unpause (default [kube-system,kubernetes-dashboard,storage-gluster,istio-operator])
              	  -A, --all-namespaces         If set, unpause all namespaces
            - 	  -h, --help                   help for unpause
              	  -o, --output string          Format to print stdout in. Options include: [text,json] (default "text")
              	```
              	... // 5 identical lines
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 13 identical lines
              	"""
              )
    --- FAIL: TestGenerateDocs/update-check (0.00s)
        generate-docs_test.go:47: Docs are not updated. Please run `make generate-docs` to update commands documentation:   (
              	"""
              	... // 15 identical lines
              	```
              	minikube update-check [flags]
            - 	```
            - 	
            - 	### Options
            - 	
            - 	```
            - 	  -h, --help   help for update-check
              	```
              	
              	... // 4 identical lines
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 13 identical lines
              	"""
              )
    --- FAIL: TestGenerateDocs/update-context (0.00s)
        generate-docs_test.go:47: Docs are not updated. Please run `make generate-docs` to update commands documentation:   (
              	"""
              	... // 16 identical lines
              	```
              	minikube update-context [flags]
            - 	```
            - 	
            - 	### Options
            - 	
            - 	```
            - 	  -h, --help   help for update-context
              	```
              	
              	... // 4 identical lines
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 13 identical lines
              	"""
              )
    --- FAIL: TestGenerateDocs/version (0.00s)
        generate-docs_test.go:47: Docs are not updated. Please run `make generate-docs` to update commands documentation:   (
              	"""
              	... // 20 identical lines
              	
              	```
            - 	  -h, --help            help for version
              	  -o, --output string   One of 'yaml' or 'json'.
              	      --short           Print just the version number.
              	... // 6 identical lines
              	      --alsologtostderr                  log to standard error as well as files
              	  -b, --bootstrapper string              The name of the cluster bootstrapper that will set up the Kubernetes cluster. (default "kubeadm")
            + 	  -h, --help                             
              	      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
              	      --log_dir string                   If non-empty, write log files in this directory
              	... // 13 identical lines
              	"""
              )
E1107 17:11:11.024128   12081 out.go:142] [unset errFile]: ! Local proxy ignored: not passing HTTP_PROXY=127.0.0.1:3128 to docker env.
E1107 17:11:11.024580   12081 out.go:142] [unset errFile]: ! Local proxy ignored: not passing HTTP_PROXY=127.0.0.1:3128 to docker env.
E1107 17:11:11.024693   12081 out.go:142] [unset errFile]: ! Local proxy ignored: not passing HTTP_PROXY=localhost:3128 to docker env.
E1107 17:11:11.024889   12081 out.go:142] [unset errFile]: ! Local proxy ignored: not passing HTTP_PROXY=localhost:3128 to docker env.
E1107 17:11:11.024996   12081 out.go:142] [unset errFile]: ! Local proxy ignored: not passing HTTP_PROXY=http://localhost:3128 to docker env.
E1107 17:11:11.025151   12081 out.go:142] [unset errFile]: ! Local proxy ignored: not passing HTTP_PROXY=http://localhost:3128 to docker env.
E1107 17:11:11.025244   12081 out.go:142] [unset errFile]: ! Local proxy ignored: not passing HTTP_PROXY=http://127.0.0.1:3128 to docker env.
E1107 17:11:11.025410   12081 out.go:142] [unset errFile]: ! Local proxy ignored: not passing HTTP_PROXY=http://127.0.0.1:3128 to docker env.
FAIL
coverage: 18.7% of statements
FAIL	k8s.io/minikube/cmd/minikube/cmd	4.865s
ok  	k8s.io/minikube/cmd/minikube/cmd/config	0.041s	coverage: 21.0% of statements
ok  	k8s.io/minikube/pkg/addons	0.095s	coverage: 50.9% of statements
ok  	k8s.io/minikube/pkg/drivers	0.009s	coverage: 19.6% of statements
ok  	k8s.io/minikube/pkg/drivers/hyperkit	0.004s	coverage: 77.3% of statements
ok  	k8s.io/minikube/pkg/drivers/kic/oci	0.015s	coverage: 6.4% of statements
ok  	k8s.io/minikube/pkg/drivers/kvm	0.031s	coverage: 2.3% of statements
ok  	k8s.io/minikube/pkg/minikube/bootstrapper	0.577s	coverage: 55.7% of statements
ok  	k8s.io/minikube/pkg/minikube/bootstrapper/bsutil	0.120s	coverage: 62.4% of statements
ok  	k8s.io/minikube/pkg/minikube/bootstrapper/bsutil/ktmpl	0.011s	coverage: 100.0% of statements
ok  	k8s.io/minikube/pkg/minikube/bootstrapper/images	0.012s	coverage: 82.0% of statements
ok  	k8s.io/minikube/pkg/minikube/cluster	0.095s	coverage: 14.2% of statements
ok  	k8s.io/minikube/pkg/minikube/command	0.043s	coverage: 4.2% of statements
ok  	k8s.io/minikube/pkg/minikube/config	0.139s	coverage: 68.1% of statements
ok  	k8s.io/minikube/pkg/minikube/cruntime	0.044s	coverage: 36.7% of statements
ok  	k8s.io/minikube/pkg/minikube/docker	0.033s	coverage: 20.8% of statements
ok  	k8s.io/minikube/pkg/minikube/driver	0.020s	coverage: 40.7% of statements
ok  	k8s.io/minikube/pkg/minikube/extract	0.006s	coverage: 58.6% of statements
ok  	k8s.io/minikube/pkg/minikube/image	0.035s	coverage: 3.0% of statements
ok  	k8s.io/minikube/pkg/minikube/kubeconfig	0.033s	coverage: 81.3% of statements
ok  	k8s.io/minikube/pkg/minikube/localpath	0.004s	coverage: 49.3% of statements
ok  	k8s.io/minikube/pkg/minikube/logs	0.042s	coverage: 1.3% of statements
ok  	k8s.io/minikube/pkg/minikube/machine	1.085s	coverage: 34.4% of statements
ok  	k8s.io/minikube/pkg/minikube/mustload	0.061s	coverage: 10.5% of statements
ok  	k8s.io/minikube/pkg/minikube/notify	0.046s	coverage: 92.9% of statements
ok  	k8s.io/minikube/pkg/minikube/out	0.023s	coverage: 66.0% of statements
ok  	k8s.io/minikube/pkg/minikube/out/register	0.010s	coverage: 54.5% of statements
ok  	k8s.io/minikube/pkg/minikube/perf	4.014s	coverage: 21.1% of statements
ok  	k8s.io/minikube/pkg/minikube/proxy	0.011s	coverage: 68.7% of statements
ok  	k8s.io/minikube/pkg/minikube/reason	0.008s	coverage: 80.0% of statements
ok  	k8s.io/minikube/pkg/minikube/registry	0.010s	coverage: 75.5% of statements
ok  	k8s.io/minikube/pkg/minikube/service	0.078s	coverage: 84.2% of statements
ok  	k8s.io/minikube/pkg/minikube/shell	0.004s	coverage: 97.1% of statements
ok  	k8s.io/minikube/pkg/minikube/storageclass	0.046s	coverage: 100.0% of statements
ok  	k8s.io/minikube/pkg/minikube/style	0.002s	coverage: 100.0% of statements
ok  	k8s.io/minikube/pkg/minikube/sysinit	0.040s	coverage: 6.5% of statements
ok  	k8s.io/minikube/pkg/minikube/translate	0.011s	coverage: 10.5% of statements
ok  	k8s.io/minikube/pkg/minikube/tunnel	1.795s	coverage: 64.2% of statements
ok  	k8s.io/minikube/pkg/util	0.935s	coverage: 58.3% of statements
ok  	k8s.io/minikube/pkg/util/lock	0.007s	coverage: 22.2% of statements
ok  	k8s.io/minikube/pkg/util/retry	0.006s	coverage: 0.0% of statements
FAIL
Makefile:315: recipe for target 'test' failed
make: *** [test] Error 32
TravisBuddy Request Identifier: 808542b0-211c-11eb-a20b-45518f503c27

pkg/util/utils.go Outdated Show resolved Hide resolved
@afbjorklund afbjorklund changed the title Add minikube support for the "generic" VM driver WIP: Add minikube support for the "generic" VM driver Nov 14, 2020
@k8s-ci-robot k8s-ci-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Nov 14, 2020
@afbjorklund
Copy link
Collaborator Author

I reverted the added feature to show proper progress and host info...

Needs rebasing before merging, but not needed for the review process

@afbjorklund
Copy link
Collaborator Author

afbjorklund commented Nov 14, 2020

Should give it some weird helper function, so that these become "symmetrical":

 	if driver.IsVM(mc.Driver) || driver.IsKIC(mc.Driver) || mc.Driver == driver.Generic {
     if err == nil && (driver.BareMetal(cc.Driver) || cc.Driver == driver.Generic) {

Can start with IsGeneric for now, but I guess it really needs a better name later on

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Nov 25, 2020
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Nov 29, 2020
@afbjorklund
Copy link
Collaborator Author

Not hearing anything, but will rebase and redo the testing tomorrow.

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Dec 9, 2020
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Dec 9, 2020
@afbjorklund
Copy link
Collaborator Author

Will need yet another rebase, after christmas... Maybe have time to do the fork/rename as well, then: #9583 #7772

@brandonros
Copy link

libmachine will provision the docker daemon

Can you use ssh minikube driver without Docker daemon? Just a containr runtime like runc/cri-o/containerd?

@afbjorklund
Copy link
Collaborator Author

Currently the provisoner in minikube is still broken, so you will have to provide the container runtime yourself.

But you can choose cri-o or containerd instead of docker, if you want. Not "runc" though, that is more low-level...

k8s runtimes: docker, cri-o, containerd

OCI runtimes: runc, crun

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. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants