-
Notifications
You must be signed in to change notification settings - Fork 18.7k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Daemon to support network restore and Macvlan driver exits experimental #23524
Conversation
ping @crosbymichael PTAL |
Signed-off-by: Alessandro Boch <aboch@docker.com>
Quick question: is it possible that I run a daemon, initialize a Swarm, change my daemon config to add |
@icecrime Need to think about it. But existing validation logic would have same issue. |
@aboch no. I added a check I think you should do a similar check for |
@icecrime @mavenugo Ah, then the same would work with the new check. I just tested the scenario depicted by @icecrime:
daemon start fails with:
|
@aboch The scenario I was mentioning was about hot-reloading the configuration, not restarting the daemon! |
@icecrime Verified the config reload leads to the same validation:
|
It should be |
LOL, I didn't realize the same error message was being printed in different places... Will take care of it shortly |
@mavenugo @icecrime Thanks, PTAL, the inner compatibility check is now a property of the config and same function is used for validation in the two paths. Follows the daemon logs for two hot reloads after the swarm init: In the first one the json config specifies the live restore. In the second one it specifies the cluster store config:
|
Windows failure is genuine. |
Thanks @mlaventure. Updated. |
Signed-off-by: Lei Jitang <leijitang@huawei.com>
Signed-off-by: Lei Jitang <leijitang@huawei.com>
LGTM 👍 |
One failure on janky (related?):
|
@icecrime
Let me look at it closer |
Hopefully it's unrelated. @crosbymichael will be testing the PR tonight. |
LGTM |
Ping test failure in ci, not sure if related. I would prefer |
Weird failure in docker-py:
|
The failure in docker-py is legitimate, but @aboch is aware and will fix in a followup PR. Amazing that docker-py suite caught it :-) |
Yes, it is a genuine failure, good docker-py test. |
👏 |
Thanks guys - really appreciate this. |
@@ -120,3 +121,13 @@ func (config *Config) GetAllRuntimes() map[string]types.Runtime { | |||
config.reloadLock.Unlock() | |||
return rts | |||
} | |||
|
|||
func (config *Config) isSwarmCompatible() error { | |||
if config.IsValueSet("cluster-store") || config.IsValueSet("cluster-advertise") { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why did you change this code from config.ClusterStore != ""
to config.IsValueSet("cluster-store")
?
As I know, config.IsValueSet()
checks only configs which were set in the configuration file.
So this code always returns false
even if using --cluster-store
option.
@ncoolz Thank you for spotting this. In my initial diff I was looking for the config parameter value and tested with that, later I moved to the IsValueSet(), that is a mistake. Please let me know if you can push a patch to fix this, otherwise I will take care of it. Thanks again. |
@aboch I will send a PR immediately. Thank you. |
Thanks @ncoolz! |
|
This PR brings: