mirror of
https://github.com/valitydev/salt.git
synced 2024-11-06 16:45:27 +00:00
Merge branch '2014.7' into '2015.5'
Conflicts: - salt/netapi/rest_tornado/__init__.py - salt/netapi/rest_tornado/saltnado.py
This commit is contained in:
commit
ce72851861
@ -215,7 +215,7 @@ class SaltClientsMixIn(object):
|
||||
# not the actual client we'll use.. but its what we'll use to get args
|
||||
'local_batch': local_client.cmd_batch,
|
||||
'local_async': local_client.run_job,
|
||||
'runner': salt.runner.RunnerClient(opts=self.application.opts).async,
|
||||
'runner': salt.runner.RunnerClient(opts=self.application.opts).cmd_async,
|
||||
'runner_async': None, # empty, since we use the same client as `runner`
|
||||
}
|
||||
return SaltClientsMixIn.__saltclients
|
||||
@ -802,8 +802,6 @@ class SaltAPIHandler(BaseSaltAPIHandler, SaltClientsMixIn): # pylint: disable=W
|
||||
def disbatch(self):
|
||||
'''
|
||||
Disbatch all lowstates to the appropriate clients
|
||||
|
||||
Auth must have been verified before this point
|
||||
'''
|
||||
ret = []
|
||||
|
||||
@ -812,16 +810,23 @@ class SaltAPIHandler(BaseSaltAPIHandler, SaltClientsMixIn): # pylint: disable=W
|
||||
client = low.get('client')
|
||||
self._verify_client(client)
|
||||
|
||||
for low in self.lowstate:
|
||||
# make sure that the chunk has a token, if not we can't do auth per-request
|
||||
# Note: this means that you can send different tokens per lowstate
|
||||
# as long as the base token (to auth with the API) is valid
|
||||
if 'token' not in low:
|
||||
# Make sure we have 'token' or 'username'/'password' in each low chunk.
|
||||
# Salt will verify the credentials are correct.
|
||||
if self.token is not None and 'token' not in low:
|
||||
low['token'] = self.token
|
||||
|
||||
if not (('token' in low)
|
||||
or ('username' in low and 'password' in low and 'eauth' in low)):
|
||||
ret.append('Failed to authenticate')
|
||||
break
|
||||
|
||||
# disbatch to the correct handler
|
||||
try:
|
||||
chunk_ret = yield getattr(self, '_disbatch_{0}'.format(low['client']))(low)
|
||||
ret.append(chunk_ret)
|
||||
except EauthAuthenticationError as exc:
|
||||
ret.append('Failed to authenticate')
|
||||
break
|
||||
except Exception as ex:
|
||||
ret.append('Unexpected exception while handling request: {0}'.format(ex))
|
||||
logger.error('Unexpected exception while handling request:', exc_info=True)
|
||||
@ -1019,8 +1024,7 @@ class SaltAPIHandler(BaseSaltAPIHandler, SaltClientsMixIn): # pylint: disable=W
|
||||
'''
|
||||
Disbatch runner client commands
|
||||
'''
|
||||
f_call = {'args': [chunk['fun'], chunk]}
|
||||
pub_data = self.saltclients['runner'](chunk['fun'], chunk)
|
||||
pub_data = self.saltclients['runner'](chunk)
|
||||
tag = pub_data['tag'] + '/ret'
|
||||
try:
|
||||
event = yield self.application.event_listener.get_event(self, tag=tag)
|
||||
|
@ -57,7 +57,7 @@ class SaltnadoTestCase(integration.ModuleCase, AsyncHTTPTestCase):
|
||||
|
||||
@property
|
||||
def opts(self):
|
||||
return self.get_config('master', from_scratch=True)
|
||||
return self.get_config('client_config', from_scratch=True)
|
||||
|
||||
@property
|
||||
def auth(self):
|
||||
|
Loading…
Reference in New Issue
Block a user