
We move the neutron_ooi_endpoint configuration to nova.conf instead of api-paste.ini. Change-Id: Ie302158326f461cc9a3171bdce8012b96c38db43 Closes-bug: #1600133
4.5 KiB
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 to0.0.0.0
ooi_listen_port
: Port ooi will bind to. Defaults to8787
.ooi_workers
: Number of workers to spawn, by default it is set to the number of CPUs in the node.neutron_ooi_endpoint
: Neutron endpoint, configures the network management by using neutron. If this is not set, the system will use nova-network.
Paste Configuration
TL;DR.
Add the corresponding Paste configuration according to your OpenStack
version from 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 api-versions
. If it is not
configured, by default it will take the /v2.1
value.
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 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_11]
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). On the other hand, network
management by using neutron can be configure via the
neutron_ooi_endpoint
option (if it is not set, the system
will use nova-network):
enabled_apis=ec2,osapi_compute,metadata,ooi
ooi_listen_port=8787
neutron_ooi_endpoint=http://127.0.0.1:9696/v2.0
OpenStack has two components to support network management. On one
side, nova-network provides a simple network management which creates,
lists, shows information for, and deletes networks. Admin permissions
are required to create and delete networks. On the other side, the
neutron component allows to manage and configure advanced network
features. OOI implements the OCCI interface to simple network management
by using either nova-network or neutron.
neutron_ooi_endpoint
configures the neutron endpoint. It is
an optional parameter that configures the network management by using
neutron. If this is not set, the system will use nova-network.
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/-/