summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorvladimir.p <vladimir@zadarastorage.com>2011-08-11 12:31:09 -0700
committervladimir.p <vladimir@zadarastorage.com>2011-08-11 12:31:09 -0700
commit4ae770dc2f6c89b2efae5e55d434b58bae19000c (patch)
tree7aa52f505c5f27d51f9f36d9480daff9e09987fe /bin
parent57b8f976f18b1f45de16ef8e87a6e215c009d228 (diff)
parentfe0bde67193ce76376e72a7263b89240a63722a8 (diff)
downloadnova-4ae770dc2f6c89b2efae5e55d434b58bae19000c.tar.gz
merged with 1416
Diffstat (limited to 'bin')
-rwxr-xr-xbin/nova-import-canonical-imagestore110
1 files changed, 0 insertions, 110 deletions
diff --git a/bin/nova-import-canonical-imagestore b/bin/nova-import-canonical-imagestore
deleted file mode 100755
index 404ae37f49..0000000000
--- a/bin/nova-import-canonical-imagestore
+++ /dev/null
@@ -1,110 +0,0 @@
-#!/usr/bin/env python
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
-
-# Copyright 2010 United States Government as represented by the
-# Administrator of the National Aeronautics and Space Administration.
-# All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-"""
- Download images from Canonical Image Store
-"""
-
-import gettext
-import json
-import os
-import tempfile
-import shutil
-import subprocess
-import sys
-import urllib2
-
-# If ../nova/__init__.py exists, add ../ to Python search path, so that
-# it will override what happens to be installed in /usr/(local/)lib/python...
-possible_topdir = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]),
- os.pardir,
- os.pardir))
-if os.path.exists(os.path.join(possible_topdir, 'nova', '__init__.py')):
- sys.path.insert(0, possible_topdir)
-
-gettext.install('nova', unicode=1)
-
-from nova import flags
-from nova import log as logging
-from nova import utils
-from nova.objectstore import image
-
-FLAGS = flags.FLAGS
-
-API_URL = 'https://imagestore.canonical.com/api/dashboard'
-
-
-def get_images():
- """Get a list of the images from the imagestore URL."""
- images = json.load(urllib2.urlopen(API_URL))['images']
- images = [img for img in images if img['title'].find('amd64') > -1]
- return images
-
-
-def download(img):
- """Download an image to the local filesystem."""
- # FIXME(ja): add checksum/signature checks
- tempdir = tempfile.mkdtemp(prefix='cis-')
-
- kernel_id = None
- ramdisk_id = None
-
- for f in img['files']:
- if f['kind'] == 'kernel':
- dest = os.path.join(tempdir, 'kernel')
- subprocess.call(['curl', '--fail', f['url'], '-o', dest])
- kernel_id = image.Image.add(dest,
- description='kernel/' + img['title'], kernel=True)
-
- for f in img['files']:
- if f['kind'] == 'ramdisk':
- dest = os.path.join(tempdir, 'ramdisk')
- subprocess.call(['curl', '--fail', f['url'], '-o', dest])
- ramdisk_id = image.Image.add(dest,
- description='ramdisk/' + img['title'], ramdisk=True)
-
- for f in img['files']:
- if f['kind'] == 'image':
- dest = os.path.join(tempdir, 'image')
- subprocess.call(['curl', '--fail', f['url'], '-o', dest])
- ramdisk_id = image.Image.add(dest,
- description=img['title'], kernel=kernel_id, ramdisk=ramdisk_id)
-
- shutil.rmtree(tempdir)
-
-
-def main():
- """Main entry point."""
- utils.default_flagfile()
- argv = FLAGS(sys.argv)
- logging.setup()
- images = get_images()
-
- if len(argv) == 2:
- for img in images:
- if argv[1] == 'all' or argv[1] == img['title']:
- download(img)
- else:
- print 'usage: %s (title|all)'
- print 'available images:'
- for img in images:
- print img['title']
-
-if __name__ == '__main__':
- main()