92 lines
3.5 KiB
ReStructuredText
92 lines
3.5 KiB
ReStructuredText
Configuration
|
|
=============
|
|
|
|
ooi configuration
|
|
*****************
|
|
|
|
ooi needs to be enabled in the OpenStack Compute configuration file. Append
|
|
``ooi`` to your ``enabled_apis`` option::
|
|
|
|
enabled_apis=ec2,osapi_compute,metadata,ooi
|
|
|
|
Moreover, the following options are available:
|
|
|
|
* ``ooi_listen``: IP address where ooi will listen. Defaults to ``0.0.0.0``
|
|
* ``ooi_listen_port``: Port ooi will bind to. Defaults to ``8787``.
|
|
* ``ooi_workers``: Number of workers to spawn, by default it is set to the
|
|
number of CPUs in the node.
|
|
|
|
Paste Configuration
|
|
*******************
|
|
|
|
TL;DR.
|
|
------
|
|
|
|
Add the corresponding Paste configuration according to your OpenStack version
|
|
from :ref:`pipeline-examples` into your Paste configuration file
|
|
(usually ``/etc/nova/api-paste.ini``).
|
|
|
|
Detailed instructions
|
|
|
|
---------------------
|
|
Once installed it is needed to add it to your OpenStack installation. Edit your
|
|
``/etc/nova/api-paste.ini``.
|
|
|
|
First it is needed to add the OCCI filter like this::
|
|
|
|
[filter:occi]
|
|
paste.filter_factory = ooi.wsgi:OCCIMiddleware.factory
|
|
openstack_version = /v2
|
|
|
|
``openstack_version`` can be configured to any of the supported OpenStack API
|
|
versions, as indicated in Table :ref:`api-versions`. If it is not configured,
|
|
by default it will take the ``/v2.1`` value.
|
|
|
|
.. _api-versions:
|
|
|
|
.. table:: Supported OpenStack API versions
|
|
|
|
===================== ===================== =============================================
|
|
OpenStack API version ``openstack_version`` reference OpenStack ``composite`` section
|
|
===================== ===================== =============================================
|
|
v2 ``/v2`` ``[composite:openstack_compute_api_v2]``
|
|
v2.1 ``/v2.1`` ``[composite:openstack_compute_api_v21]``
|
|
===================== ===================== =============================================
|
|
|
|
The next step is to create a ``composite`` section for the OCCI interface. It
|
|
is needed to duplicate the :ref:`corresponding OpenStack API ``composite``<api-versions>` section,
|
|
renaming it to ``occi_api_v11``. Once duplicated, the ``occi`` middleware needs
|
|
to be added just before the last component of the pipeline. So, in the example
|
|
above where ``/v2`` has been configured, we need to duplicate the
|
|
``[composite:openstack_compute_api_v2]`` as follows::
|
|
|
|
[composite:occi_api_v11]
|
|
use = call:nova.api.auth:pipeline_factory
|
|
noauth = compute_req_id faultwrap sizelimit noauth ratelimit occi osapi_compute_app_v2
|
|
keystone = compute_req_id faultwrap sizelimit occi authtoken keystonecontext ratelimit occi osapi_compute_app_v2
|
|
keystone_nolimit = compute_req_id faultwrap sizelimit authtoken keystonecontext occi osapi_compute_app_v2
|
|
|
|
The last step regarding the API configuration is to add it to create the
|
|
``[composite:ooi]`` section::
|
|
|
|
[composite:ooi]
|
|
use = call:nova.api.openstack.urlmap:urlmap_factory
|
|
/occi1.1: occi_api_11
|
|
|
|
Finally, you need to enable it in the OpenStack nova configuration, so that it
|
|
is loaded properly. Add ``ooi`` to the ``enabled_apis`` option in the
|
|
configuration file and adapt the port if needed, via the ``ooi_listen_port``
|
|
(by default it listens in the ``8787`` port)::
|
|
|
|
enabled_apis=ec2,osapi_compute,metadata,ooi
|
|
ooi_listen_port=8787
|
|
|
|
If everything is OK, after rebooting the ``nova-api`` service you should be able
|
|
to access your OCCI endpoint at::
|
|
|
|
$ nova credentials
|
|
# Grab the token
|
|
$ export KID=<token>
|
|
$ curl -H "x-auth-token: $KID" http://localhost:8787/occi1.1/-/
|
|
|