- driver = self.driver.admin_driver(controller=controller_image.controller.name)
- images = driver.shell.glance.get_images()
- glance_image = None
- for image in images:
- if image['name'] == controller_image.image.name:
- glance_image = image
- break
- if glance_image:
- logger.info("Found image %s on controller %s" % (controller_image.image.name, controller_image.controller.name))
- controller_image.glance_image_id = glance_image['id']
- elif controller_image.image.path:
- image = {
- 'name': controller_image.image.name,
- 'is_public': True,
- 'disk_format': 'raw',
- 'container_format': 'bare',
- 'file': controller_image.image.path,
- }
-
- logger.info("Creating image %s on controller %s" % (controller_image.image.name, controller_image.controller.name))
-
- glance_image = driver.shell.glanceclient.images.create(name=controller_image.image.name,
- is_public=True,
- disk_format='raw',
- container_format='bare')
- glance_image.update(data=open(controller_image.image.path, 'rb'))