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')
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})
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
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
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
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
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
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, {})
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
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
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