Exemple #1
0
    def __init__(self, scenario_cfg, context_cfg):
        self.scenario_cfg = scenario_cfg
        self.context_cfg = context_cfg

        host = self.context_cfg['host']
        self.user = host.get('user', 'ubuntu')
        self.port = host.get("ssh_port", ssh.DEFAULT_PORT)
        self.ip = host.get('ip')
        self.key_filename = host.get('key_filename', '/root/.ssh/id_rsa')
        self.password = host.get('password')

        options = scenario_cfg['options']
        host_list = options.get('host').split(',')

        self.cpu_set = options.get("cpu_set", '1,2,3,4,5,6')
        self.host_memory = options.get("host_memory", 512)

        self.nova_client = openstack_utils.get_nova_client()
        self.neutron_client = openstack_utils.get_neutron_client()
        self.glance_client = openstack_utils.get_glance_client()

        node_file = os.path.join(consts.YARDSTICK_ROOT_PATH,
                                 scenario_cfg.get('node_file'))
        with open(node_file) as f:
            nodes = yaml.safe_load(TaskTemplate.render(f.read()))
        self.nodes = {a['name']: a for a in nodes['nodes']}

        self.controller_nodes = self._get_host_node(host_list, 'Controller')
        self.compute_nodes = self._get_host_node(host_list, 'Compute')
Exemple #2
0
    def delete(self, image_id):
        try:
            uuid.UUID(image_id)
        except ValueError:
            return result_handler(consts.API_ERROR, 'invalid image id')

        image_handler = V2ImageHandler()
        try:
            image = image_handler.get_by_uuid(image_id)
        except ValueError:
            return result_handler(consts.API_ERROR, 'no such image id')

        LOG.info('delete image in openstack')
        glance_client = get_glance_client()
        try:
            image_o = next((i for i in glance_client.images.list()
                            if i.name == image.name))
        except StopIteration:
            return result_handler(consts.API_ERROR, 'can not find image')

        glance_client.images.delete(image_o.id)

        LOG.info('delete image in environment')
        environment_id = image.environment_id
        environment_handler = V2EnvironmentHandler()
        environment = environment_handler.get_by_uuid(environment_id)
        image_list = environment.image_id.split(',')
        image_list.remove(image_id)
        environment_handler.update_attr(environment_id,
                                        {'image_id': ','.join(image_list)})

        LOG.info('delete image in DB')
        image_handler.delete_by_uuid(image_id)

        return result_handler(consts.API_SUCCESS, {'image': image_id})
Exemple #3
0
    def __init__(self, scenario_cfg, context_cfg):
        self.scenario_cfg = scenario_cfg
        self.context_cfg = context_cfg
        self.options = self.scenario_cfg['options']

        self.image_name = self.options.get("image_name", "TestImage")

        self.glance_client = op_utils.get_glance_client()

        self.setup_done = False
Exemple #4
0
    def __init__(self, scenario_cfg, context_cfg):
        self.scenario_cfg = scenario_cfg
        self.context_cfg = context_cfg
        self.options = self.scenario_cfg['options']
        self.image = self.options.get("image", 'cirros-0.3.5')
        self.external_network = os.getenv("EXTERNAL_NETWORK")
        self.nova_client = op_utils.get_nova_client()
        self.neutron_client = op_utils.get_neutron_client()
        self.glance_client = op_utils.get_glance_client()
        self.instance = None

        self.setup_done = False
Exemple #5
0
    def _load_image(self, image_name, image_path):
        LOG.info('source openrc')
        source_env(consts.OPENRC)

        LOG.info('load image')
        glance_client = get_glance_client()
        image = glance_client.images.create(name=image_name,
                                            visibility='public',
                                            disk_format='qcow2',
                                            container_format='bare')
        with open(image_path, 'rb') as f:
            glance_client.images.upload(image.id, f)

        LOG.info('Done')
    def __init__(self, scenario_cfg, context_cfg):
        self.scenario_cfg = scenario_cfg
        self.context_cfg = context_cfg
        self.options = self.scenario_cfg['options']

        self.image_name = self.options.get("image_name", None)
        self.flavor_name = self.options.get("flavor_name", None)
        self.openstack = self.options.get("openstack_paras", None)

        self.glance_client = op_utils.get_glance_client()
        self.neutron_client = op_utils.get_neutron_client()
        self.nova_client = op_utils.get_nova_client()

        self.setup_done = False
