root / docs / index.rst @ be350355
History | View | Annotate | Download (4.7 kB)
1 |
.. snf-occi documentation master file, created by |
---|---|
2 |
sphinx-quickstart on Mon Mar 26 13:45:54 2012. |
3 |
You can adapt this file completely to your liking, but it should at least |
4 |
contain the root `toctree` directive. |
5 |
|
6 |
Welcome to snf-occi's documentation! |
7 |
==================================== |
8 |
|
9 |
snf-occi implements OCCI specifications to synnefo's API in order to achieve greater interoperability in common tasks refering cyclades management. |
10 |
|
11 |
.. toctree:: |
12 |
:maxdepth: 2 |
13 |
|
14 |
About OCCI |
15 |
---------- |
16 |
Current OCCI specification consists of the following three documents: |
17 |
|
18 |
* `OCCI Core <http://ogf.org/documents/GFD.183.pdf>`_ |
19 |
* `OCCI Infrastructure <http://ogf.org/documents/GFD.184.pdf>`_ |
20 |
* `OCCI HTTP rendering <http://ogf.org/documents/GFD.185.pdf>`_ |
21 |
|
22 |
OCCI and Cyclades |
23 |
----------------- |
24 |
OCCI implementation in Cyclades is going to be based in the **OCCI Infrastructure** specifications, in which common Cloud IaaS components are described. Below you can see the matching components between OCCI and Cyclades: |
25 |
|
26 |
+----------------+------------------+ |
27 |
|OCCI |Cyclades | |
28 |
+================+==================+ |
29 |
|Compute linked |Synnefo servers | |
30 |
|to Storage | | |
31 |
+----------------+------------------+ |
32 |
|Mixin |Synnefo images | |
33 |
| | | |
34 |
+----------------+------------------+ |
35 |
|Mixin |Synnefo flavors | |
36 |
+----------------+------------------+ |
37 |
|Network |Network and | |
38 |
| |NetworkInterfaces | |
39 |
| |from | |
40 |
| |synnefo.db.models | |
41 |
+----------------+------------------+ |
42 |
|NetworkInterface|NetworkLink in | |
43 |
| |synnefo.db.models | |
44 |
+----------------+------------------+ |
45 |
|
46 |
**Note:** Metadata info in synnefo's servers cannot be represented (clearly) using OCCI's components. |
47 |
|
48 |
|
49 |
Call mapping from OCCI to Cyclades API |
50 |
--------------------------------------- |
51 |
Due to OCCI's structure there cannot be straightforward mapping to Cyclades/OpenStack API. The missing elements are: |
52 |
|
53 |
* Networking capabilities using current Cyclades API (networking is supported, but not in OCCI's format) |
54 |
* OCCI seperates the compute resource from the storage or image/flavor. As a result synnefo's servers cannot be represented only with OCCI's Compute. |
55 |
|
56 |
OCCI operations-Mapping |
57 |
*********************** |
58 |
|
59 |
Below you can see the required procedures/operations for OCCI compatibility, and their mappings to Cyclades API (if possible). |
60 |
|
61 |
* Handling the query interface |
62 |
* Query interface must be found under path /-/ |
63 |
* Retrieve all registered Kinds, Actions and Mixins |
64 |
* Add a mixin definition |
65 |
* Remove a mixin definition |
66 |
|
67 |
* Operation on paths in the name-space |
68 |
* Retrieving the state of the name-space hierarchy |
69 |
* Retrieving all Resource instances below a path |
70 |
* Deletion of all Resource instances below a path |
71 |
|
72 |
* Operations on Mixins and Kinds |
73 |
* Retrieving all Resource instances belonging to Mixin or Kind |
74 |
* Triggering actions to all instances of a Mixin or a Kind |
75 |
* Associate resource instances with a Mixin or a Kind |
76 |
* Full update of a Mixin collection |
77 |
* Dissociate resource instances from a Mixin |
78 |
|
79 |
* Operations on Resource instances |
80 |
* Creating a resource instance |
81 |
* Compute: api.server.create_server() |
82 |
* Network: - |
83 |
* Storage: - |
84 |
* Retrieving a resource instance |
85 |
* Compute: api.server.get_server_details() |
86 |
* Network: - |
87 |
* Storage: - |
88 |
* Partial update of a resource instance |
89 |
* Compute: api.actions.resize() |
90 |
* Network: - |
91 |
* Storage: - |
92 |
* Full update of a resource instance |
93 |
* Compute: - |
94 |
* Network: - |
95 |
* Storage: - |
96 |
* Delete a resource instance |
97 |
* Compute: api.server.delete_server() |
98 |
* Network: - |
99 |
* Storage: - |
100 |
* Triggering an action on a resource instance |
101 |
* Compute: api.actions.start(), api.actions.shutdown(), api.actions.reboot() |
102 |
* Network: - |
103 |
* Storage: - |
104 |
|
105 |
* Handling Link instances **(not well-defined in Cyclades API)** |
106 |
* Inline creation of a Link instance |
107 |
* Retrieving Resource instances with defined Links |
108 |
* Creating of Link Resource instance |
109 |
|
110 |
|
111 |
OCCI client/server library |
112 |
========================== |
113 |
|
114 |
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. |
115 |
|
116 |
Features: |
117 |
--------- |
118 |
|
119 |
* It includes a REST API service with the OCCI specifications already implemented |
120 |
* It only requires a custom backend to interact with Cyclades |
121 |
* Being a python wsgi application, occi-py is easily deployed with Django or with its default web-server (tornado). |
122 |
|
123 |
Package on pypi: `OCCI 0.6 <http://pypi.python.org/pypi/occi/0.6>`_ |
124 |
|
125 |
|
126 |
|
127 |
Indices and tables |
128 |
================== |
129 |
|
130 |
* :ref:`genindex` |
131 |
* :ref:`search` |
132 |
|