Adding local dependencies support

* "<service>:local" deps now can be parsed for daemon process
* local dependencies are not allowed for "single" jobs,
so they will fail during dependencies check

Change-Id: I4f1dd5ffe5a3c2e6291721e0343d603259a7f014
This commit is contained in:
Andrey Pavlov 2016-10-12 09:02:28 +03:00
parent 2f8acbd901
commit 616bee3f9f
1 changed files with 6 additions and 1 deletions

View File

@ -61,11 +61,16 @@ def get_deps_map(components_map=None):
return deps_map
def _prepare_deps(deps):
return [dep.partition(":")[0] for dep in deps]
def _parse_service_deps(service_map):
"""Parses service map and finds dependencies of daemons."""
dependencies = set()
for container in service_map['service']['containers']:
dependencies.update(container['daemon'].get('dependencies', []))
cont_deps = container['daemon'].get('dependencies', [])
dependencies.update(_prepare_deps(cont_deps))
for pre in container.get('pre', []):
if pre.get('type') == 'single':
dependencies.update([pre['name']])