Esempio n. 1
0
                    nargs='+',
                    help="id in decimal of image to transfer")
parser.add_argument('-d',
                    '--dest',
                    dest='destination',
                    required=True,
                    help="address of destination Glance repository")
parser.add_argument('-p',
                    '--port',
                    dest='local_port',
                    default=9292,
                    help="local Glance port")

args = parser.parse_args()
dest = args.destination.split(':')
source_client = Client('localhost', args.local_port)
try:
    dest_client = Client(dest[0], dest[1])
except IndexError:
    dest_client = Client(dest[0])

images = {}

for image_id in args.images:
    images[image_id] = source_client.get_image_meta(image_id)

# Sort keys to that kernel/ramdisk images are transferred first, makes recreating
# associations easier later on
mapping = {'aki': 0, 'ari': 0, 'ami': 1}
sorted_ids = images.keys()
sorted_ids.sort(
Esempio n. 2
0
are in the list of images to be transferred.
"""

from glance.client import Client
import argparse

GLANCE_PATH = "/var/lib/glance/images/"

parser = argparse.ArgumentParser(description="Transfer images from the local Glance repository.")
parser.add_argument('images', metavar='image', type=int, nargs='+', help="id in decimal of image to transfer")
parser.add_argument('-d', '--dest', dest='destination', required=True, help="address of destination Glance repository")
parser.add_argument('-p', '--port', dest='local_port', default=9292, help="local Glance port")

args = parser.parse_args()
dest = args.destination.split(':')
source_client = Client('localhost', args.local_port)
try:
	dest_client = Client(dest[0], dest[1])
except IndexError:
	dest_client = Client(dest[0])

images = {}

for image_id in args.images:
	images[image_id] = source_client.get_image_meta(image_id)

# Sort keys to that kernel/ramdisk images are transferred first, makes recreating
# associations easier later on
mapping = { 'aki': 0, 'ari': 0, 'ami': 1 }
sorted_ids = images.keys()
sorted_ids.sort(key=lambda image_id: mapping[images[image_id]['container_format']])
from glance.client import Client
from os import remove
import argparse

TEMP_IMAGE_PATH = '/tmp/glance-transfer-images'

parser = argparse.ArgumentParser(description="Transfer images between Glance repositories.")
parser.add_argument('images', metavar='image', type=int, nargs='+', help="an image to transfer")
parser.add_argument('--source', dest='source', help="source Glance repository")
parser.add_argument('--dest', dest='destination', help="destination Glance repository")

args = parser.parse_args()
source = args.source.split(':')
dest = args.destination.split(':')
try:
	source_client = Client(source[0], source[1])
except IndexError:
	source_client = Client(source[0], 9292)
try:
	dest_client = Client(dest[0], dest[1])
except IndexError:
	dest_client = Client(dest[0], 9292)

new_image_ids = {}

for image in args.images:
	meta, image_file = source_client.get_image(image)	
	f = open(TEMP_IMAGE_PATH, 'wb')
	for chunk in image_file:
		f.write(chunk)
	f.close()
Esempio n. 4
0
 def _get_glance_client(self):
     glance_host = self.conf.get('host', '127.0.0.1')
     glance_port = self.conf.get('port', '8080')
     c = Client(host=glance_host, port=glance_port)
     return c