Statistics
| Branch: | Revision:

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