import ooi.api.compute import ooi.api.network import ooi.api.network_link from ooi.api import query import ooi.api.storage import ooi.api.storage_link from ooi import config from ooi import exception from ooi.log import log as logging from ooi import utils from ooi import version from ooi.wsgi import parsers from ooi.wsgi import serializers LOG = logging.getLogger(__name__) occi_opts = [ config.cfg.StrOpt('ooi_listen', default="0.0.0.0", help='The IP address on which the OCCI (ooi) API ' 'will listen.'), config.cfg.IntOpt('ooi_listen_port', default=8787, help='The port on which the OCCI (ooi) API ' 'will listen.'), config.cfg.IntOpt('ooi_workers', help='Number of workers for OCCI (ooi) API service. ' 'The default will be equal to the number of CPUs ' 'available.'), # NEUTRON
# under the License. import copy import json import os import six.moves.urllib.parse as urlparse from ooi import exception from ooi.log import log as logging from ooi.openstack import helpers as os_helpers from ooi import utils import webob.exc LOG = logging.getLogger(__name__) def _resolve_id(base_url, resource_url): """Gets the resource id from a base URL. :param base_url: application or request url (normally absolute) :param resource_url: absolute or relative resource url :returns: a tuple with the calculated base url and resource id """ if not base_url.endswith('/'): base_url = base_url + '/' full_url = urlparse.urljoin(base_url, resource_url) parts = urlparse.urlsplit(full_url) base_parts = parts[0:2] + (os.path.dirname(parts[2]),) + parts[3:] return urlparse.urlunsplit(base_parts), os.path.basename(parts[2])