From b6c767efbe5f0cd165dfa63a078bb910809ca2fb Mon Sep 17 00:00:00 2001 From: Sanjeev Kulkarni Date: Fri, 15 Mar 2019 22:07:11 -0700 Subject: [PATCH] Expand add env functionality to add variables if not present (#3827) * Add config variables if absent * Took feedback into account --- docker/pulsar/scripts/apply-config-from-env.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/docker/pulsar/scripts/apply-config-from-env.py b/docker/pulsar/scripts/apply-config-from-env.py index 0ad9b2b8238..94a8b4b7a02 100755 --- a/docker/pulsar/scripts/apply-config-from-env.py +++ b/docker/pulsar/scripts/apply-config-from-env.py @@ -34,6 +34,9 @@ if len(sys.argv) < 2: # Always apply env config to env scripts as well conf_files = ['conf/pulsar_env.sh', 'conf/bkenv.sh'] + sys.argv[1:] +PF_ENV_PREFIX = 'PULSAR_' + + for conf_filename in conf_files: lines = [] # List of config file lines keys = {} # Map a key to its line number in the file @@ -56,6 +59,17 @@ for conf_filename in conf_files: idx = keys[k] lines[idx] = '%s=%s\n' % (k, v) + + # Add new keys from Env + for k in sorted(os.environ.keys()): + v = os.environ[k] + if not k.startswith(PF_ENV_PREFIX): + continue + k = k[len(PF_ENV_PREFIX):] + if k not in keys: + print('[%s] Adding config %s = %s' % (conf_filename, k, v)) + lines.append('%s=%s\n' % (k, v)) + # Store back the updated config in the same file f = open(conf_filename, 'w') for line in lines: -- GitLab