projects
/
snf-image-creator
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add the media source in the background title
[snf-image-creator]
/
image_creator
/
main.py
diff --git
a/image_creator/main.py
b/image_creator/main.py
index
2c6ff5b
..
9996dd6
100644
(file)
--- a/
image_creator/main.py
+++ b/
image_creator/main.py
@@
-45,6
+45,7
@@
import sys
import os
import optparse
import StringIO
import os
import optparse
import StringIO
+import signal
def check_writable_dir(option, opt_str, value, parser):
def check_writable_dir(option, opt_str, value, parser):
@@
-88,12
+89,12
@@
def parse_options(input_args):
parser.add_option("-r", "--register", dest="register", type="string",
default=False,
parser.add_option("-r", "--register", dest="register", type="string",
default=False,
- help="register the image to ~okeanos as IMAGENAME",
+ help="register the image with ~okeanos as IMAGENAME",
metavar="IMAGENAME")
parser.add_option("-a", "--account", dest="account", type="string",
default=account, help="Use this ACCOUNT when "
metavar="IMAGENAME")
parser.add_option("-a", "--account", dest="account", type="string",
default=account, help="Use this ACCOUNT when "
- "uploading/registring images [Default: %s]" % account)
+ "uploading/registering images [Default: %s]" % account)
parser.add_option("-m", "--metadata", dest="metadata", default=[],
help="Add custom KEY=VALUE metadata to the image",
parser.add_option("-m", "--metadata", dest="metadata", default=[],
help="Add custom KEY=VALUE metadata to the image",
@@
-101,7
+102,7
@@
def parse_options(input_args):
parser.add_option("-t", "--token", dest="token", type="string",
default=token, help="Use this token when "
parser.add_option("-t", "--token", dest="token", type="string",
default=token, help="Use this token when "
- "uploading/registring images [Default: %s]" % token)
+ "uploading/registering images [Default: %s]" % token)
parser.add_option("--print-sysprep", dest="print_sysprep", default=False,
help="print the enabled and disabled system preparation "
parser.add_option("--print-sysprep", dest="print_sysprep", default=False,
help="print the enabled and disabled system preparation "
@@
-117,7
+118,7
@@
def parse_options(input_args):
metavar="SYSPREP")
parser.add_option("--no-sysprep", dest="sysprep", default=True,
metavar="SYSPREP")
parser.add_option("--no-sysprep", dest="sysprep", default=True,
- help="don't perform system preperation",
+ help="don't perform system preparation",
action="store_false")
parser.add_option("--no-shrink", dest="shrink", default=True,
action="store_false")
parser.add_option("--no-shrink", dest="shrink", default=True,
@@
-187,13
+188,20
@@
def image_creator():
"(use --force to overwrite it)." % filename)
disk = Disk(options.source, out)
"(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()
dev = disk.get_device(snapshot)
# If no customization is to be applied, the image should be mounted ro
try:
snapshot = disk.snapshot()
dev = disk.get_device(snapshot)
# If no customization is to be applied, the image should be mounted ro
- readonly = not (options.sysprep or options.shrink)
+ readonly = (not (options.sysprep or options.shrink) or
+ options.print_sysprep)
dev.mount(readonly)
cls = os_cls(dev.distro, dev.ostype)
dev.mount(readonly)
cls = os_cls(dev.distro, dev.ostype)
@@
-219,7
+227,7
@@
def image_creator():
metadata = image_os.meta
dev.umount()
metadata = image_os.meta
dev.umount()
- size = options.shrink and dev.shrink() or dev.meta['SIZE']
+ size = options.shrink and dev.shrink() or dev.size
metadata.update(dev.meta)
# Add command line metadata to the collected ones...
metadata.update(dev.meta)
# Add command line metadata to the collected ones...
@@
-277,7
+285,7
@@
def image_creator():
out.output()
if options.register:
out.output()
if options.register:
- out.output('Registring image to ~okeanos...', False)
+ out.output('Registering image with ~okeanos...', False)
kamaki.register(options.register, uploaded_obj, metadata)
out.success('done')
out.output()
kamaki.register(options.register, uploaded_obj, metadata)
out.success('done')
out.output()