Statistics
| Branch: | Tag: | Revision:

root / docs / src / deployment.rst @ c9a968e8

History | View | Annotate | Download (2.1 kB)

1
Deployment
2
==========
3

    
4
Node types
5
----------
6

    
7
Nodes in a Synnefo deployment belong in one of the following types:
8

    
9
DB
10
**
11
A node [or more than one nodes, if using an HA configuration], running a DB
12
engine supported by the Django ORM layer. The DB is the single source of
13
truth for the servicing of API requests by Synnefo.
14
Services: PostgreSQL / MySQL
15

    
16
APISERVER
17
*********
18
A node running the implementation of the OpenStack API, in Django. Any number
19
of APISERVERs can be used, in a load-balancing configuration, without any
20
special consideration. Access to a common DB ensures consistency.
21
Services: Web server, vncauthproxy
22

    
23
QUEUE
24
*****
25
A node running the RabbitMQ software, which provides AMQP functionality. More
26
than one QUEUE nodes may be deployed, in an HA configuration. Such
27
deployments require shared storage, provided e.g., by DRBD.
28
Services: RabbitMQ [rabbitmq-server]
29

    
30
LOGIC
31
*****
32
A node running the business logic of Synnefo, in Django. It dequeues
33
messages from QUEUE nodes, and provides the context in which business logic
34
functions run. It uses Django ORM to connect to the common DB and update the
35
state of the system, based on notifications received from the rest of the
36
infrastructure, over AMQP.
37
Services: the Synnefo logic dispatcher [/logic/dispatcher.py]
38

    
39
GANETI-MASTER and GANETI-NODE
40
*****************************
41
A single GANETI-MASTER and a large number of GANETI-NODEs constitute the
42
Ganeti backend for Synnefo, which undertakes all VM management functions.
43
Any APISERVER can issue commands to the GANETI-MASTER, over RAPI, to effect
44
changes in the state of the VMs. The GANETI-MASTER runs the Ganeti request
45
queue.
46

    
47
Services:
48
 only on GANETI-MASTER:
49
   the Synnefo Ganeti monitoring daemon [/ganeti/snf-ganeti-eventd]
50
   the Synnefo Ganeti hook [/ganeti/snf-ganeti-hook.py].
51
 on each GANETI_NODE:
52
   a deployment-specific KVM ifup script
53
   properly configured `NFDHCPD`_
54

    
55

    
56
UI deployment
57
-------------
58

    
59
Using Apache
60
************
61

    
62
.. todo:: document apache configuration
63

    
64
Using nginx
65
***********
66

    
67
.. todo:: document nginx configuration
68

    
69
Serving static files
70
********************
71

    
72
.. todo:: document serving static files instructions
73