Open orenye opened 5 years ago
Improved steps to reproduce:
docker service create --entrypoint sleep --health-cmd "sh -c ps -ef |grep -v grep |grep 3333" --health-interval 10s --health-retries 5 --name uptest --replicas=3 alpine 3333
docker service update --args 4444 uptest
The first task will be restarted, the healthcheck will fail 5 times which is way more than 'monitoring period' and the task will be restarted again. The service update will move to paused update state.
Thanks for the report @orenye! I've opened a pull request to address the documentation technical error (update-monitor defaults to 5s) and gap ("failure" includes health checks) at docker/docker.github.io#9443.
Thanks
Regards, Oren
From: Trapier Marshall notifications@github.com Sent: Friday, September 13, 2019 7:53 PM To: docker/for-linux for-linux@noreply.github.com Cc: Oren Yekutieli Oren.Yekutieli@ecitele.com; Mention mention@noreply.github.com Subject: Re: [docker/for-linux] Service update fail even after monitoring period (#576)
Thanks for the report @orenyehttps://clicktime.symantec.com/3QYbjrmMy2LcSQs8294qcMw6H2?u=https%3A%2F%2Fgithub.com%2Forenye! I've opened a pull request to address the documentation technical error (update-monitor defaults to 5s) and gap ("failure" includes health checks) at docker/docker.github.io/#9443.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://clicktime.symantec.com/3XcXt8ftRPbiKgViBKQaaBY6H2?u=https%3A%2F%2Fgithub.com%2Fdocker%2Ffor-linux%2Fissues%2F576%3Femail_source%3Dnotifications%26email_token%3DADT6OKDPHOYDWI354FNFK3TQJPAPBA5CNFSM4GTTTJEKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6VS4IY%23issuecomment-531312163, or mute the threadhttps://clicktime.symantec.com/3TnbReVArzLHsDtjgb7bnpr6H2?u=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FADT6OKFO57HIYKIENPJE2RDQJPAPBANCNFSM4GTTTJEA.
This e-mail message is intended for the recipient only and contains information which is CONFIDENTIAL and which may be proprietary to ECI Telecom. If you have received this transmission in error, please inform us by e-mail, phone or fax, and then delete the original and all copies thereof.
Expected behavior
docker service update
should not fail if an updated task dies after the monitoring period finished.Actual behavior
The update fails.
Steps to reproduce the behavior
Create a service with few replicas. Set a healthcheck that returns a failure to ensure that the rolling update does not continue to the next task. Issue a
docker service update
command that will restart the first task. Wait more than the monitoring period seconds and kill the task. According to the documentation from https://docs.docker.com/engine/swarm/services:Two issues are wrong:
Output of
docker version
:Output of
docker info
:Additional environment details (AWS, VirtualBox, physical, etc.)