mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-04-25 11:51:26 -07:00
issue callbacks per item and retry fails
- now workers passes queue to task_executor so it can send back events per item and on retry attempt - updated result class to pass along events to strategy - base strategy updated to forward new events to callback - callbacks now remove 'items' on final result but process them directly when invoked per item - new callback method to deal with retry attempt messages (also now obeys nolog) - updated tests to match new signature of task_executor fixes #14558 fixes #14072
This commit is contained in:
parent
6eb4633b07
commit
e02b98274b
7 changed files with 74 additions and 45 deletions
|
@ -45,6 +45,7 @@ class TestTaskExecutor(unittest.TestCase):
|
|||
mock_shared_loader = MagicMock()
|
||||
new_stdin = None
|
||||
job_vars = dict()
|
||||
mock_queue = MagicMock()
|
||||
te = TaskExecutor(
|
||||
host = mock_host,
|
||||
task = mock_task,
|
||||
|
@ -53,6 +54,7 @@ class TestTaskExecutor(unittest.TestCase):
|
|||
new_stdin = new_stdin,
|
||||
loader = fake_loader,
|
||||
shared_loader_obj = mock_shared_loader,
|
||||
rslt_q = mock_queue,
|
||||
)
|
||||
|
||||
def test_task_executor_run(self):
|
||||
|
@ -66,6 +68,7 @@ class TestTaskExecutor(unittest.TestCase):
|
|||
mock_play_context = MagicMock()
|
||||
|
||||
mock_shared_loader = MagicMock()
|
||||
mock_queue = MagicMock()
|
||||
|
||||
new_stdin = None
|
||||
job_vars = dict()
|
||||
|
@ -78,6 +81,7 @@ class TestTaskExecutor(unittest.TestCase):
|
|||
new_stdin = new_stdin,
|
||||
loader = fake_loader,
|
||||
shared_loader_obj = mock_shared_loader,
|
||||
rslt_q = mock_queue,
|
||||
)
|
||||
|
||||
te._get_loop_items = MagicMock(return_value=None)
|
||||
|
@ -97,7 +101,7 @@ class TestTaskExecutor(unittest.TestCase):
|
|||
|
||||
def test_task_executor_get_loop_items(self):
|
||||
fake_loader = DictDataLoader({})
|
||||
|
||||
|
||||
mock_host = MagicMock()
|
||||
|
||||
mock_task = MagicMock()
|
||||
|
@ -111,6 +115,7 @@ class TestTaskExecutor(unittest.TestCase):
|
|||
|
||||
new_stdin = None
|
||||
job_vars = dict()
|
||||
mock_queue = MagicMock()
|
||||
|
||||
te = TaskExecutor(
|
||||
host = mock_host,
|
||||
|
@ -120,6 +125,7 @@ class TestTaskExecutor(unittest.TestCase):
|
|||
new_stdin = new_stdin,
|
||||
loader = fake_loader,
|
||||
shared_loader_obj = mock_shared_loader,
|
||||
rslt_q = mock_queue,
|
||||
)
|
||||
|
||||
items = te._get_loop_items()
|
||||
|
@ -142,6 +148,7 @@ class TestTaskExecutor(unittest.TestCase):
|
|||
mock_play_context = MagicMock()
|
||||
|
||||
mock_shared_loader = MagicMock()
|
||||
mock_queue = MagicMock()
|
||||
|
||||
new_stdin = None
|
||||
job_vars = dict()
|
||||
|
@ -154,6 +161,7 @@ class TestTaskExecutor(unittest.TestCase):
|
|||
new_stdin = new_stdin,
|
||||
loader = fake_loader,
|
||||
shared_loader_obj = mock_shared_loader,
|
||||
rslt_q = mock_queue,
|
||||
)
|
||||
|
||||
def _execute(variables):
|
||||
|
@ -184,6 +192,7 @@ class TestTaskExecutor(unittest.TestCase):
|
|||
mock_play_context = MagicMock()
|
||||
|
||||
mock_shared_loader = None
|
||||
mock_queue = MagicMock()
|
||||
|
||||
new_stdin = None
|
||||
job_vars = dict(pkg_mgr='yum')
|
||||
|
@ -196,6 +205,7 @@ class TestTaskExecutor(unittest.TestCase):
|
|||
new_stdin = new_stdin,
|
||||
loader = fake_loader,
|
||||
shared_loader_obj = mock_shared_loader,
|
||||
rslt_q = mock_queue,
|
||||
)
|
||||
|
||||
#
|
||||
|
@ -279,6 +289,7 @@ class TestTaskExecutor(unittest.TestCase):
|
|||
mock_connection._connect.return_value = None
|
||||
|
||||
mock_action = MagicMock()
|
||||
mock_queue = MagicMock()
|
||||
|
||||
shared_loader = None
|
||||
new_stdin = None
|
||||
|
@ -292,6 +303,7 @@ class TestTaskExecutor(unittest.TestCase):
|
|||
new_stdin = new_stdin,
|
||||
loader = fake_loader,
|
||||
shared_loader_obj = shared_loader,
|
||||
rslt_q = mock_queue,
|
||||
)
|
||||
|
||||
te._get_connection = MagicMock(return_value=mock_connection)
|
||||
|
@ -330,6 +342,7 @@ class TestTaskExecutor(unittest.TestCase):
|
|||
mock_connection = MagicMock()
|
||||
|
||||
mock_action = MagicMock()
|
||||
mock_queue = MagicMock()
|
||||
|
||||
shared_loader = MagicMock()
|
||||
shared_loader.action_loader = action_loader
|
||||
|
@ -345,6 +358,7 @@ class TestTaskExecutor(unittest.TestCase):
|
|||
new_stdin = new_stdin,
|
||||
loader = fake_loader,
|
||||
shared_loader_obj = shared_loader,
|
||||
rslt_q = mock_queue,
|
||||
)
|
||||
|
||||
te._connection = MagicMock()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue