本文整理汇总了Python中utils.providers.get_crud函数的典型用法代码示例。如果您正苦于以下问题:Python get_crud函数的具体用法?Python get_crud怎么用?Python get_crud使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了get_crud函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_workload_capacity_and_utilization
def test_workload_capacity_and_utilization(request, scenario, appliance):
"""Runs through provider based scenarios enabling C&U and running for a set period of time.
Memory Monitor creates graphs and summary at the end of each scenario."""
from_ts = int(time.time() * 1000)
logger.debug('Scenario: {}'.format(scenario['name']))
appliance.clean_appliance()
quantifiers = {}
scenario_data = {'appliance_ip': appliance.hostname,
'appliance_name': conf.cfme_performance['appliance']['appliance_name'],
'test_dir': 'workload-cap-and-util',
'test_name': 'Capacity and Utilization',
'appliance_roles': ','.join(roles_cap_and_util),
'scenario': scenario}
monitor_thread = SmemMemoryMonitor(appliance.ssh_client, scenario_data)
def cleanup_workload(scenario, from_ts, quantifiers, scenario_data):
starttime = time.time()
to_ts = int(starttime * 1000)
g_urls = get_scenario_dashboard_urls(scenario, from_ts, to_ts)
logger.debug('Started cleaning up monitoring thread.')
monitor_thread.grafana_urls = g_urls
monitor_thread.signal = False
monitor_thread.join()
add_workload_quantifiers(quantifiers, scenario_data)
timediff = time.time() - starttime
logger.info('Finished cleaning up monitoring thread in {}'.format(timediff))
request.addfinalizer(lambda: cleanup_workload(scenario, from_ts, quantifiers, scenario_data))
monitor_thread.start()
appliance.wait_for_miq_server_workers_started(poll_interval=2)
appliance.update_server_roles({role: True for role in roles_cap_and_util})
for provider in scenario['providers']:
get_crud(provider).create_rest()
logger.info('Sleeping for Refresh: {}s'.format(scenario['refresh_sleep_time']))
time.sleep(scenario['refresh_sleep_time'])
appliance.set_cap_and_util_all_via_rails()
# Variable amount of time for C&U collections/processing
total_time = scenario['total_time']
starttime = time.time()
elapsed_time = 0
while (elapsed_time < total_time):
elapsed_time = time.time() - starttime
time_left = total_time - elapsed_time
logger.info('Time elapsed: {}/{}'.format(round(elapsed_time, 2), total_time))
if (time_left > 0 and time_left < 300):
time.sleep(time_left)
elif time_left > 0:
time.sleep(300)
quantifiers['Elapsed_Time'] = round(elapsed_time, 2)
logger.info('Test Ending...')
示例2: pytest_generate_tests
def pytest_generate_tests(metafunc):
types = [VMwareProvider, RHEVMProvider, SCVMMProvider]
argnames, argvalues, idlist = testgen.providers_by_class(
metafunc, types)
argnames = ['providers_for_discover', 'start_ip', 'max_range']
new_id_list = []
providers_complete = []
providers_final = []
for x in idlist:
providers_complete.append(get_crud(x))
provider_combinations = sorted(
find_neighbour_provider_combinations(providers_complete, len(types)), key=len)
signatures_seen = set()
for prov_comb in provider_combinations:
sig = generate_signature(prov_comb)
if sig in signatures_seen:
continue
signatures_seen.add(sig)
start_ip, max_range = minmax_ip(prov_comb)
providers_final.append([prov_comb, start_ip, max_range])
new_id_list.append(sig)
testgen.parametrize(metafunc, argnames, providers_final, ids=new_id_list, scope="module")
示例3: __init__
def __init__(self, name=None, provider_key=None, type=None):
self.name = name
self.type = type
if provider_key:
self.provider = get_crud(provider_key)
else:
self.provider = None
示例4: setup_provider
def setup_provider(provider, original_provider_key):
original_provider = get_crud(original_provider_key)
if original_provider.exists:
# Delete original provider's hosts first
for host in original_provider.hosts:
if host.exists:
host.delete(cancel=False)
# Get rid of the original provider, it would make a mess.
original_provider.delete(cancel=False)
provider.wait_for_delete()
provider.create()
provider.refresh_provider_relationships()
try:
wait_for(
lambda: any([
provider.num_vm() > 0,
provider.num_template() > 0,
provider.num_datastore() > 0,
provider.num_host() > 0,
]), num_sec=400, delay=5)
except:
provider.delete(cancel=False)
raise
yield
for host in provider.hosts:
if host.exists:
host.delete(cancel=False)
provider.delete(cancel=False)
provider.wait_for_delete()
示例5: existing_vm
def existing_vm(request):
""" Fixture will be using for set\unset retirement date for existing vm instead of
creation a new one
"""
list_of_existing_providers = providers.existing_providers()
if list_of_existing_providers:
test_provider = providers.get_crud(list_of_existing_providers[0])
else:
test_provider = providers.setup_a_provider()
all_vms = test_provider.mgmt.list_vm()
need_to_create_vm = True
for virtual_machine in all_vms:
if test_provider.mgmt.is_vm_running(virtual_machine):
need_vm = VM.factory(virtual_machine, test_provider)
need_to_create_vm = False
break
if need_to_create_vm:
machine_name = 'test_retire_prov_{}'.format(fauxfactory.gen_alpha(length=8).lower())
need_vm = VM.factory(machine_name, test_provider)
need_vm.create_on_provider(find_in_cfme=True, allow_skip="default")
@request.addfinalizer
def _delete_vm():
if need_to_create_vm:
test_provider.mgmt.delete_vm(need_vm.name)
return need_vm
示例6: pytest_generate_tests
def pytest_generate_tests(metafunc):
types = ["virtualcenter", "rhevm", "scvmm"]
argnames, argvalues, idlist = testgen.provider_by_type(metafunc, types)
argnames = ["providers_for_discover", "start_ip", "max_range"]
new_id_list = []
providers_complete = []
providers_final = []
for x in idlist:
providers_complete.append(get_crud(x))
provider_combinations = sorted(find_neighbour_provider_combinations(providers_complete, len(types)), key=len)
signatures_seen = set()
for prov_comb in provider_combinations:
sig = generate_signature(prov_comb)
if sig in signatures_seen:
continue
signatures_seen.add(sig)
start_ip, max_range = minmax_ip(prov_comb)
providers_final.append([prov_comb, start_ip, max_range])
new_id_list.append(sig)
testgen.parametrize(metafunc, argnames, providers_final, ids=new_id_list, scope="module")
示例7: servers_in_mgmt
def servers_in_mgmt(cls, provider=None, server_group=None):
if provider is None:
servers = []
for _provider in list_providers('hawkular'):
servers.extend(cls._servers_in_mgmt(get_crud(_provider), server_group))
return servers
else:
return cls._servers_in_mgmt(provider, server_group)
示例8: datasources_in_mgmt
def datasources_in_mgmt(cls, provider=None, server=None):
if provider is None:
datasources = []
for _provider in list_providers('hawkular'):
datasources.extend(cls._datasources_in_mgmt(get_crud(_provider), server))
return datasources
else:
return cls._datasources_in_mgmt(provider, server)
示例9: deployments_in_mgmt
def deployments_in_mgmt(cls, provider=None, server=None):
if provider is None:
deployments = []
for _provider in list_middleware_providers():
deployments.extend(cls._deployments_in_mgmt(get_crud(_provider), server))
return deployments
else:
return cls._deployments_in_mgmt(provider, server)
示例10: __init__
def __init__(self, name=None, provider_key=None, type=None, appliance=None):
Navigatable.__init__(self, appliance)
self.name = name
self.type = type
self.quad_name = 'datastore'
if provider_key:
self.provider = get_crud(provider_key)
else:
self.provider = None
示例11: deployment_in_db
def deployment_in_db(self):
deployment = _db_select_query(name=self.name, server=self.server,
provider=self.provider).first()
if deployment:
_provider = get_crud(get_provider_key(deployment.provider_name))
_server = MiddlewareServer(name=deployment.server_name, feed=deployment.feed,
provider=_provider)
return MiddlewareDeployment(nativeid=deployment.nativeid, name=deployment.name,
server=_server, provider=_provider)
return None
示例12: deploy_template
def deploy_template(provider_key, vm_name, template_name=None, timeout=900,
**deploy_args):
"""
Args:
provider_key: Provider key on which the VM is to be created
vm_name: Name of the VM to be deployed
template_name: Name of the template that the VM is deployed from
"""
allow_skip = deploy_args.pop("allow_skip", ())
if isinstance(allow_skip, dict):
skip_exceptions = allow_skip.keys()
callable_mapping = allow_skip
elif isinstance(allow_skip, basestring) and allow_skip.lower() == "default":
skip_exceptions = (OSOverLimit, RHEVRequestError, exceptions.VMInstanceNotCloned, SSLError)
callable_mapping = {}
else:
skip_exceptions = allow_skip
callable_mapping = {}
provider_crud = get_crud(provider_key)
deploy_args.update(vm_name=vm_name)
if template_name is None:
try:
deploy_args.update(template=provider_crud.data['small_template'])
except KeyError:
raise ValueError('small_template not defined for Provider {} in cfme_data.yaml'.format(
provider_key))
else:
deploy_args.update(template=template_name)
deploy_args.update(provider_crud.deployment_helper(deploy_args))
logger.info("Getting ready to deploy VM/instance %s from template %s on provider %s",
vm_name, deploy_args['template'], provider_crud.data['name'])
try:
try:
logger.debug("Deploy args: %s", deploy_args)
vm_name = provider_crud.mgmt.deploy_template(timeout=timeout, **deploy_args)
logger.info("Provisioned VM/instance %s", vm_name) # instance ID in case of EC2
except Exception as e:
logger.error('Could not provisioning VM/instance %s (%s: %s)',
vm_name, type(e).__name__, str(e))
_vm_cleanup(provider_crud.mgmt, vm_name)
raise
except skip_exceptions as e:
e_c = type(e)
if e_c in callable_mapping and not callable_mapping[e_c](e):
raise
# Make it visible also in the log.
store.write_line(
"Skipping due to a provider error: {}: {}\n".format(e_c.__name__, str(e)), purple=True)
logger.exception(e)
pytest.skip("{}: {}".format(e_c.__name__, str(e)))
return vm_name
示例13: servers_in_db
def servers_in_db(cls, name=None, feed=None, provider=None, strict=True):
servers = []
rows = _db_select_query(name=name, feed=feed, provider=provider).all()
for server in rows:
if strict:
_provider = get_crud(get_provider_key(server.provider_name))
servers.append(MiddlewareServer(name=server.name, hostname=server.hostname,
feed=server.feed, product=server.product,
db_id=server.id, provider=_provider,
properties=parse_properties(server.properties)))
return servers
示例14: domains_in_db
def domains_in_db(cls, name=None, feed=None, provider=None, strict=True):
domains = []
rows = _db_select_query(name=name, feed=feed, provider=provider).all()
for domain in rows:
if strict:
_provider = get_crud(get_provider_key(domain.provider_name))
domains.append(MiddlewareDomain(
name=domain.name,
feed=domain.feed,
db_id=domain.id,
provider=_provider,
properties=parse_properties(domain.properties)))
return domains
示例15: deployments_in_db
def deployments_in_db(cls, server=None, provider=None, strict=True):
deployments = []
rows = _db_select_query(server=server, provider=provider).all()
_provider = provider
for deployment in rows:
if strict:
_provider = get_crud(get_provider_key(deployment.provider_name))
_server = MiddlewareServer(name=deployment.server_name, feed=deployment.feed,
provider=provider)
deployments.append(MiddlewareDeployment(nativeid=deployment.nativeid,
name=deployment.name,
server=_server, provider=_provider))
return deployments