Revision bc055d09 docs/cyclades.rst
b/docs/cyclades.rst | ||
---|---|---|
1 | 1 |
.. _cyclades: |
2 | 2 |
|
3 |
Compute Service (cyclades) |
|
4 |
--------------------------
|
|
3 |
Compute and Network Service (cyclades)
|
|
4 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
5 | 5 |
|
6 |
Cyclades is the the synnefo Compute Service and implements OpenStack Compute API v1.1.
|
|
6 |
Cyclades is the the synnefo Compute and Network Service.
|
|
7 | 7 |
|
8 |
Cyclades need the following synnefo components:
|
|
8 |
It implements OpenStack Compute API v1.1 + synnefo extensions.
|
|
9 | 9 |
|
10 | 10 |
.. todo:: list synnefo components needed by cyclades |
11 | 11 |
|
12 |
.. _cyclades-architecture: |
|
12 | 13 |
|
13 | 14 |
Cyclades Architecture |
14 | 15 |
===================== |
15 | 16 |
|
16 | 17 |
.. todo:: document the overall cyclades architecture |
17 | 18 |
|
19 |
Nodes in an cyclades deployment belong in one of the following types. |
|
20 |
For every type, we list the services that execute on corresponding nodes. |
|
21 |
Throughout this guide, `node` refers to a physical machine in the deployment. |
|
18 | 22 |
|
19 |
Cyclades as a standalone Service |
|
20 |
================================ |
|
23 |
.. _DB_NODE: |
|
21 | 24 |
|
22 |
.. todo:: document what does that mean, what are the limitations, how to install. |
|
25 |
DB |
|
26 |
-- |
|
23 | 27 |
|
28 |
A node [or more than one nodes, if using an HA configuration], running a DB |
|
29 |
engine supported by the Django ORM layer. The DB is the single source of |
|
30 |
truth for the servicing of API requests by cyclades. |
|
24 | 31 |
|
25 |
Cyclades interconnected with other synnefo Services |
|
26 |
=================================================== |
|
32 |
*Services:* PostgreSQL / MySQL |
|
27 | 33 |
|
28 |
.. todo:: document with which services it can connect, why and how.
|
|
34 |
.. _APISERVER_NODE:
|
|
29 | 35 |
|
36 |
APISERVER |
|
37 |
--------- |
|
30 | 38 |
|
31 |
Cyclades Guides |
|
32 |
=============== |
|
39 |
A node running the ``api`` application contained in |
|
40 |
:ref:`snf-cyclades-app <snf-cyclades-app>`. Any number of |
|
41 |
:ref:`APISERVER <APISERVER_NODE>` nodes |
|
42 |
can be used, in a load-balancing configuration, without any |
|
43 |
special consideration. Access to a common DB ensures consistency. |
|
33 | 44 |
|
34 |
.. todo:: document the Compute Service. |
|
45 |
*Services:* Web server, vncauthproxy |
|
46 |
|
|
47 |
|
|
48 |
.. _QUEUE_NODE: |
|
49 |
|
|
50 |
QUEUE |
|
51 |
----- |
|
52 |
|
|
53 |
A node running the RabbitMQ software, which provides AMQP functionality. More |
|
54 |
than one :ref:`QUEUE <QUEUE_NODE>` nodes may be deployed, in an HA |
|
55 |
configuration. Such deployments require shared storage, provided e.g., by DRBD. |
|
56 |
|
|
57 |
*Services:* RabbitMQ [rabbitmq-server] |
|
58 |
|
|
59 |
|
|
60 |
.. _LOGIC_NODE: |
|
61 |
|
|
62 |
LOGIC |
|
63 |
----- |
|
64 |
|
|
65 |
A node running the business logic of synnefo, in Django. It dequeues |
|
66 |
messages from QUEUE nodes, and provides the context in which business logic |
|
67 |
functions run. It uses Django ORM to connect to the common DB and update the |
|
68 |
state of the system, based on notifications received from the rest of the |
|
69 |
infrastructure, over AMQP. |
|
70 |
|
|
71 |
*Services:* the synnefo logic dispatcher, ``snf-dispatcher`` |
|
72 |
|
|
73 |
|
|
74 |
.. _GANETI_NODES: |
|
75 |
.. _GANETI_MASTER: |
|
76 |
.. _GANETI_NODE: |
|
77 |
|
|
78 |
GANETI-MASTER and GANETI-NODE |
|
79 |
----------------------------- |
|
80 |
|
|
81 |
A single GANETI-MASTER and a large number of GANETI-NODEs constitute the |
|
82 |
Ganeti backend for synnefo, which undertakes all VM management functions. |
|
83 |
Any APISERVER can issue commands to the GANETI-MASTER, over RAPI, to effect |
|
84 |
changes in the state of the VMs. The GANETI-MASTER runs the Ganeti request |
|
85 |
queue. |
|
86 |
|
|
87 |
*Services:* |
|
88 |
* only on :ref:`GANETI-MASTER <GANETI_MASTER>`: |
|
89 |
* the synnefo Ganeti monitoring daemon, ``snf-ganeti-eventd`` |
|
90 |
* the synnefo Ganeti hook, ``ganeti/snf-ganeti-hook.py``. |
|
91 |
* on every :ref:`GANETI-NODE <GANETI_NODE>`: |
|
92 |
* a deployment-specific KVM ifup script |
|
93 |
* properly configured :ref:`NFDHCPD <cyclades-nfdhcpd-setup>` |
|
35 | 94 |
|
36 |
.. toctree:: |
|
37 |
:maxdepth: 2 |
|
38 | 95 |
|
39 |
cyclades-admin-guide |
|
40 |
cyclades-api-guide |
|
41 |
cyclades-admin-tools |
|
42 |
cyclades-dev-guide |
|
43 |
cyclades-upgrade |
|
44 | 96 |
.. src/design |
45 | 97 |
.. src/dev |
46 | 98 |
.. src/user |
Also available in: Unified diff