Merge pull request #40300 from meaksh/2016.3-adding-timeouts-parameters-to-cmd_batch

Fixes 'timeout' and 'gather_job_timeout' kwargs parameters for 'local_batch' client
This commit is contained in:
Nicole Thomas 2017-03-24 16:25:21 -06:00 committed by GitHub
commit 7c21153d3a
3 changed files with 17 additions and 2 deletions

View File

@ -51,7 +51,9 @@ class Batch(object):
else:
args.append(self.opts.get('expr_form', 'glob'))
ping_gen = self.local.cmd_iter(*args, **self.eauth)
ping_gen = self.local.cmd_iter(*args,
gather_job_timeout=self.opts['gather_job_timeout'],
**self.eauth)
# Broadcast to targets
fret = set()
@ -160,6 +162,7 @@ class Batch(object):
ret=self.opts.get('return', ''),
show_jid=show_jid,
verbose=show_verbose,
gather_job_timeout=self.opts['gather_job_timeout'],
**self.eauth)
# add it to our iterators and to the minion_tracker
iters.append(new_iter)

View File

@ -442,6 +442,12 @@ class LocalClient(object):
'ret': ret,
'batch': batch,
'raw': kwargs.get('raw', False)}
if 'timeout' in kwargs:
opts['timeout'] = kwargs['timeout']
if 'gather_job_timeout' in kwargs:
opts['gather_job_timeout'] = kwargs['gather_job_timeout']
for key, val in six.iteritems(self.opts):
if key not in opts:
opts[key] = val

View File

@ -24,7 +24,13 @@ class BatchTestCase(TestCase):
'''
def setUp(self):
opts = {'batch': '', 'conf_file': {}, 'tgt': '', 'transport': '', 'timeout': 5}
opts = {'batch': '',
'conf_file': {},
'tgt': '',
'transport': '',
'timeout': 5,
'gather_job_timeout': 5}
mock_client = MagicMock()
with patch('salt.client.get_local_client', MagicMock(return_value=mock_client)):
with patch('salt.client.LocalClient.cmd_iter', MagicMock(return_value=[])):