X-Git-Url: https://code.grnet.gr/git/snf-image-creator/blobdiff_plain/a803b4490becbb6ef99a6ed2a49d01e1145c55d8..62e18b3ae638a270792a362ee5d0d4901ee711a2:/image_creator/main.py diff --git a/image_creator/main.py b/image_creator/main.py index f5dc5fe..3161bb5 100644 --- a/image_creator/main.py +++ b/image_creator/main.py @@ -45,6 +45,7 @@ import sys import os import optparse import StringIO +import signal def check_writable_dir(option, opt_str, value, parser): @@ -187,6 +188,12 @@ def image_creator(): "(use --force to overwrite it)." % filename) disk = Disk(options.source, out) + + def signal_handler(signum, frame): + disk.cleanup() + + signal.signal(signal.SIGINT, signal_handler) + signal.signal(signal.SIGTERM, signal_handler) try: snapshot = disk.snapshot() @@ -236,12 +243,12 @@ def image_creator(): if options.outfile is not None: dev.dump(options.outfile) - out.output('Dumping metadata file...', False) + out.output('Dumping metadata file ...', False) with open('%s.%s' % (options.outfile, 'meta'), 'w') as f: f.write(metastring) out.success('done') - out.output('Dumping md5sum file...', False) + out.output('Dumping md5sum file ...', False) with open('%s.%s' % (options.outfile, 'md5sum'), 'w') as f: f.write('%s %s\n' % (checksum, os.path.basename(options.outfile))) @@ -268,7 +275,7 @@ def image_creator(): size=len(metastring), remote_path="%s.%s" % (options.upload, 'meta')) out.success('done') - out.output("(4/4) Uploading md5sum file...", False) + out.output("(4/4) Uploading md5sum file ...", False) md5sumstr = '%s %s\n' % (checksum, os.path.basename(options.upload)) kamaki.upload(StringIO.StringIO(md5sumstr), @@ -278,7 +285,7 @@ def image_creator(): out.output() if options.register: - out.output('Registering image with ~okeanos...', False) + out.output('Registering image with ~okeanos ...', False) kamaki.register(options.register, uploaded_obj, metadata) out.success('done') out.output()