- Simplify the example commands to pass TEST_ARGS as a command line
variable. Variables are pass to the target shell as environment
variable.
- Show an example with 2 minikube start args with correct quoting.
- Add a note about quoting multiple minikube start arguments
- Add a note about values with spaces
- Fix headings levels for conformance tests
In this mode we don't start anything so we don't need to validate
vmnet-helper. This avoids unwanted interaction if the user does not have
sudoers configuration.
Test with vfkit:
% out/minikube start --driver vfkit --network vmnet-shared --download-only
😄 minikube v1.37.0 on Darwin 15.7 (arm64)
✨ Using the vfkit driver based on user configuration
👍 Starting "minikube" primary control-plane node in "minikube" cluster
✅ Download complete!
% out/minikube logs | grep vmnet-helper
I0925 16:52:08.601139 78267 main.go:141] libmachine: Skipping vmnet-helper validation in download-only mode
Test with krunkit:
% out/minikube start --driver krunkit --download-only
😄 minikube v1.37.0 on Darwin 15.7 (arm64)
✨ Using the krunkit (experimental) driver based on user configuration
👍 Starting "minikube" primary control-plane node in "minikube" cluster
✅ Download complete!
% out/minikube logs | grep vmnet-helper
I0925 16:52:49.570566 78405 main.go:141] libmachine: Skipping vmnet-helper validation in download-only mode
Previously we ran:
bash -c 'sudo env PATH="/path/to/minikube/binaries:$PATH" kubeadm init ...'
The shell expanding $PATH is running as a normal user, which does not
include /usr/sbin:
$ out/minikube ssh -- printenv PATH
/usr/local/bin:/usr/bin:/bin:/usr/games
This breaks kubeadm since it expects to find losetup in the PATH[1].
Now we run:
sudo bash -c 'env PATH="/path/to/minikube/binaries:$PATH" kubeadm init ...'
The shell expanding $PATH is running as root, so it uses root PATH that
includes /usr/sbin:
$ out/minikube ssh -- sudo printenv PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
With this change kubeadm init can find losetup in the PATH, and creating
a clusters succeeds.
More work is needed to fix other invocations of kubeadm.
[1] https://github.com/kubernetes/kubernetes/pull/129450