Skip to content

Latest commit

 

History

History
91 lines (65 loc) · 3.09 KB

README.md

File metadata and controls

91 lines (65 loc) · 3.09 KB

OCCI for OpenStack

***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).

Usage

  1. Install dependencies: pip install pyssf
  2. Install this egg: python setup.py install (or pip install openstackocci-havana)
  3. 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.

Configuration

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
[...]

Register service in keystone

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/

Hacking the port number

(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

Deployment using Puppet

This library can be integrated using puppet as a configuration management tool. See this blog post for more details.