Add appending task names into legacy tasks adapter

task_name is required task field, so it should be added for
adapted legacy tasks too.

Change-Id: I1396846b56685672542eec1e9c4ae8c837d1e128
Closes-Bug: #1675727
This commit is contained in:
Fedor Zhadaev 2017-03-29 14:22:58 +04:00
parent 8a42287959
commit ae0e7340bd
2 changed files with 22 additions and 1 deletions

View File

@ -68,6 +68,8 @@ def _get_group_start(group):
return {
'id': TASK_START_TEMPLATE.format(group['id']),
'type': consts.ORCHESTRATOR_TASK_TYPES.skipped,
'task_name': TASK_START_TEMPLATE.format(group.get('task_name',
group['id'])),
'version': consts.TASK_CROSS_DEPENDENCY,
'roles': _get_role(group),
'cross_depends': group['cross_depends'],
@ -80,6 +82,8 @@ def _get_group_start(group):
def _get_group_end(group):
return {
'id': TASK_END_TEMPLATE.format(group['id']),
'task_name': TASK_END_TEMPLATE.format(group.get('task_name',
group['id'])),
'type': consts.ORCHESTRATOR_TASK_TYPES.skipped,
'version': consts.TASK_CROSS_DEPENDENCY,
'roles': _get_role(group)
@ -140,6 +144,8 @@ def adapt_legacy_tasks(deployment_tasks, legacy_plugin_tasks, resolver):
if task_version < min_task_version:
legacy_tasks.append(task)
continue
if not task.get('task_name'):
task['task_name'] = task['id']
yield task
if not (legacy_tasks or legacy_plugin_tasks):
@ -169,7 +175,8 @@ def adapt_legacy_tasks(deployment_tasks, legacy_plugin_tasks, resolver):
{'name': TASK_START_TEMPLATE.format(g), 'role': 'self'}
for g in resolver.get_all_roles(_get_role(task))
]
if not task.get('task_name'):
task['task_name'] = task['id']
yield _add_cross_depends(task, task_depends)
if not legacy_plugin_tasks:
@ -199,6 +206,7 @@ def adapt_legacy_tasks(deployment_tasks, legacy_plugin_tasks, resolver):
for idx, task in enumerate(tasks):
new_task = {
'id': '{0}_{1}'.format(stage, idx),
'task_name': '{0}_{1}'.format(stage, idx),
'type': task['type'],
'roles': _get_role(task),
'version': consts.TASK_CROSS_DEPENDENCY,

View File

@ -66,6 +66,7 @@ class TestLegacyTasksAdapter(BaseTestCase):
def test_returns_same_task_if_no_legacy(self):
tasks = [
{'id': 'test1', 'version': '2.0.0', 'roles': ['group1'],
'task_name': 'test1',
'type': consts.ORCHESTRATOR_TASK_TYPES.puppet,
'required_for': []},
{'id': 'group1', 'type': consts.ORCHESTRATOR_TASK_TYPES.group},
@ -123,6 +124,7 @@ class TestLegacyTasksAdapter(BaseTestCase):
self.assertEqual(
{
'id': 'group1_start',
'task_name': 'group1_start',
'type': consts.ORCHESTRATOR_TASK_TYPES.skipped,
'version': consts.TASK_CROSS_DEPENDENCY,
'roles': ['group1'],
@ -134,6 +136,7 @@ class TestLegacyTasksAdapter(BaseTestCase):
self.assertEqual(
{
'id': 'group1_end',
'task_name': 'group1_end',
'type': consts.ORCHESTRATOR_TASK_TYPES.skipped,
'version': consts.TASK_CROSS_DEPENDENCY,
'roles': ['group1']
@ -144,6 +147,7 @@ class TestLegacyTasksAdapter(BaseTestCase):
self.assertEqual(
{
'id': 'group2_start',
'task_name': 'group2_start',
'type': consts.ORCHESTRATOR_TASK_TYPES.skipped,
'version': consts.TASK_CROSS_DEPENDENCY,
'roles': ['group2'],
@ -155,6 +159,7 @@ class TestLegacyTasksAdapter(BaseTestCase):
self.assertEqual(
{
'id': 'group2_end',
'task_name': 'group2_end',
'type': consts.ORCHESTRATOR_TASK_TYPES.skipped,
'version': consts.TASK_CROSS_DEPENDENCY,
'roles': ['group2']
@ -165,6 +170,7 @@ class TestLegacyTasksAdapter(BaseTestCase):
self.assertEqual(
{
'id': 'group3_start',
'task_name': 'group3_start',
'type': consts.ORCHESTRATOR_TASK_TYPES.skipped,
'version': consts.TASK_CROSS_DEPENDENCY,
'roles': ['group3'],
@ -176,6 +182,7 @@ class TestLegacyTasksAdapter(BaseTestCase):
self.assertEqual(
{
'id': 'group3_end',
'task_name': 'group3_end',
'type': consts.ORCHESTRATOR_TASK_TYPES.skipped,
'version': consts.TASK_CROSS_DEPENDENCY,
'roles': ['group3']
@ -185,6 +192,7 @@ class TestLegacyTasksAdapter(BaseTestCase):
self.assertEqual(
{
'id': 'task2',
'task_name': 'task2',
'type': consts.ORCHESTRATOR_TASK_TYPES.puppet,
'version': '2.0.0',
'roles': ['group2'],
@ -198,6 +206,7 @@ class TestLegacyTasksAdapter(BaseTestCase):
{
'roles': 'group1',
'id': 'task_pre2',
'task_name': 'task_pre2',
'version': '2.0.0',
'required_for': ['pre_deployment_end'],
'requires': ['task_pre'],
@ -211,6 +220,7 @@ class TestLegacyTasksAdapter(BaseTestCase):
{
'roles': 'group1',
'id': 'task_pre',
'task_name': 'task_pre',
'version': '2.0.0',
'required_for': ['pre_deployment_end'],
'requires': ['pre_deployment_start'],
@ -231,6 +241,7 @@ class TestLegacyTasksAdapter(BaseTestCase):
{
'roles': 'group1',
'id': 'task_post',
'task_name': 'task_post',
'version': '2.0.0',
'required_for': ['post_deployment_end'],
'requires': ['post_deployment_start'],
@ -306,6 +317,7 @@ class TestLegacyTasksAdapter(BaseTestCase):
self.assertEqual(
{
'id': 'stage1_{0}'.format(idx),
'task_name': 'stage1_{0}'.format(idx),
'type': legacy_plugin_tasks[idx]['type'],
'roles': legacy_plugin_tasks[idx]['roles'],
'version': consts.TASK_CROSS_DEPENDENCY,
@ -325,6 +337,7 @@ class TestLegacyTasksAdapter(BaseTestCase):
self.assertEqual(
{
'id': 'stage3_{0}'.format(idx),
'task_name': 'stage3_{0}'.format(idx),
'type': legacy_plugin_tasks[3 + idx]['type'],
'roles': legacy_plugin_tasks[3 + idx]['roles'],
'version': consts.TASK_CROSS_DEPENDENCY,