Revision 813073b8 docs/index.rst

b/docs/index.rst
3 3
   You can adapt this file completely to your liking, but it should at least
4 4
   contain the root `toctree` directive.
5 5

  
6
Welcome to snf-occi's documentation!
6
snf-occi's documentation!
7 7
====================================
8 8

  
9
snf-occi implements OCCI specifications to synnefo's API in order to achieve greater interoperability in common tasks refering cyclades management.
9
**snf-occi** implements OCCI specifications to synnefo's API in order to achieve greater interoperability in common tasks refering cyclades management. This module is a translation bridge between OCCI and Openstack API and is designed to be as independent as possible from the rest IaaS, providing an OCCI compatibility layer to other services using Openstack API. 
10

  
11
**snf-occi** is based in modules provided by kamaki cli-tool when dealing with REST API calls to Openstack.
10 12

  
11 13
.. toctree::
12 14
   :maxdepth: 2
......
23 25
-----------------
24 26
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 27

  
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
+----------------+------------------+
28
+-------------------------+-------------------------+
29
|OCCI                     |Cyclades                 |
30
+=========================+=========================+
31
|Compute                  |Synnefo servers          |
32
+-------------------------+-------------------------+
33
|OS Template              |Synnefo images           |
34
+-------------------------+-------------------------+
35
|Resource Template        |Synnefo flavors          |
36
+-------------------------+-------------------------+
37
|Networking               |NA                       |
38
+-------------------------+-------------------------+
39
|Storage                  |NA                       |
40
+-------------------------+-------------------------+
41

  
42

  
45 43
 
46 44
**Note:** Metadata info in synnefo's servers cannot be represented (clearly) using OCCI's components.
47 45

  
48 46

  
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:
47
OCCI requirements
48
------------------
49
Due to OCCI's structure there cannot be straightforward mapping to Cyclades/OpenStack API. The missing elements are networking and storage capabilities using current Cyclades API.
52 50

  
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.
51
**Note:** Quantum API support is being planned.
55 52

  
56
OCCI operations-Mapping
53
OCCI operations list
57 54
***********************
58 55

  
59
Below you can see the required procedures/operations for OCCI compatibility, and their mappings to Cyclades API (if possible).
56
Below you can see the required procedures/operations for OCCI compatibility.
60 57
   
61 58
* Handling the query interface
62 59
   * Query interface must be found under path /-/
......
78 75

  
79 76
* Operations on Resource instances
80 77
   * Creating a resource instance
81
       * Compute: api.server.create_server()
82
       * Network: -
83
       * Storage: -
84 78
   * Retrieving a resource instance
85
       * Compute: api.server.get_server_details()
86
       * Network: -
87
       * Storage: -
88 79
   * Partial update of a resource instance
89
       * Compute: api.actions.resize()
90
       * Network: -
91
       * Storage: -
92 80
   * Full update of a resource instance
93
       * Compute: -
94
       * Network: -
95
       * Storage: -
96 81
   * Delete a resource instance
97
       * Compute: api.server.delete_server()
98
       * Network: -
99
       * Storage: -
100 82
   * Triggering an action on a resource instance
101
       * Compute: api.actions.start(), api.actions.shutdown(), api.actions.reboot()
102
       * Network: -
103
       * Storage: -
104 83

  
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
84
* Handling Link instances
85
   * Inline creation of a Link instance
86
   * Retrieving Resource instances with defined Links
87
   * Creating of Link Resource instance
109 88

  
110 89

  
111 90
OCCI client/server library
......
117 96
---------
118 97

  
119 98
* 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).
99
* It only requires a custom backend and registry to interact with Cyclades
100
* Implements a simple web frontend server with support for Tornado WSGI
122 101

  
123 102
Package on pypi: `OCCI 0.6 <http://pypi.python.org/pypi/occi/0.6>`_
124 103

  
125 104

  
126

  
127 105
Indices and tables
128 106
==================
129 107

  

Also available in: Unified diff