]> git-server-git.apps.pok.os.sepia.ceph.com Git - remoto.git/commitdiff
process: extend environments, do not overwrite
authorAlfredo Deza <alfredo@deza.pe>
Tue, 10 Jul 2018 17:03:00 +0000 (13:03 -0400)
committerAlfredo Deza <alfredo@deza.pe>
Tue, 10 Jul 2018 17:12:26 +0000 (13:12 -0400)
Signed-off-by: Alfredo Deza <alfredo@deza.pe>
remoto/process.py

index c604b8f355293738eb6549e93fbec3aa8798fc1c..9d9117cf69dede374a708f45336c3a4cb402c406 100644 (file)
@@ -74,7 +74,7 @@ def _remote_run(channel, cmd, **kw):
             channel.send({'warning': "command returned non-zero exit status: %s" % returncode})
 
 
-def extend_path(conn, arguments):
+def extend_env(conn, arguments):
     """
     get the remote environment's env so we can explicitly add the path without
     wiping out everything
@@ -91,6 +91,9 @@ def extend_path(conn, arguments):
     path = env.get('PATH', '')
     env['PATH'] = path + '/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin'
     arguments['env'] = env
+    if arguments.get('extend_env'):
+        for key, value in arguments['extend_env'].items():
+            arguments['env'][key] = value
 
     return arguments
 
@@ -110,7 +113,7 @@ def run(conn, command, exit=False, timeout=None, **kw):
     if not kw.get('env'):
         # get the remote environment's env so we can explicitly add
         # the path without wiping out everything
-        kw = extend_path(conn, kw)
+        kw = extend_env(conn, kw)
 
     timeout = timeout or conn.global_timeout
     conn.logger.info('Running command: %s' % ' '.join(admin_command(conn.sudo, command)))