Commit 43b14afb authored by John Giannelos's avatar John Giannelos
Browse files

New documentation with examples/new setup script

parent b8e8a8f9
......@@ -90,16 +90,69 @@ Below you can see the required procedures/operations for OCCI compatibility.
OCCI client/server library
occi-py is a generic library implementation of the Open Cloud Computing Interface (OCCI). It aims to provide a high-level interface for the integration of OCCI to other new or existing applications.
pyssf is a collection of OCCI python modules. It aims to provide a high-level interface for the integration of OCCI to other new or existing applications.
* It includes a REST API service with the OCCI specifications already implemented
* It only requires a custom backend and registry to interact with Cyclades
* Implements a simple web frontend server with support for Tornado WSGI
Package on pypi: `OCCI 0.6 <>`_
Current progress
By now we have considered implementing only the **Compute** backend of the OCCI to Cyclades/Openstack API bridge and we are planning to extend it for **networking** and **storage** capabilities.
First, you need to install the required dependencies which can be found here:
* `pyssf <>`_
* `kamaki <>`_
Then you can install **snf-occi** API translation server by cloning our latest source code:
* `snf-occi <>`_
**NOTE** :Before running you have to edit the **** setting up:
* API Server port
* VM hostname naming pattern (FQDN providing the id of each compute resource)
* VM core architecture
Finally you can start the API translation server by running **snf-occi**
For the examples below we assume server is running on localhost (port 8888) and authentication token is $AUTH. For the HTTP requests we are using **curl**.
* Retrieve all registered Kinds, Actions and Mixins:
curl -v -X GET localhost:8888/-/ -H 'Auth-Token: $AUTH'
* Create a new VM described by the flavor 'C2R2048D20' and using the image 'Debian'
curl -v -X POST localhost:8888/compute/
-H 'Category: compute; scheme=; class="kind";'
-H 'X-OCCI-Attribute: occi.core.title = newVM' -H 'Category: C2R2048D20; scheme=; '
-H 'Category: Debian; scheme=;' -H 'Auth-Token: $AUTH'
-H 'Content-type: text/occi'
* Retrieve all the details of th VM with identifier $ID
curl -v -X GET localhost:8888/compute/$ID -H 'Auth-Token: $AUTH'
* Delete the VM with identifier $ID
curl -v -X DELETE localhost:8888/compute/$ID -H 'Auth-Token: $AUTH'
Indices and tables
......@@ -7,5 +7,8 @@ setup(
packages = ['snfOCCI'],
entry_points = {
'console_scripts' : ['snf-occi = snfOCCI.APIserver:main']
......@@ -61,7 +61,8 @@ class MyAPP(Application):
return self._call_occi(environ, response, security = None, token = environ['HTTP_AUTH_TOKEN'], snf = compClient, client = cyclClient)
if __name__ == '__main__':
def main():
APP = MyAPP(registry = snfRegistry())
COMPUTE_BACKEND = ComputeBackend()
......@@ -77,4 +78,4 @@ if __name__ == '__main__':
VALIDATOR_APP = validator(APP)
HTTPD = make_server('', SERVER_CONFIG['port'], VALIDATOR_APP)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment