- image_args = {'name': name,
- 'disk-format': 'qcow2',
- 'container_format': 'bare',
- 'file': '/tmp/bottlenecks-trusty-server.img'}
- image = glance.images.create(**image_args)
- if not (image.id):
- logger.error("failed to upload rubbos image to openstack")
- exit(-1)
+ imagefile = dest_dir + "/" + file_name
+ image = glance.images.create(name=image_name, disk_format="qcow2", container_format="bare")
+ with open(imagefile) as fimage:
+ glance.images.upload(image.id, fimage)
+
+ timeInQueue = 0
+ img_status = image.status
+ while img_status == "queued" and timeInQueue < 30:
+ print " image's status: " + img_status
+ time.sleep(1)
+ timeInQueue = timeInQueue + 1
+ img_status = glance.images.get(image.id).status
+
+ print "After %d seconds, the image's status is [%s]" %(timeInQueue, img_status)
+ return True if img_status == "active" else False
+
+def rubbos_create_keypairs(key_path, name="bottlenecks_rubbos_keypair"):
+ print "========== Add rubbos keypairs in OS =========="
+ nova = _get_nova_client()
+ with open(key_path) as pkey:
+ nova.keypairs.create(name=name, public_key=pkey.read())
+
+def rubbos_create_flavors(name="bottlenecks_rubbos_flavor", ram=4096, vcpus=2, disk=10):
+ print "========== Create rubbos flavors in OS =========="
+ nova = _get_nova_client()
+ nova.flavors.create(name=name, ram=ram, vcpus=vcpus, disk=disk)