Merge pull request #29331 from DSRCompany/bug/29116_raet_dns_error_2

Bugfix - #29116 raet dns error
This commit is contained in:
Mike Place 2015-12-03 10:10:39 -07:00
commit 5b8e7820ac

View file

@ -12,6 +12,7 @@ import random
import logging
import itertools
from collections import deque
from _socket import gaierror
# Import salt libs
import salt.daemons.masterapi
@ -26,6 +27,7 @@ from raet.lane.stacking import LaneStack
from salt import daemons
from salt.daemons import salting
from salt.exceptions import SaltException
from salt.utils import kinds, is_windows
from salt.utils.event import tagify
@ -380,13 +382,21 @@ class SaltRaetRoadStackJoiner(ioflo.base.deeding.Deed):
if refresh_all or refresh_masters:
stack.puid = stack.Uid # reset puid so reuse same uid each time
ex = SaltException('Unable to connect to any master')
for master in self.ushers.value:
mha = master['external']
stack.addRemote(RemoteEstate(stack=stack,
fuid=0, # vacuous join
sid=0, # always 0 for join
ha=mha,
kind=kinds.applKinds.master))
try:
mha = master['external']
stack.addRemote(RemoteEstate(stack=stack,
fuid=0, # vacuous join
sid=0, # always 0 for join
ha=mha,
kind=kinds.applKinds.master))
except gaierror as ex:
log.warning("Unable to connect to master {0}: {1}".format(mha, ex))
if self.opts.value.get('master_type') != 'failover':
raise ex
if not stack.remotes:
raise ex
for remote in list(stack.remotes.values()):
if remote.kind == kinds.applKinds.master: