Clean up server-side images.
This commit is contained in:
@@ -21,6 +21,12 @@ parser.add_argument(
|
||||
dest='image_dir',
|
||||
action='store',
|
||||
required=True)
|
||||
parser.add_argument(
|
||||
'--max-images',
|
||||
dest='max_images',
|
||||
action='store',
|
||||
type=int,
|
||||
default=0)
|
||||
parser.add_argument(
|
||||
'--old-manifest',
|
||||
dest='old_manifest',
|
||||
@@ -76,10 +82,21 @@ class ManifestBuilder(object):
|
||||
ret['images'].sort(key=lambda x: x['timestamp'], reverse=True)
|
||||
return ret
|
||||
|
||||
def DeleteOldImages(self, manifest, max_images):
|
||||
if not max_images:
|
||||
return
|
||||
for image in manifest['images'][max_images:]:
|
||||
filename = '%d.iso' % image['timestamp']
|
||||
print('Deleting old image:', filename, file=sys.stderr)
|
||||
path = os.path.join(self._image_dir, filename)
|
||||
os.unlink(path)
|
||||
manifest['images'] = manifest['images'][:max_images]
|
||||
|
||||
|
||||
def main():
|
||||
builder = ManifestBuilder(FLAGS.image_dir, FLAGS.old_manifest)
|
||||
manifest = builder.BuildManifest()
|
||||
builder.DeleteOldImages(manifest, FLAGS.max_images)
|
||||
json.dump(manifest, sys.stdout, sort_keys=True, indent=4)
|
||||
sys.stdout.write('\n')
|
||||
|
||||
|
||||
@@ -29,6 +29,12 @@ parser.add_argument(
|
||||
dest='key',
|
||||
action='store',
|
||||
required=True)
|
||||
parser.add_argument(
|
||||
'--max-images',
|
||||
dest='max_images',
|
||||
action='store',
|
||||
type=int,
|
||||
default=0)
|
||||
parser.add_argument(
|
||||
'--other-cert',
|
||||
dest='other_certs',
|
||||
@@ -54,6 +60,7 @@ def main():
|
||||
'--default-rollout', str(FLAGS.default_rollout),
|
||||
'--image-dir', FLAGS.image_dir,
|
||||
'--old-manifest', unsigned_manifest,
|
||||
'--max-images', str(FLAGS.max_images),
|
||||
stdout=fh)
|
||||
os.rename(fh.name, unsigned_manifest)
|
||||
except:
|
||||
|
||||
Reference in New Issue
Block a user