Exemple #7
0
    def __init__(self, scenario_cfg, context_cfg):
        self.scenario_cfg = scenario_cfg
        self.context_cfg = context_cfg
        self.options = self.scenario_cfg['options']

        self.volume_name = self.options.get("volume_name", "TestVolume")
        self.volume_size = self.options.get("size", 100)
        self.image_name = self.options.get("image", None)
        self.image_id = None

        self.glance_client = op_utils.get_glance_client()
        self.cinder_client = op_utils.get_cinder_client()

        self.setup_done = False
Exemple #8
0
 def __init__(self, scenario_cfg, context_cfg):
     self.scenario_cfg = scenario_cfg
     self.context_cfg = context_cfg
     self.nodes = context_cfg['nodes']
     self.options = scenario_cfg['options']
     self.host_str = self.options.get("host", 'host1')
     self.host_list = self.host_str.split(',')
     self.host_list.sort()
     self.image = self.options.get("image", 'cirros-0.3.3')
     self.external_network = os.getenv("EXTERNAL_NETWORK")
     self.cpu_set = self.options.get("cpu_set", None)
     self.host_memory = self.options.get("host_memory", 512)
     self.nova_client = op_utils.get_nova_client()
     self.neutron_client = op_utils.get_neutron_client()
     self.glance_client = op_utils.get_glance_client()
     self.instance = None
     self.client = None
Exemple #9
0
    def delete_image(self, args):
        try:
            image_name = args['name']
        except KeyError:
            return result_handler(consts.API_ERROR, 'image name must provided')

        if image_name not in IMAGE_MAP:
            return result_handler(consts.API_ERROR, 'wrong image name')

        glance_client = get_glance_client()
        try:
            image = next((i for i in glance_client.images.list()
                          if i.name == image_name))
        except StopIteration:
            return result_handler(consts.API_ERROR, 'can not find image')

        glance_client.images.delete(image.id)

        return result_handler(consts.API_SUCCESS, {})
Exemple #10
0
    def __init__(self, scenario_cfg, context_cfg):
        self.scenario_cfg = scenario_cfg
        self.context_cfg = context_cfg
        self.options = self.scenario_cfg['options']

        self.image_name = self.options.get("image_name", "TestImage")
        self.file_path = self.options.get("file_path", None)
        self.disk_format = self.options.get("disk_format", "qcow2")
        self.container_format = self.options.get("container_format", "bare")
        self.min_disk = self.options.get("min_disk", 0)
        self.min_ram = self.options.get("min_ram", 0)
        self.protected = self.options.get("protected", False)
        self.public = self.options.get("public", "public")
        self.tags = self.options.get("tags", [])
        self.custom_property = self.options.get("property", {})

        self.glance_client = op_utils.get_glance_client()

        self.setup_done = False
Exemple #11
0
    def __init__(self, scenario_cfg, context_cfg):
        self.scenario_cfg = scenario_cfg
        self.context_cfg = context_cfg
        self.options = self.scenario_cfg['options']
        self.host_str = self.options.get("host", "node4")
        self.host_list = self.host_str.split(',')
        self.image = self.options.get("image", 'cirros-0.3.3')
        self.external_network = os.getenv("EXTERNAL_NETWORK")
        self.nova_client = op_utils.get_nova_client()
        self.neutron_client = op_utils.get_neutron_client()
        self.glance_client = op_utils.get_glance_client()
        self.instance = None
        self.instance_2 = None
        self.client = None

        node_file = os.path.join(consts.YARDSTICK_ROOT_PATH,
                                 self.options.get("file"))
        with open(node_file) as f:
            nodes = yaml.safe_load(TaskTemplate.render(f.read()))
        self.nodes = {a['name']: a for a in nodes['nodes']}

        self.setup_done = False
Exemple #12
0
 def __init__(self, scenario_cfg, context_cfg):
     self.scenario_cfg = scenario_cfg
     self.context_cfg = context_cfg
     self.nodes = context_cfg['nodes']
     self.options = scenario_cfg['options']
     self.host_str = self.options.get("host", 'host1')
     self.host_list = self.host_str.split(',')
     self.host_list.sort()
     self.flavor1 = self.options.get("flavor1",
                                     "yardstick-hugepages-flavor1")
     self.flavor2 = self.options.get("flavor2",
                                     "yardstick-hugepages-flavor2")
     self.image = self.options.get("image", 'cirros-0.3.3')
     self.external_network = self.options.get("external_network",
                                              "external")
     self.cpu_set = self.options.get("cpu_set", '1,2,3,4,5,6')
     self.host_memory = self.options.get("host_memory", 512)
     self.nova_client = op_utils.get_nova_client()
     self.neutron_client = op_utils.get_neutron_client()
     self.glance_client = op_utils.get_glance_client()
     self.instance = None
     self.client = None
     self.compute_node1 = None
     self.compute_node2 = None