本文整理汇总了Python中rally.common.utils.iterate_per_tenants函数的典型用法代码示例。如果您正苦于以下问题:Python iterate_per_tenants函数的具体用法?Python iterate_per_tenants怎么用?Python iterate_per_tenants使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了iterate_per_tenants函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: setup
def setup(self):
# The user may want to use the existing image. In this case he should
# make sure that the image is public and has all required metadata.
image_uuid = self.config.get("image_uuid")
self.context["need_sahara_image_cleanup"] = not image_uuid
if image_uuid:
# Using the first user to check the existing image.
user = self.context["users"][0]
clients = osclients.Clients(user["endpoint"])
image = clients.glance().images.get(image_uuid)
if not image.is_public:
raise exceptions.BenchmarkSetupFailure(
"Image provided in the Sahara context should be public.")
image_id = image_uuid
for user, tenant_id in rutils.iterate_per_tenants(
self.context["users"]):
self.context["tenants"][tenant_id]["sahara_image"] = image_id
else:
for user, tenant_id in rutils.iterate_per_tenants(
self.context["users"]):
image_id = self._create_image(
hadoop_version=self.config["hadoop_version"],
image_url=self.config["image_url"],
plugin_name=self.config["plugin_name"],
user=user,
user_name=self.config["username"])
self.context["tenants"][tenant_id]["sahara_image"] = image_id
开发者ID:aswadrangnekar,项目名称:rally,代码行数:35,代码来源:sahara_image.py
示例2: cleanup
def cleanup(self):
for user, tenant_id in rutils.iterate_per_tenants(
self.context["users"]):
magnum_scenario = magnum_utils.MagnumScenario({
"user": user,
"task": self.context["task"],
"config": {"api_versions": self.context["config"].get(
"api_versions", [])}
})
# get the cluster and cluster_template
cluster_uuid = str(self.context["tenants"][tenant_id]["cluster"])
cluster = magnum_scenario._get_cluster(cluster_uuid)
cluster_template = magnum_scenario._get_cluster_template(
cluster.cluster_template_id)
if not cluster_template.tls_disabled:
dir = self.context["ca_certs_directory"]
fname = os.path.join(dir, cluster_uuid + ".key")
os.remove(fname)
fname = os.path.join(dir, cluster_uuid + "_ca.crt")
os.remove(fname)
fname = os.path.join(dir, cluster_uuid + ".crt")
os.remove(fname)
开发者ID:andreykurilin,项目名称:rally,代码行数:25,代码来源:ca_certs.py
示例3: setup
def setup(self):
image = self.config["image"]
flavor = self.config["flavor"]
servers_per_tenant = self.config["servers_per_tenant"]
clients = osclients.Clients(self.context["users"][0]["endpoint"])
image_id = types.ImageResourceType.transform(clients=clients, resource_config=image)
flavor_id = types.FlavorResourceType.transform(clients=clients, resource_config=flavor)
for user, tenant_id in rutils.iterate_per_tenants(self.context["users"]):
LOG.debug("Booting servers for user tenant %s " % (user["tenant_id"]))
nova_scenario = nova_utils.NovaScenario({"user": user})
LOG.debug(
"Calling _boot_servers with image_id=%(image_id)s "
"flavor_id=%(flavor_id)s "
"servers_per_tenant=%(servers_per_tenant)s"
% {"image_id": image_id, "flavor_id": flavor_id, "servers_per_tenant": servers_per_tenant}
)
servers = nova_scenario._boot_servers(image_id, flavor_id, servers_per_tenant)
current_servers = [server.id for server in servers]
LOG.debug("Adding booted servers %s to context" % current_servers)
self.context["tenants"][tenant_id]["servers"] = current_servers
开发者ID:plomakin,项目名称:rally,代码行数:27,代码来源:servers.py
示例4: setup
def setup(self):
disk_format = self.config["disk_format"]
container_format = self.config["container_format"]
images_per_tenant = self.config["images_per_tenant"]
for user, tenant_id in rutils.iterate_per_tenants(
self.context["users"]):
glance = osclients.Clients(user["credential"]).glance().images
current_images = []
for i in range(images_per_tenant):
kw = {
"name": "image-" + tenant_id[0:8] + "-" + str(i),
"container_format": container_format,
"disk_format": disk_format,
"size": 1000000,
}
image = glance.create(**kw)
current_images.append(image.id)
self.context["tenants"][tenant_id]["images"] = current_images
# NOTE(andrey-mp): call ec2 api to initialize it
args = user['ec2args']
client = botocoreclient.get_ec2_client(
args['url'], args['region'], args['access'], args['secret'])
data = client.describe_images()
开发者ID:hayderimran7,项目名称:ec2-api,代码行数:26,代码来源:context_plugin_images.py
示例5: setup
def setup(self):
for user, tenant_id in rutils.iterate_per_tenants(
self.context["users"]):
nova_scenario = nova_utils.NovaScenario({
"user": user,
"task": self.context["task"],
"config": {"api_versions": self.context["config"].get(
"api_versions", [])}
})
keypair = nova_scenario._create_keypair()
magnum_scenario = magnum_utils.MagnumScenario({
"user": user,
"task": self.context["task"],
"owner_id": self.context["owner_id"],
"config": {"api_versions": self.context["config"].get(
"api_versions", [])}
})
# create a cluster
ct_uuid = self.config.get("cluster_template_uuid", None)
if ct_uuid is None:
ctx = self.context["tenants"][tenant_id]
ct_uuid = ctx.get("cluster_template")
cluster = magnum_scenario._create_cluster(
cluster_template=ct_uuid,
node_count=self.config.get("node_count"), keypair=keypair)
self.context["tenants"][tenant_id]["cluster"] = cluster.uuid
开发者ID:andreykurilin,项目名称:rally,代码行数:29,代码来源:clusters.py
示例6: _cleanup_tenant_resources
def _cleanup_tenant_resources(self, resources_plural_name,
resources_singular_name):
"""Cleans up tenant resources.
:param resources_plural_name: plural name for resources, should be
one of "shares", "share_networks" or "security_services".
:param resources_singular_name: singular name for resource. Expected
to be part of resource deletion method name (obj._delete_%s)
"""
for user, tenant_id in (utils.iterate_per_tenants(
self.context.get("users", []))):
clients = osclients.Clients(user["endpoint"])
manila_scenario = manila_utils.ManilaScenario(clients=clients)
resources = self.context["tenants"][tenant_id].get(
resources_plural_name, [])
for resource in resources:
logger = log.ExceptionLogger(
LOG,
_("Failed to delete %(name)s %(id)s for tenant %(t)s.") % {
"id": resource, "t": tenant_id,
"name": resources_singular_name})
with logger:
delete_func = getattr(
manila_scenario,
"_delete_%s" % resources_singular_name)
delete_func(resource)
开发者ID:vponomaryov,项目名称:rally,代码行数:26,代码来源:manila.py
示例7: _cleanup_tenant_resources
def _cleanup_tenant_resources(self, resources_plural_name,
resources_singular_name):
"""Cleans up tenant resources.
:param resources_plural_name: plural name for resources
:param resources_singular_name: singular name for resource. Expected
to be part of resource deletion method name (obj._delete_%s)
"""
for user, tenant_id in (utils.iterate_per_tenants(
self.context.get("users", []))):
manila_scenario = manila_utils.ManilaScenario({
"user": user,
"config": {
"api_versions": self.context["config"].get(
"api_versions", [])}
})
resources = self.context["tenants"][tenant_id][CONTEXT_NAME].get(
resources_plural_name, [])
for resource in resources:
logger = logging.ExceptionLogger(
LOG,
_("Failed to delete %(name)s %(id)s for tenant %(t)s.") % {
"id": resource, "t": tenant_id,
"name": resources_singular_name})
with logger:
delete_func = getattr(
manila_scenario,
"_delete_%s" % resources_singular_name)
delete_func(resource)
开发者ID:gluke77,项目名称:rally,代码行数:29,代码来源:manila_share_networks.py
示例8: setup
def setup(self):
image = self.config["image"]
flavor = self.config["flavor"]
clients = osclients.Clients(self.context["users"][0]["credential"])
image_id = types.EC2ImageResourceType.transform(clients=clients,
resource_config=image)
for user, tenant_id in rutils.iterate_per_tenants(
self.context["users"]):
LOG.debug("Booting servers for tenant %s "
% (user["tenant_id"]))
user_clients = osclients.Clients(user["credential"])
ec2_scenario = ec2_utils.EC2Scenario(clients=user_clients)
LOG.debug(
"Calling _boot_servers with "
"image_id={image_id} flavor_name={flavor_name} "
"servers_per_tenant={servers_per_tenant}".format(
image_id=image_id, flavor_name=flavor["name"],
servers_per_tenant=self.config["servers_per_tenant"]))
servers = ec2_scenario._boot_servers(
image_id, flavor["name"], self.config["servers_per_tenant"])
current_servers = [server.id for server in servers]
self.context["tenants"][tenant_id]["ec2_servers"] = current_servers
开发者ID:amit0701,项目名称:rally,代码行数:28,代码来源:servers.py
示例9: setup
def setup(self):
for user, tenant_id in utils.iterate_per_tenants(
self.context.get("users", [])):
net_wrapper = network_wrapper.wrap(
osclients.Clients(user["endpoint"]), self, config=self.config)
self.context["tenants"][tenant_id]["networks"] = (
net_wrapper.list_networks())
开发者ID:group-policy,项目名称:rally,代码行数:7,代码来源:existing_network.py
示例10: setup
def setup(self):
image = self.config["image"]
flavor = self.config["flavor"]
clients = osclients.Clients(self.context["users"][0]["credential"])
image_id = types.EC2Image.transform(clients=clients,
resource_config=image)
for user, tenant_id in rutils.iterate_per_tenants(
self.context["users"]):
LOG.debug("Booting servers for tenant %s " % user["tenant_id"])
ec2_scenario = ec2_utils.EC2Scenario({
"user": user,
"task": self.context["task"],
"owner_id": self.context["owner_id"]})
LOG.debug(
"Calling _boot_servers with "
"image_id=%(image_id)s flavor_name=%(flavor_name)s "
"servers_per_tenant=%(servers_per_tenant)s"
% {"image_id": image_id,
"flavor_name": flavor["name"],
"servers_per_tenant": self.config["servers_per_tenant"]})
servers = ec2_scenario._boot_servers(
image_id, flavor["name"], self.config["servers_per_tenant"])
current_servers = [server.id for server in servers]
self.context["tenants"][tenant_id]["ec2_servers"] = current_servers
开发者ID:andreykurilin,项目名称:rally,代码行数:30,代码来源:servers.py
示例11: cleanup
def cleanup(self):
for user, tenant_id in rutils.iterate_per_tenants(
self.context["users"]):
args = user['ec2args']
client = botocoreclient.get_ec2_client(
args['url'], args['region'], args['access'], args['secret'])
self.cleanup_networks(tenant_id, client)
开发者ID:openstack,项目名称:ec2-api,代码行数:7,代码来源:context_plugin_ec2_objects.py
示例12: setup
def setup(self):
image = self.config["image"]
image_id = None
for user, tenant_id in rutils.iterate_per_tenants(
self.context["users"]):
LOG.info("Booting servers for user tenant %s "
% (user["tenant_id"]))
args = user['ec2args']
client = botocoreclient.APIClientEC2(
args['url'], args['region'], args['access'], args['secret'])
if image_id is None:
resp, data = client.DescribeImages(
Filters=[{'Name': 'name', 'Values': [image]},
{'Name': 'image-type', 'Values': ['machine']}])
if resp.status_code != 200:
LOG.error(ec2_tests_base.EC2ErrorConverter(data))
assert 200 == resp.status_code
image_id = data['Images'][0]['ImageId']
self.context["tenants"][tenant_id]["servers"] = list()
self.context["tenants"][tenant_id]["networks"] = list()
self.run_instances(tenant_id, client, image_id)
self.wait_for_instances(tenant_id, client)
self.assign_floating_ips(tenant_id, client)
开发者ID:vishnu-kumar,项目名称:jcsapitest,代码行数:27,代码来源:context_plugin_ec2_objects.py
示例13: init_sahara_context
def init_sahara_context(context_instance):
context_instance.context["sahara"] = context_instance.context.get("sahara",
{})
for user, tenant_id in rutils.iterate_per_tenants(
context_instance.context["users"]):
context_instance.context["tenants"][tenant_id]["sahara"] = (
context_instance.context["tenants"][tenant_id].get("sahara", {}))
开发者ID:jacobwagner,项目名称:rally,代码行数:7,代码来源:utils.py
示例14: publish
def publish(queue):
for user, tenant_id in (rutils.iterate_per_tenants(
context.get("users", []))):
context["tenants"][tenant_id]["containers"] = []
for i in range(containers_per_tenant):
args = (user, context["tenants"][tenant_id]["containers"])
queue.append(args)
开发者ID:Pigueiras,项目名称:rally,代码行数:7,代码来源:utils.py
示例15: setup
def setup(self):
image_url = self.config["image_url"]
plugin_name = self.config["plugin_name"]
hadoop_version = self.config["hadoop_version"]
user_name = self.config["username"]
for user, tenant_id in rutils.iterate_per_tenants(
self.context["users"]):
clients = osclients.Clients(user["endpoint"])
glance_util_class = glance_utils.GlanceScenario(
clients=clients)
image_name = scenarios_base.Scenario._generate_random_name(
prefix="sahara_image_", length=15)
image = glance_util_class._create_image(image_name,
"bare",
image_url,
"qcow2")
clients.sahara().images.update_image(image_id=image.id,
user_name=user_name,
desc="")
clients.sahara().images.update_tags(image_id=image.id,
new_tags=[plugin_name,
hadoop_version])
self.context["tenants"][tenant_id]["sahara_image"] = image.id
开发者ID:Vaidyanath,项目名称:rally,代码行数:29,代码来源:sahara_image.py
示例16: setup
def setup(self):
template = get_data(self.config["template"])
files = {}
for key, filename in self.config.get("files", {}).items():
files[key] = get_data(filename)
parameters = self.config.get("parameters", rutils.LockedDict())
with parameters.unlocked():
if "network_id" not in parameters:
parameters["network_id"] = self._get_public_network_id()
for user, tenant_id in rutils.iterate_per_tenants(
self.context["users"]):
for name, path in self.config.get("context_parameters",
{}).items():
parameters[name] = self._get_context_parameter(user,
tenant_id,
path)
if "router_id" not in parameters:
networks = self.context["tenants"][tenant_id]["networks"]
parameters["router_id"] = networks[0]["router_id"]
if "key_name" not in parameters:
parameters["key_name"] = user["keypair"]["name"]
heat_scenario = heat_utils.HeatScenario(
{"user": user, "task": self.context["task"],
"owner_id": self.context["owner_id"]})
self.context["tenants"][tenant_id]["stack_dataplane"] = []
for i in range(self.config["stacks_per_tenant"]):
stack = heat_scenario._create_stack(template, files=files,
parameters=parameters)
tenant_data = self.context["tenants"][tenant_id]
tenant_data["stack_dataplane"].append([stack.id, template,
files, parameters])
开发者ID:jacobwagner,项目名称:rally,代码行数:31,代码来源:heat.py
示例17: setup
def setup(self):
utils.init_sahara_context(self)
for user, tenant_id in rutils.iterate_per_tenants(
self.context["users"]):
clients = osclients.Clients(user["endpoint"])
sahara = clients.sahara()
if self.config["output_type"] == "swift":
swift = swift_utils.SwiftScenario(clients=clients,
context=self.context)
container_name = rutils.generate_random_name(
prefix=self.config["output_url_prefix"])
self.context["tenants"][tenant_id]["sahara"]["container"] = {
"name": swift._create_container(
container_name=container_name),
"output_swift_objects": []
}
self.setup_outputs_swift(swift, sahara, tenant_id,
container_name,
user["endpoint"].username,
user["endpoint"].password)
else:
self.setup_outputs_hdfs(sahara, tenant_id,
self.config["output_url_prefix"])
开发者ID:hayderimran7,项目名称:rally,代码行数:25,代码来源:sahara_output_data_sources.py
示例18: setup
def setup(self):
"""This method is called before the task start."""
try:
for user in self.context['users']:
osclient = osclients.Clients(user['credential'])
keystone = osclient.keystone()
creds = keystone.ec2.list(user['id'])
if not creds:
creds = keystone.ec2.create(user['id'], user['tenant_id'])
else:
creds = creds[0]
url = keystone.service_catalog.url_for(service_type='ec2')
user['ec2args'] = {
'region': 'RegionOne',
'url': url,
'access': creds.access,
'secret': creds.secret
}
if self.net_wrapper.SERVICE_IMPL == consts.Service.NEUTRON:
for user, tenant_id in rutils.iterate_per_tenants(
self.context["users"]):
body = {"quota": {"router": -1, "floatingip": -1}}
self.net_wrapper.client.update_quota(tenant_id, body)
network = self.net_wrapper.create_network(
tenant_id, add_router=True, subnets_num=1)
self.context["tenants"][tenant_id]["network"] = network
except Exception as e:
msg = "Can't prepare ec2 client: %s" % e.message
if logging.is_debug():
LOG.exception(msg)
else:
LOG.warning(msg)
开发者ID:hayderimran7,项目名称:ec2-api,代码行数:34,代码来源:context_plugin_ec2_creds.py
示例19: setup
def setup(self):
is_config_app_dir = False
pckg_path = os.path.expanduser(self.config["app_package"])
if zipfile.is_zipfile(pckg_path):
zip_name = pckg_path
elif os.path.isdir(pckg_path):
is_config_app_dir = True
zip_name = fileutils.pack_dir(pckg_path)
else:
msg = "There is no zip archive or directory by this path: %s"
raise exceptions.ContextSetupFailure(msg=msg % pckg_path,
ctx_name=self.get_name())
for user, tenant_id in utils.iterate_per_tenants(
self.context["users"]):
clients = osclients.Clients(user["credential"])
self.context["tenants"][tenant_id]["packages"] = []
if is_config_app_dir:
self.context["tenants"][tenant_id]["murano_ctx"] = zip_name
# TODO(astudenov): use self.generate_random_name()
package = clients.murano().packages.create(
{"categories": ["Web"], "tags": ["tag"]},
{"file": open(zip_name)})
self.context["tenants"][tenant_id]["packages"].append(package)
开发者ID:andreykurilin,项目名称:rally,代码行数:25,代码来源:murano_packages.py
示例20: setup
def setup(self):
# NOTE(rkiran): Some clients are not thread-safe. Thus during
# multithreading/multiprocessing, it is likely the
# sockets are left open. This problem is eliminated by
# creating a connection in setup and cleanup separately.
net_wrapper = network_wrapper.wrap(
osclients.Clients(self.context["admin"]["credential"]),
self, config=self.config)
kwargs = {}
if self.config["dns_nameservers"] is not None:
kwargs["dns_nameservers"] = self.config["dns_nameservers"]
for user, tenant_id in (utils.iterate_per_tenants(
self.context.get("users", []))):
self.context["tenants"][tenant_id]["networks"] = []
for i in range(self.config["networks_per_tenant"]):
# NOTE(amaretskiy): add_router and subnets_num take effect
# for Neutron only.
network_create_args = self.config["network_create_args"].copy()
network = net_wrapper.create_network(
tenant_id,
add_router=True,
subnets_num=self.config["subnets_per_network"],
network_create_args=network_create_args,
**kwargs)
self.context["tenants"][tenant_id]["networks"].append(network)
开发者ID:andreykurilin,项目名称:rally,代码行数:25,代码来源:networks.py
注:本文中的rally.common.utils.iterate_per_tenants函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论