* Only restart docker service if container runtime is docker
Only allow the buildroot provisioner to restart docker if the container
runtime is docker. This change should fix the bug in #3424, since now
docker will not be restarted if the container runtime is containerd.
* Added files to fix FileContent--proc-sys-net-bridge-bridge-nf-call-iptables precheck error
From this issue: https://github.com/kubernetes/kubeadm/issues/1062
these files need to be added to prevent this precheck error (which occurs when running any container runtime that isn't docker).
Also, save the machine config on the user's filesystem earlier so that the buildprovisioner can access it.
This change is a bit of a hack to make IP routing work over the virtio-net interface - it forces the virtio-net interface (bridge100) created by hyperkit/xhyve to reset via removing and readding the single member of the interface. Without this "reset" packets are just simply lost most of the time, despite a completely healthy IP route.
This error was also the reason for a large percentage of our integration test failures. While reducing the flakiness of tunnel related tests I also increased the timeout requirement and adding retries to the nginx request in TestTunnel.
Previously we were mixed between the two forms. This commit picks %v,
which is consistent with the Kubernetes code base. They both effectively
do the same thing in this case, though %v works with any object, and %s
only with string objects.
This is a mismatch issue between new minikube versions and old ISO versions. It's
also unlikely to cause a real issue because it requires users to opt-into crio and
modify crio-specific settings to cause trouble.
This adds an environment variable file for crio.service to source.
And a step for the buildroot provisioner to write flags, initially just
insecure-registry.
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
The current implementation assumes that we already have docker running.
This switches it to not remove any previous docker configuration
(since there isn't any), and uses our native file transfer utils
instead of the printf commands.
docker/machine made a change (https://github.com/docker/machine/pull/3966) to use a systemd drop-in unit (https://coreos.com/os/docs/latest/using-systemd-drop-in-units.html) instead of overwriting the dockerd configuration. This necessitates clearing the ExecStart list inherited from the base config prior to the ExecStart directive in GenerateDockerOptions -- otherwise, docker.service fails to start with log output like "docker.service: Service has more than one ExecStart= setting, which is only allowed for Type=oneshot services. Refusing."
Sometimes the docker daemon isn't ready and on a restart and libmachine
times out while trying to reach it. This retries when it isn't ready.
This fixes timeout problems in our virtualbox integration tests.