def create(clients, conf=None): """Creates a glance image :param clients: randomload.clients.Clientmanager :param conf: Dict """ logger.info("Taking action image_create") if conf is None: conf = {} glance_conf = conf.get('glance', {}) glance = clients.get_glance() name = utils.randomname(prefix='random-image') imagedict = utils.randomfromlist(glance_conf.get('images')) kwargs = { 'name': name, 'disk_format': imagedict.get('disk_format'), 'container_format': imagedict.get('container_format'), 'app_id': 'randomload' } possible_metadata = glance_conf.get('metadata', {}) for metakey, valuelist in possible_metadata.items(): kwargs[metakey] = utils.randomfromlist(valuelist) image = glance.images.create(**kwargs) glance.images.upload(image.id, open(imagedict.get('file'), 'rb')) logger.info("Created image {0}".format(image.name))
def create(clients, conf=None): """Creates server with random image and flavor. :param clients: randomload.clients.ClientManager :param conf: Configuration """ logger.info("Taking action create") cinder = clients.get_cinder() if conf is None: conf = {} cinderconf = conf.get('cinder', {}) name = utils.randomname(prefix='random-volume') size = utils.randomfromlist(cinderconf.get('sizes', [1])) meta = {'app': 'randomload'} possible_metadata = cinderconf.get('metadata', {}) for metakey, valuelist in possible_metadata.items(): meta[metakey] = utils.randomfromlist(valuelist) volume = cinder.volumes.create(name=name, size=size, metadata=meta) logger.info("Created volume {0} with metadata {1}" .format(volume.name, volume.metadata))
def create(clients, conf=None): """Creates server with random image and flavor. :param clients: randomload.clients.ClientManager :param conf: Configuration """ logger.info("Taking action create") nova = clients.get_nova() if conf is None: conf = {} nova_conf = conf.get('nova') flavor = utils.randomfromlist(nova_conf.get('flavors', [])) flavor = nova.flavors.get(flavor) image = utils.randomfromlist(nova_conf.get('images', [])) name = utils.randomname() meta = {} possible_metadata = nova_conf.get('metadata', {}) for metakey, valuelist in possible_metadata.items(): meta[metakey] = utils.randomfromlist(valuelist) msg = ("Creating {0} - {1} with image {2} with metadata {3}") logger.info(msg.format(name, flavor, image, meta)) nova.servers.create(name, image, flavor, meta=meta)