summaryrefslogtreecommitdiffstats
path: root/nova/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'nova/utils.py')
-rw-r--r--nova/utils.py16
1 files changed, 8 insertions, 8 deletions
diff --git a/nova/utils.py b/nova/utils.py
index 40a8d8d8c..c96b85294 100644
--- a/nova/utils.py
+++ b/nova/utils.py
@@ -125,15 +125,15 @@ def fetchfile(url, target):
# c.perform()
# c.close()
# fp.close()
- execute("curl","--fail",url,"-o",target)
+ execute("curl", "--fail", url, "-o", target)
-def execute(cmd, process_input=None, addl_env=None, check_exit_code=True):
- LOG.debug(_("Running cmd (subprocess): %s"), cmd)
+def execute(*cmd, process_input=None, addl_env=None, check_exit_code=True):
+ LOG.debug(_("Running cmd (subprocess): %s"), ' '.join(cmd))
env = os.environ.copy()
if addl_env:
env.update(addl_env)
- obj = subprocess.Popen(cmd, stdin=subprocess.PIPE,
+ obj = subprocess.Popen(*cmd, stdin=subprocess.PIPE,
stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=env)
result = None
if process_input != None:
@@ -148,7 +148,7 @@ def execute(cmd, process_input=None, addl_env=None, check_exit_code=True):
raise ProcessExecutionError(exit_code=obj.returncode,
stdout=stdout,
stderr=stderr,
- cmd=cmd)
+ cmd=' '.join(cmd))
# NOTE(termie): this appears to be necessary to let the subprocess call
# clean something up in between calls, without it two
# execute calls in a row hangs the second one
@@ -158,7 +158,7 @@ def execute(cmd, process_input=None, addl_env=None, check_exit_code=True):
def ssh_execute(ssh, cmd, process_input=None,
addl_env=None, check_exit_code=True):
- LOG.debug(_("Running cmd (SSH): %s"), cmd)
+ LOG.debug(_("Running cmd (SSH): %s"), ' '.join(cmd))
if addl_env:
raise exception.Error("Environment not supported over SSH")
@@ -187,7 +187,7 @@ def ssh_execute(ssh, cmd, process_input=None,
raise exception.ProcessExecutionError(exit_code=exit_status,
stdout=stdout,
stderr=stderr,
- cmd=cmd)
+ cmd=' '.join(cmd))
return (stdout, stderr)
@@ -254,7 +254,7 @@ def last_octet(address):
def get_my_linklocal(interface):
try:
- if_str = execute("ip","-f","inet6","-o","addr","show", interface)
+ if_str = execute("ip", "-f", "inet6", "-o", "addr", "show", interface)
condition = "\s+inet6\s+([0-9a-f:]+)/\d+\s+scope\s+link"
links = [re.search(condition, x) for x in if_str[0].split('\n')]
address = [w.group(1) for w in links if w is not None]