本文整理匯總了Python中quantumclient.Client.do_request方法的典型用法代碼示例。如果您正苦於以下問題:Python Client.do_request方法的具體用法?Python Client.do_request怎麽用?Python Client.do_request使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類quantumclient.Client
的用法示例。
在下文中一共展示了Client.do_request方法的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: schedule_host
# 需要導入模塊: from quantumclient import Client [as 別名]
# 或者: from quantumclient.Client import do_request [as 別名]
def schedule_host(tenant_id, instance_id, user_id=None):
"""Gets the host name from the Quantum service"""
project_id = tenant_id
instance_data_dict = {
'novatenant': {
'instance_id': instance_id,
'instance_desc': {
'user_id': user_id,
'project_id': project_id,
},
},
}
request_url = "/novatenants/" + project_id + "/schedule_host"
client = Client(HOST, PORT, USE_SSL, format='json', tenant=TENANT_ID,
version=VERSION, uri_prefix=URI_PREFIX_CSCO)
data = client.do_request('PUT', request_url, body=instance_data_dict)
hostname = data["host_list"]["host_1"]
if not hostname:
print("Scheduler was unable to locate a host"
" for this request. Is the appropriate"
" service running?")
print("Quantum service returned host: %s" % hostname)
示例2: _schedule
# 需要導入模塊: from quantumclient import Client [as 別名]
# 或者: from quantumclient.Client import do_request [as 別名]
def _schedule(self, context, topic, request_spec, **kwargs):
"""Gets the host name from the Quantum service"""
LOG.debug("Cisco Quantum Port-aware Scheduler is scheduling...")
instance_id = request_spec['instance_properties']['uuid']
user_id = request_spec['instance_properties']['user_id']
project_id = request_spec['instance_properties']['project_id']
instance_data_dict = {'novatenant':
{'instance_id': instance_id,
'instance_desc':
{'user_id': user_id,
'project_id': project_id}}}
client = Client(HOST, PORT, USE_SSL, format='json', version=VERSION,
uri_prefix=URI_PREFIX_CSCO, tenant=TENANT_ID,
logger=LOG)
request_url = "/novatenants/" + project_id + ACTION
data = client.do_request('PUT', request_url, body=instance_data_dict)
hostname = data["host_list"]["host_1"]
if not hostname:
raise excp.NoValidHost(_("Scheduler was unable to locate a host"
" for this request. Is the appropriate"
" service running?"))
LOG.debug(_("Quantum service returned host: %s") % hostname)
return hostname
示例3: list_extensions
# 需要導入模塊: from quantumclient import Client [as 別名]
# 或者: from quantumclient.Client import do_request [as 別名]
def list_extensions(*args):
"""Invoking the action to get the supported extensions"""
request_url = "/extensions"
client = Client(HOST, PORT, USE_SSL, format='json',
version=VERSION, uri_prefix=URI_PREFIX_EXT, tenant="dummy")
data = client.do_request('GET', request_url)
print("Obtained supported extensions from Quantum: %s" % data)
示例4: create_multiport
# 需要導入模塊: from quantumclient import Client [as 別名]
# 或者: from quantumclient.Client import do_request [as 別名]
def create_multiport(tenant_id, net_id_list, *args):
"""Creates ports on a single host"""
net_list = net_id_list.split(",")
ports_info = {"multiport": {"status": "ACTIVE", "net_id_list": net_list, "ports_desc": {"key": "value"}}}
request_url = "/multiport"
client = Client(HOST, PORT, USE_SSL, format="json", tenant=tenant_id, version=VERSION, uri_prefix=URI_PREFIX_CSCO)
data = client.do_request("POST", request_url, body=ports_info)
print ("Created ports: %s" % data)
示例5: create_multiport
# 需要導入模塊: from quantumclient import Client [as 別名]
# 或者: from quantumclient.Client import do_request [as 別名]
def create_multiport(tenant_id, networks_list, *args):
"""Creates ports on a single host"""
ports_info = {'multiport':
{'status': constants.PORT_STATUS_ACTIVE,
'net_id_list': networks_list,
'ports_desc': {'key': 'value'}}}
request_url = "/multiport"
client = Client(HOST, PORT, USE_SSL, format='json', tenant=tenant_id,
action_prefix=servconts.ACTION_PREFIX_CSCO)
data = client.do_request('POST', request_url, body=ports_info)
return data
示例6: create_multiport
# 需要導入模塊: from quantumclient import Client [as 別名]
# 或者: from quantumclient.Client import do_request [as 別名]
def create_multiport(tenant_id, networks_list, *args):
"""Creates ports on a single host"""
ports_info = {
"multiport": {
"status": constants.PORT_STATUS_ACTIVE,
"net_id_list": networks_list,
"ports_desc": {"key": "value"},
}
}
request_url = "/multiport"
client = Client(HOST, PORT, USE_SSL, format="json", tenant=tenant_id, action_prefix=servconts.ACTION_PREFIX_CSCO)
data = client.do_request("POST", request_url, body=ports_info)
return data
示例7: create_multiport
# 需要導入模塊: from quantumclient import Client [as 別名]
# 或者: from quantumclient.Client import do_request [as 別名]
def create_multiport(tenant_id, net_id_list, *args):
"""Creates ports on a single host"""
net_list = net_id_list.split(",")
ports_info = {'multiport':
{'status': 'ACTIVE',
'net_id_list': net_list,
'ports_desc': {'key': 'value'}}}
request_url = "/multiport"
client = Client(HOST, PORT, USE_SSL, format='json', tenant=tenant_id,
version=VERSION, uri_prefix=URI_PREFIX_CSCO)
data = client.do_request('POST', request_url, body=ports_info)
print("Created ports: %s" % data)
示例8: __init__
# 需要導入模塊: from quantumclient import Client [as 別名]
# 或者: from quantumclient.Client import do_request [as 別名]
def __init__(self):
# We have to send a dummy tenant name here since the client
# needs some tenant name, but the tenant name will not be used
# since the extensions URL does not require it
LOG.debug("Initializing Cisco Quantum Port-aware Scheduler...")
client = Client(HOST, PORT, USE_SSL, format='json', version=VERSION,
uri_prefix="", tenant="dummy", logger=LOG)
request_url = "/extensions"
data = client.do_request('GET', request_url)
LOG.debug("Obtained supported extensions from Quantum: %s" % data)
for ext in data['extensions']:
name = ext['name']
if name == CSCO_EXT_NAME:
LOG.debug("Quantum plugin supports required \"%s\" extension"
"for the scheduler." % name)
return
LOG.error("Quantum plugin does not support required \"%s\" extension"
" for the scheduler. Scheduler will quit." % CSCO_EXT_NAME)
raise excp.ServiceUnavailable()
示例9: _update_configurations
# 需要導入模塊: from quantumclient import Client [as 別名]
# 或者: from quantumclient.Client import do_request [as 別名]
def _update_configurations(self, instance, network, mapping, action):
"""Gets the device name and the profile name from Quantum"""
LOG.debug("Cisco Quantum VIF driver performing: %s" % (action))
instance_id = instance['uuid']
user_id = instance['user_id']
project_id = instance['project_id']
vif_id = mapping['vif_uuid']
instance_data_dict = \
{'novatenant': \
{'instance_id': instance_id,
'instance_desc': \
{'user_id': user_id,
'project_id': project_id,
'vif_id': vif_id}}}
client = Client(HOST, PORT, USE_SSL, format='json', version=VERSION,
uri_prefix=URI_PREFIX_CSCO, tenant=TENANT_ID,
logger=LOG)
request_url = "/novatenants/" + project_id + action
data = client.do_request('PUT', request_url, body=instance_data_dict)
if action == ASSOCIATE_ACTION:
device = data['vif_desc']['device']
portprofile = data['vif_desc']['portprofile']
LOG.debug(_("Quantum provided the device: %s") % device)
LOG.debug(_("Quantum provided the portprofile: %s") % portprofile)
mac_id = mapping['mac'].replace(':', '')
result = {
'id': mac_id,
'mac_address': mapping['mac'],
'device_name': device,
'profile_name': portprofile,
}
return result
else:
return data