Exemple #1
0
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))
Exemple #2
0
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))
Exemple #3
0
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)