* Separate start args from args passed to every command. This is so
that we can call `minikube logs` and `minikube status` with the proper
flags (for the bootstrapper)
* Add a NewMinikubeRunner function to make getting a minikube runner
easier.
If we choose a random namespace, the test will fail since RBAC
permissions will not be set up correctly.
This also chooses a randomly generated name, so that if we are running
an integration test while another busybox pod is still cleaning up,
there are no errors
Theres currently no good way to run the integration tests for the none
driver locally. Now that we've added the e2e target, we can depend on
that. Running the e2e test binary locally requires the testdata folder
to be in a different path, since it is relative to where the code is
being ran. I added a testdata-dir flag to the integration tests so we
can set it appropriately for when we want to run the e2e binary by
itself.
I also made the e2e test binary a PHONY target, so we rebuild it each
time. I had trouble collecting the dependencies on the integration
test packages
I removed this awhile ago, but I'm not sure how it snuck back in.
The original issue was that the VM was getting a new IP, but the driver
was parsing the leases file and still picking the old IP. So the only
way to fix it was to wait for the old lease to expire.
We were using an alpha v1.6 kubectl to run 1.5 and 1.6 branches of
minikube at the same time. Since we've merged in 1.6, we will always
use 1.6 kubectl. I've updated the slaves to have it.
This integration test was hanging on Windows because systemctl was paging the
(one line) output and waiting for stdin. Specify the `--no-pager` cmd to systemctl
to avoid this.
The TestDocker integration test shouldn't hard code the path to the systemd config for docker.service -- instead, it can use `systemctl show` to dump the configuration for the docker service.
In TestStartStop(), check for stopped status once in 5 seconds,
up to 30 seconds, instead of always sleeping for 30 seconds
before stopping it. That way we can reduce duration of the test.
To do that, we need to split out MinikubeRunner.CheckStatus() into
CheckStatusNoFail() that doesn't lead to T.Fatalf(). Other call sites
of CheckStatus() would not be then affected.