-
Notifications
You must be signed in to change notification settings - Fork 4.6k
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
kops does not use DOCKER_OPTS or /etc/sysconfig/docker in docker.service #1731
Comments
What would you expect? |
i'd expect that the DOCKER_OPTS are set in the systemd docker service so that changing the storage driver in kops cluster settings actually has an effect |
This is fixed in kops 1.5.0, which should release today. For example, I set:
and docker was run with (note this is only an example, as overlay2 is not officially supported with k8s 1.5) Closing; please reopen if not fixed in 1.5.0. |
@justinsb unfortunately this is not fixed. the systemd service file is correctly generated and the docker version is set correctly, but the storage driver still defaults to devicemapper. restarting the docker service via systemd fixes the issue, but this is something kops should do already. |
Ouch - sorry @imsky Can you confirm the AMI you are running & the kops version please? Edit, from slack: "we're on 1.5.1, ami is k8s-1.4-debian-jessie-amd64-hvm-ebs-2016-10-21 (ami-4bb3e05c)" |
We do smart service restarting: we restart the service if a dependency changed after the running service. However, we were not considering the service manifest itself in the calculation, which was an error. The bug only exposed itself though when we downloaded and updated docker, e.g. when running k8s 1.5 with a 1.4 image. We would write the env file early (no dependencies), then we would download docker and install it, and then we would write the service manifest. But if docker had been started during this interval (e.g. by protokube), then we would see that docker had been started after the dependencies (the env file), and not restart it. When we consider the manifest file also, things work as intended. Fix kubernetes#1731
I think #2102 will fix it @imsky - see the comment for an explanation. As a simple workaround, if you update the AMI to 1.5, it should "just work". |
We do smart service restarting: we restart the service if a dependency changed after the running service. However, we were not considering the service manifest itself in the calculation, which was an error. The bug only exposed itself though when we downloaded and updated docker, e.g. when running k8s 1.5 with a 1.4 image. We would write the env file early (no dependencies), then we would download docker and install it, and then we would write the service manifest. But if docker had been started during this interval (e.g. by protokube), then we would see that docker had been started after the dependencies (the env file), and not restart it. When we consider the manifest file also, things work as intended. Fix kubernetes#1731
yes @justinsb - after upgrading AMI to 1.5 it worked out of the box thanks for following up on this |
We do smart service restarting: we restart the service if a dependency changed after the running service. However, we were not considering the service manifest itself in the calculation, which was an error. The bug only exposed itself though when we downloaded and updated docker, e.g. when running k8s 1.5 with a 1.4 image. We would write the env file early (no dependencies), then we would download docker and install it, and then we would write the service manifest. But if docker had been started during this interval (e.g. by protokube), then we would see that docker had been started after the dependencies (the env file), and not restart it. When we consider the manifest file also, things work as intended. Fix kubernetes#1731
We do smart service restarting: we restart the service if a dependency changed after the running service. However, we were not considering the service manifest itself in the calculation, which was an error. The bug only exposed itself though when we downloaded and updated docker, e.g. when running k8s 1.5 with a 1.4 image. We would write the env file early (no dependencies), then we would download docker and install it, and then we would write the service manifest. But if docker had been started during this interval (e.g. by protokube), then we would see that docker had been started after the dependencies (the env file), and not restart it. When we consider the manifest file also, things work as intended. Fix kubernetes#1731
We do smart service restarting: we restart the service if a dependency changed after the running service. However, we were not considering the service manifest itself in the calculation, which was an error. The bug only exposed itself though when we downloaded and updated docker, e.g. when running k8s 1.5 with a 1.4 image. We would write the env file early (no dependencies), then we would download docker and install it, and then we would write the service manifest. But if docker had been started during this interval (e.g. by protokube), then we would see that docker had been started after the dependencies (the env file), and not restart it. When we consider the manifest file also, things work as intended. Fix kubernetes#1731
i'm using kops 1.5 to tweak the storage driver on a cluster and while
/etc/sysconfig/docker
receives the correct flags,docker.service
does not use that file as anEnvironmentFile
and does not append$DOCKER_OPTS
to the main command. this leads to dockerd using devicemapper as the storage driver.The text was updated successfully, but these errors were encountered: