6a08320031
This change condenses the directory structure to something more similar to what we had before while producing similar packages. It also introduces version.py which allows us to get the version from git tags (or a fallback version if not available). Fixes lp bug 889336 Fixes lp bug 888795 Change-Id: I86136bd9dbabb5eb1f8366ed665ed9b54f695124
172 lines
6.4 KiB
Python
172 lines
6.4 KiB
Python
import webob
|
|
|
|
from quantum.common.serializer import Serializer
|
|
|
|
|
|
def create_request(path, body, content_type, method='GET'):
|
|
req = webob.Request.blank(path)
|
|
req.method = method
|
|
req.headers = {}
|
|
req.headers['Accept'] = content_type
|
|
req.body = body
|
|
return req
|
|
|
|
|
|
def _network_list_request(tenant_id, format='xml', detail=False):
|
|
method = 'GET'
|
|
detail_str = detail and '/detail' or ''
|
|
path = "/tenants/%(tenant_id)s/networks" \
|
|
"%(detail_str)s.%(format)s" % locals()
|
|
content_type = "application/%s" % format
|
|
return create_request(path, None, content_type, method)
|
|
|
|
|
|
def network_list_request(tenant_id, format='xml'):
|
|
return _network_list_request(tenant_id, format)
|
|
|
|
|
|
def network_list_detail_request(tenant_id, format='xml'):
|
|
return _network_list_request(tenant_id, format, detail=True)
|
|
|
|
|
|
def _show_network_request(tenant_id, network_id, format='xml', detail=False):
|
|
method = 'GET'
|
|
detail_str = detail and '/detail' or ''
|
|
path = "/tenants/%(tenant_id)s/networks" \
|
|
"/%(network_id)s%(detail_str)s.%(format)s" % locals()
|
|
content_type = "application/%s" % format
|
|
return create_request(path, None, content_type, method)
|
|
|
|
|
|
def show_network_request(tenant_id, network_id, format='xml'):
|
|
return _show_network_request(tenant_id, network_id, format)
|
|
|
|
|
|
def show_network_detail_request(tenant_id, network_id, format='xml'):
|
|
return _show_network_request(tenant_id, network_id, format, detail=True)
|
|
|
|
|
|
def new_network_request(tenant_id, network_name='new_name',
|
|
format='xml', custom_req_body=None):
|
|
method = 'POST'
|
|
path = "/tenants/%(tenant_id)s/networks.%(format)s" % locals()
|
|
data = custom_req_body or {'network': {'name': '%s' % network_name}}
|
|
content_type = "application/%s" % format
|
|
body = Serializer().serialize(data, content_type)
|
|
return create_request(path, body, content_type, method)
|
|
|
|
|
|
def update_network_request(tenant_id, network_id, network_name, format='xml',
|
|
custom_req_body=None):
|
|
method = 'PUT'
|
|
path = "/tenants/%(tenant_id)s/networks" \
|
|
"/%(network_id)s.%(format)s" % locals()
|
|
data = custom_req_body or {'network': {'name': '%s' % network_name}}
|
|
content_type = "application/%s" % format
|
|
body = Serializer().serialize(data, content_type)
|
|
return create_request(path, body, content_type, method)
|
|
|
|
|
|
def network_delete_request(tenant_id, network_id, format='xml'):
|
|
method = 'DELETE'
|
|
path = "/tenants/%(tenant_id)s/networks/" \
|
|
"%(network_id)s.%(format)s" % locals()
|
|
content_type = "application/%s" % format
|
|
return create_request(path, None, content_type, method)
|
|
|
|
|
|
def _port_list_request(tenant_id, network_id, format='xml', detail=False):
|
|
method = 'GET'
|
|
detail_str = detail and '/detail' or ''
|
|
path = "/tenants/%(tenant_id)s/networks/" \
|
|
"%(network_id)s/ports%(detail_str)s.%(format)s" % locals()
|
|
content_type = "application/%s" % format
|
|
return create_request(path, None, content_type, method)
|
|
|
|
|
|
def port_list_request(tenant_id, network_id, format='xml'):
|
|
return _port_list_request(tenant_id, network_id, format)
|
|
|
|
|
|
def port_list_detail_request(tenant_id, network_id, format='xml'):
|
|
return _port_list_request(tenant_id, network_id,
|
|
format, detail=True)
|
|
|
|
|
|
def _show_port_request(tenant_id, network_id, port_id,
|
|
format='xml', detail=False):
|
|
method = 'GET'
|
|
detail_str = detail and '/detail' or ''
|
|
path = "/tenants/%(tenant_id)s/networks/%(network_id)s" \
|
|
"/ports/%(port_id)s%(detail_str)s.%(format)s" % locals()
|
|
content_type = "application/%s" % format
|
|
return create_request(path, None, content_type, method)
|
|
|
|
|
|
def show_port_request(tenant_id, network_id, port_id, format='xml'):
|
|
return _show_port_request(tenant_id, network_id, port_id, format)
|
|
|
|
|
|
def show_port_detail_request(tenant_id, network_id, port_id, format='xml'):
|
|
return _show_port_request(tenant_id, network_id, port_id,
|
|
format, detail=True)
|
|
|
|
|
|
def new_port_request(tenant_id, network_id, port_state,
|
|
format='xml', custom_req_body=None):
|
|
method = 'POST'
|
|
path = "/tenants/%(tenant_id)s/networks/" \
|
|
"%(network_id)s/ports.%(format)s" % locals()
|
|
data = custom_req_body or port_state and \
|
|
{'port': {'state': '%s' % port_state}}
|
|
content_type = "application/%s" % format
|
|
body = data and Serializer().serialize(data, content_type)
|
|
return create_request(path, body, content_type, method)
|
|
|
|
|
|
def port_delete_request(tenant_id, network_id, port_id, format='xml'):
|
|
method = 'DELETE'
|
|
path = "/tenants/%(tenant_id)s/networks/" \
|
|
"%(network_id)s/ports/%(port_id)s.%(format)s" % locals()
|
|
content_type = "application/%s" % format
|
|
return create_request(path, None, content_type, method)
|
|
|
|
|
|
def update_port_request(tenant_id, network_id, port_id, port_state,
|
|
format='xml', custom_req_body=None):
|
|
method = 'PUT'
|
|
path = "/tenants/%(tenant_id)s/networks" \
|
|
"/%(network_id)s/ports/%(port_id)s.%(format)s" % locals()
|
|
data = custom_req_body or {'port': {'state': '%s' % port_state}}
|
|
content_type = "application/%s" % format
|
|
body = Serializer().serialize(data, content_type)
|
|
return create_request(path, body, content_type, method)
|
|
|
|
|
|
def get_attachment_request(tenant_id, network_id, port_id, format='xml'):
|
|
method = 'GET'
|
|
path = "/tenants/%(tenant_id)s/networks/" \
|
|
"%(network_id)s/ports/%(port_id)s/attachment.%(format)s" % locals()
|
|
content_type = "application/%s" % format
|
|
return create_request(path, None, content_type, method)
|
|
|
|
|
|
def put_attachment_request(tenant_id, network_id, port_id,
|
|
attachment_id, format='xml'):
|
|
method = 'PUT'
|
|
path = "/tenants/%(tenant_id)s/networks/" \
|
|
"%(network_id)s/ports/%(port_id)s/attachment.%(format)s" % locals()
|
|
data = {'attachment': {'id': attachment_id}}
|
|
content_type = "application/%s" % format
|
|
body = Serializer().serialize(data, content_type)
|
|
return create_request(path, body, content_type, method)
|
|
|
|
|
|
def delete_attachment_request(tenant_id, network_id, port_id,
|
|
attachment_id, format='xml'):
|
|
method = 'DELETE'
|
|
path = "/tenants/%(tenant_id)s/networks/" \
|
|
"%(network_id)s/ports/%(port_id)s/attachment.%(format)s" % locals()
|
|
content_type = "application/%s" % format
|
|
return create_request(path, None, content_type, method)
|