Merge pull request #54433 from dwoz/sudo_minion

Re-gen executors with proper arguments
This commit is contained in:
Daniel Wozniak 2019-09-09 12:14:03 -07:00 committed by GitHub
commit 62fc61c8ff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 22 additions and 1 deletions

View File

@ -456,7 +456,7 @@ class MinionBase(object):
# self.matcher = Matcher(self.opts, self.functions)
self.matchers = salt.loader.matchers(self.opts)
self.functions['sys.reload_modules'] = self.gen_modules
self.executors = salt.loader.executors(self.opts)
self.executors = salt.loader.executors(self.opts, self.functions)
@staticmethod
def process_schedule(minion, loop_interval):

View File

@ -293,6 +293,27 @@ class MinionTestCase(TestCase, AdaptedConfigurationTestCaseMixin):
self.assertRaises(SaltMasterUnresolvableError,
salt.minion.resolve_dns, __opts__)
def test_gen_modules_executors(self):
'''
Ensure gen_modules is called with the correct arguments #54429
'''
mock_opts = self.get_config('minion', from_scratch=True)
io_loop = tornado.ioloop.IOLoop()
io_loop.make_current()
minion = salt.minion.Minion(mock_opts, io_loop=io_loop)
class MockPillarCompiler(object):
def compile_pillar(self):
return {}
try:
with patch('salt.pillar.get_pillar', return_value=MockPillarCompiler()):
with patch('salt.loader.executors') as execmock:
minion.gen_modules()
assert execmock.called_with(minion.opts, minion.functions)
finally:
minion.destroy()
@skipIf(NO_MOCK, NO_MOCK_REASON)
class MinionAsyncTestCase(TestCase, AdaptedConfigurationTestCaseMixin, tornado.testing.AsyncTestCase):