If an env var is passthrough but not defined on the host don't set it.

This doesn't change too much code and keeps the generators.

Signed-off-by: jrabbit <jackjrabbit@gmail.com>
This commit is contained in:
jrabbit 2016-01-23 15:58:06 -05:00
parent 35788f47ff
commit 6540efb3d3
1 changed files with 9 additions and 3 deletions

View File

@ -464,12 +464,18 @@ def resolve_environment(service_dict):
env.update(env_vars_from_file(env_file))
env.update(parse_environment(service_dict.get('environment')))
return dict(resolve_env_var(k, v) for k, v in six.iteritems(env))
d = dict(resolve_env_var(k, v) for k, v in six.iteritems(env))
if '_' in d.keys():
del d['_']
return d
def resolve_build_args(build):
args = parse_build_arguments(build.get('args'))
return dict(resolve_env_var(k, v) for k, v in six.iteritems(args))
d = dict(resolve_env_var(k, v) for k, v in six.iteritems(args))
if '_' in d.keys():
del d['_']
return d
def validate_extended_service_dict(service_dict, filename, service):
@ -730,7 +736,7 @@ def resolve_env_var(key, val):
elif key in os.environ:
return key, os.environ[key]
else:
return key, ''
return "_", None
def env_vars_from_file(filename):