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