From dae40f489ab05411376b3013ec3c5f840d24b570 Mon Sep 17 00:00:00 2001 From: Greg Brockman Date: Sun, 31 Jan 2010 21:14:30 -0500 Subject: [PATCH] Add status messages; continue after failed downloads. svn path=/trunk/packages/invirt-images/; revision=2974 --- debian/changelog | 6 ++++++ invirt-images | 9 ++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 62a2ced..f16eeca 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +invirt-images (0.0.3) unstable; urgency=low + + * Add status messages; continue after failed downloads. + + -- Quentin Smith Sun, 31 Jan 2010 21:13:32 -0500 + invirt-images (0.0.2) unstable; urgency=low * Architecture: all diff --git a/invirt-images b/invirt-images index 1566cc6..9d3c695 100755 --- a/invirt-images +++ b/invirt-images @@ -2,6 +2,7 @@ from invirt import database import os +import sys import subprocess import random import string @@ -109,6 +110,8 @@ def fetch_image(cdrom): """ full_uri = os.path.join(cdrom.mirror.uri_prefix, cdrom.uri_suffix) temp_file = tempfile.mkstemp()[1] + if verbosity > 0: + print >>sys.stderr, "Fetching image %s from %s to %s" % (cdrom.cdrom_id, full_uri, temp_file) try: if full_uri.startswith('rsync://'): if subprocess.call(['rsync', '--no-motd', '-tLP', full_uri, temp_file], @@ -141,7 +144,11 @@ def load_image(cdrom): return temp_file = fetch_image(cdrom) try: - cdrom_size = '%sM' % math.ceil((float(os.stat(temp_file).st_size) / (1024 * 1024))) + st_size = os.stat(temp_file).st_size + if not st_size: + print >>sys.stderr, "Failed to fetch %s" % cdrom.cdrom_id + return + cdrom_size = '%sM' % math.ceil((float(st_size) / (1024 * 1024))) new_lv = lvcreate_random('image-new_%s_%%s' % cdrom.cdrom_id, cdrom_size) copy_file(temp_file, '/dev/xenvg/%s' % new_lv) lvrename_random('image_%s' % cdrom.cdrom_id, 'image-old_%s_%%s' % cdrom.cdrom_id) -- 1.7.9.5