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(env_vars_from_file(env_file))
env.update(parse_environment(service_dict.get('environment'))) 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): def resolve_build_args(build):
args = parse_build_arguments(build.get('args')) 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): def validate_extended_service_dict(service_dict, filename, service):
@ -730,7 +736,7 @@ def resolve_env_var(key, val):
elif key in os.environ: elif key in os.environ:
return key, os.environ[key] return key, os.environ[key]
else: else:
return key, '' return "_", None
def env_vars_from_file(filename): def env_vars_from_file(filename):