Revision 10 -
(download)
(as text)
(annotate)
Fri Aug 31 10:40:38 2012 UTC
(11 years, 10 months ago)
by agomez File size: 1333 byte(s)
Corrected minor error in license text
Powerpoint presentation to show how to use the software (also in PDF).
#
# BonFIRE Virtual Clusters on Federated Clouds Demonstration Kit
#
# Copyright (c) Fundacion Centro Tecnologico de Supercomputacion de Galicia 2012
#
# License GPL Version 3
#
# The research leading to these results has received funding from
# the European Community's Seventh Framework Programme (FP7/2007-2013)
# under agreement number 257386
#
# This software is provided with ABSOLUTELY NO WARRANTY
#
import subprocess
class CommandError(subprocess.CalledProcessError):
def __init__(self,retcode,command,output):
subprocess.CalledProcessError.__init__(self,retcode,command)
self.output=output
def __str__(self):
return "Command '%s' returned non-zero exit status %d:\n%s" % (self.cmd, self.returncode,self.output)
def execute(command, ignore_error = False, fork = False ):
stdout = subprocess.PIPE
stderr = subprocess.STDOUT
if fork:
stdout = None
stderr = None
process=subprocess.Popen(command,stdout=stdout,stderr=stderr,shell=True, universal_newlines = True,executable="/bin/bash")
if fork:
return None
output = process.communicate()
retcode = process.poll()
if retcode and not ignore_error:
raise CommandError(retcode, command, output[0])
return output