def transform(cls, clients, resource_config): """Transform the resource config to EC2 id. If OpenStack resource id is given, this function gets resource name from the id and then gets EC2 resource id from the name. :param clients: openstack admin client handles :param resource_config: scenario config with `id`, `name` or `regex` :returns: EC2 id matching resource """ if "name" not in resource_config and "regex" not in resource_config: # NOTE(wtakase): gets resource name from OpenStack id glanceclient = clients.glance() resource_name = types._name_from_id( resource_config=resource_config, resources=list(glanceclient.images.list()), typename="image") resource_config["name"] = resource_name # NOTE(wtakase): gets EC2 resource id from name or regex ec2client = clients.ec2() resource_ec2_id = types._id_from_name(resource_config=resource_config, resources=list( ec2client.get_all_images()), typename="ec2_image") return resource_ec2_id
def transform(cls, clients, resource_config): """Transform the resource config to EC2 id. If OpenStack resource id is given, this function gets resource name from the id and then gets EC2 resource id from the name. :param clients: openstack admin client handles :param resource_config: scenario config with `id`, `name` or `regex` :returns: EC2 id matching resource """ if "name" not in resource_config and "regex" not in resource_config: # NOTE(wtakase): gets resource name from OpenStack id glanceclient = clients.glance() resource_name = types._name_from_id( resource_config=resource_config, resources=list(glanceclient.images.list()), typename="image") resource_config["name"] = resource_name # NOTE(wtakase): gets EC2 resource id from name or regex ec2client = clients.ec2() resource_ec2_id = types._id_from_name( resource_config=resource_config, resources=list(ec2client.get_all_images()), typename="ec2_image") return resource_ec2_id
def pre_process(self, resource_spec, config): resource_name = resource_spec.get("name") if not resource_name: # NOTE(wtakase): gets resource name from OpenStack id novaclient = self._clients.nova() resource_name = types._name_from_id( resource_config=resource_spec, resources=novaclient.flavors.list(), typename="flavor") return resource_name
def pre_process(self, resource_spec, config): if "name" not in resource_spec and "regex" not in resource_spec: # NOTE(wtakase): gets resource name from OpenStack id glanceclient = self._clients.glance() resource_name = types._name_from_id( resource_config=resource_spec, resources=list(glanceclient.images.list()), typename="image") resource_spec["name"] = resource_name # NOTE(wtakase): gets EC2 resource id from name or regex ec2client = self._clients.ec2() resource_ec2_id = types._id_from_name(resource_config=resource_spec, resources=list( ec2client.get_all_images()), typename="ec2_image") return resource_ec2_id
def pre_process(self, resource_spec, config): if "name" not in resource_spec and "regex" not in resource_spec: # NOTE(wtakase): gets resource name from OpenStack id glanceclient = self._clients.glance() resource_name = types._name_from_id( resource_config=resource_spec, resources=list(glanceclient.images.list()), typename="image") resource_spec["name"] = resource_name # NOTE(wtakase): gets EC2 resource id from name or regex ec2client = self._clients.ec2() resource_ec2_id = types._id_from_name( resource_config=resource_spec, resources=list(ec2client.get_all_images()), typename="ec2_image") return resource_ec2_id
def transform(cls, clients, resource_config): """Transform the resource config to name. In the case of using EC2 API, flavor name is used for launching servers. :param clients: openstack admin client handles :param resource_config: scenario config with `id`, `name` or `regex` :returns: name matching resource """ resource_name = resource_config.get("name") if not resource_name: # NOTE(wtakase): gets resource name from OpenStack id novaclient = clients.nova() resource_name = types._name_from_id( resource_config=resource_config, resources=novaclient.flavors.list(), typename="flavor") return resource_name