***NOTE: This project will be moving to stackforge ***
This is a clone and continuation of https://github.com/dizz/nova (no longer available) - it provides a python egg which can be easily deployed in [OpenStack](http://www .openstack.org) and will thereby add the 3rd party [OCCI](http://www.occi-wg .org) interface to OpenStack. For usage examples, [see the OpenStack wiki] (http://wiki.openstack.org/occi).
- Install dependencies:
pip install pyssf
- Install this egg:
python setup.py install
(orpip install openstackocci-havana
) - Configure OpenStack - Add application to
api-paste.ini
of nova and enable the API
Note: do not install the occi
package via pip
. This is a seperate project and not related to OpenStack &
OCCI.
Make sure an application is configured in api-paste.ini
(name can be
picked yourself):
########
# OCCI #
########
[composite:occiapi]
use = egg:Paste#urlmap
/: occiapppipe
[pipeline:occiapppipe]
pipeline = authtoken keystonecontext occiapp
# with request body size limiting and rate limiting
# pipeline = sizelimit authtoken keystonecontext ratelimit occiapp
[app:occiapp]
use = egg:openstackocci-havana#occi_app
Make sure the API (name from above) is enabled in nova.conf
:
[...]
enabled_apis=ec2,occiapi,osapi_compute,osapi_volume,metadata
[...]
You can register the OCCI service endpoint in Keyston via the following commands. First you need to create the OCCI service via
$ keystone service-create --name nova --type occi --description 'Nova OCCI Service'
+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| description | OCCI service |
| id | 8e6de5d0d7624584bed6bec9bef7c9e0 |
| name | nova |
| type | occi |
+-------------+----------------------------------+
from which you get the new service ID and use it to register the OCCI endpoint in Keystone:
$ keystone endpoint-create --service_id 8e6de5d0d7624584bed6bec9bef7c9e0 --region RegionOne --publicurl http://$HOSTNAME:8787/ --internalurl http://$HOSTNAME:8787/ --adminurl http://$HOSTNAME:8787/
(Optional) You can set the port option via the nova.conf
configuration
file - default is 8787:
[...]
occiapi_listen_port=9999
[...]
There is further documentation on setting up your development environment in the wiki.
#Versioning
The general naming scheme for the Python eggs is:
- openstackocci - for the latest and greatest
- openstackocci-<openstack release name> - for OpenStack release specific stable releases
This library can be integrated using puppet as a configuration management tool. See this blog post for more details.