saltstack/salt — pull request #15105 by mbirtwell (2014-08-20 09:25:02+00:00)
Title: Allow multi-master minions to start even if a master is currently unavailable

N.B. this pull request is against the 2014.1 branch see below.

Between 2014.1.4 and 2014.1.7 the behaviour of multi-master minions changed to prevent the minion starting unless it could connect to all the masters. This kind of defied the point of multi-master as I saw it, which was to allow for continued operation of minions when a master is unavailable. This seems to have come in response to a couple of issues firstly schedules were not working which was fixed by @wt in PR #13189 unfortunately this fix stopped the multi-minion from starting if connecting to one of the master's failed and caused issue #13546 @cachedout fixed that in PR #13549 but didn't allow the minion to start if one of the masters are not responding.

I've reverted both of those changes and have tried to fix the original bug with schedules in multi-master mode in a way such that the minion can still start if one of the masters is unavailable. Hopefully this makes everyone happy.

This is against 2014.1 because the code has changed in both the 2014.7 branch and the develop branch. Giving them both a quick scan develop looks completely fine. 2014.7 looks like it has a subtly different bug. The exception raise introduced by PR #13549 has been removed but the handling of uncontactable masters hasn't been restored so no errors will occur but a master that couldn't been contacted at startup will never be re-tried (like it would be in 2014.1.4 or develop)