Fixing dependencies validation
Dependencies of "local" pre and post jobs were not taken into account Change-Id: Ieaed355b1cdcdba1921a880f90bdaa0e8b96c648 Closes-bug: #1649818
This commit is contained in:
parent
a44fbb0fea
commit
b5c12ca75a
@ -74,6 +74,13 @@ def _parse_service_deps(service_map):
|
|||||||
for pre in container.get('pre', []):
|
for pre in container.get('pre', []):
|
||||||
if pre.get('type') == 'single':
|
if pre.get('type') == 'single':
|
||||||
dependencies.update([pre['name']])
|
dependencies.update([pre['name']])
|
||||||
|
else:
|
||||||
|
deps = _prepare_deps(pre.get('dependencies', []))
|
||||||
|
dependencies.update(deps)
|
||||||
|
for post in container.get('post', []):
|
||||||
|
if post.get('type') != 'single':
|
||||||
|
deps = _prepare_deps(post.get('dependencies', []))
|
||||||
|
dependencies.update(deps)
|
||||||
return list(dependencies)
|
return list(dependencies)
|
||||||
|
|
||||||
|
|
||||||
@ -82,14 +89,15 @@ def _parse_pre_and_post_deps(service_map):
|
|||||||
deps = {}
|
deps = {}
|
||||||
for container in service_map['service']['containers']:
|
for container in service_map['service']['containers']:
|
||||||
for pre in container.get('pre', []):
|
for pre in container.get('pre', []):
|
||||||
|
pre_deps = _prepare_deps(pre.get('dependencies', []))
|
||||||
deps[pre['name']] = Node(pre['name'],
|
deps[pre['name']] = Node(pre['name'],
|
||||||
'job',
|
'job',
|
||||||
pre.get('dependencies', []),
|
pre_deps,
|
||||||
service_map['service']['name'])
|
service_map['service']['name'])
|
||||||
|
|
||||||
for post in container.get('post', []):
|
for post in container.get('post', []):
|
||||||
if post.get('type') == 'single':
|
if post.get('type') == 'single':
|
||||||
post_deps = post.get('dependencies', [])
|
post_deps = _prepare_deps(post.get('dependencies', []))
|
||||||
post_deps.append(service_map['service']['name'])
|
post_deps.append(service_map['service']['name'])
|
||||||
deps[post['name']] = Node(post['name'],
|
deps[post['name']] = Node(post['name'],
|
||||||
'job',
|
'job',
|
||||||
@ -126,7 +134,6 @@ def _calculate_service_deps(service_name, deps_map):
|
|||||||
|
|
||||||
def get_deps(components, components_map=None):
|
def get_deps(components, components_map=None):
|
||||||
deps_map = get_deps_map(components_map)
|
deps_map = get_deps_map(components_map)
|
||||||
|
|
||||||
result_deps = set()
|
result_deps = set()
|
||||||
for service_name in components:
|
for service_name in components:
|
||||||
deps, job_parents = _calculate_service_deps(service_name, deps_map)
|
deps, job_parents = _calculate_service_deps(service_name, deps_map)
|
||||||
|
Loading…
Reference in New Issue
Block a user