Statistics
| Branch: | Revision:

root / docs / index.rst @ be350355

History | View | Annotate | Download (4.7 kB)

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