Revision 21d3d487

b/docs/admin-guide.rst
960 960
`snf-dispatcher` logs to `/var/log/synnefo/dispatcher.log`.
961 961

  
962 962

  
963
.. _scale-up:
964

  
963 965
Scaling up to multiple nodes
964 966
============================
965 967

  
......
984 986
Synnefo roles of each physical node. These roles are described in the
985 987
following section.
986 988

  
989
.. _physical-node-roles:
990

  
987 991
Physical Node roles
988 992
-------------------
989 993

  
......
1004 1008
You will probably also have:
1005 1009

  
1006 1010
* **CMS**: The CMS used as a frotend portal for the Synnefo services
1007
* **NS**: A nameserver serving all other nodes
1011
* **NS**: A nameserver serving all other Synnefo nodes and resolving Synnefo FQDNs
1008 1012
* **CLIENT**: A machine that runs the Synnefo clients (e.g.: kamaki, Web UI),
1009 1013
              most of the times, the end user's local machine
1010 1014

  
b/docs/snf-deploy.rst
3 3
snf-deploy tool
4 4
^^^^^^^^^^^^^^^
5 5

  
6
The `snf-deploy` tool allows you to automatically deploy Synnefo.
7
You can use `snf-deploy` to deploy Synnefo, in two ways:
6 8

  
7
This tool allows you to deploy all Synnefo components from scratch
8
or to an existing cluster.
9
1. Create a virtual cluster on your local machine and then deploy on that cluster.
10
2. Deploy on a pre-existent cluster of physical nodes.
9 11

  
10
This is useful mostly for testing/demo installation and is not suggested for
11
production environments. At the end you will have an up-and-running Synnefo but
12
the end-to-end functionallity will depend from your underlying infrastracture
13
(e.g. is nested virtualization enabled in your PC, is the router properly
14
configured, do node have fully qualified domain names, etc.). Nevertheless you
15
will be able to experience the API/UI and base funtionality the Synnefo IaaS
16
provides and you 'll get a proper configuration that will guide you through
17
setting a production environment that will scale up and use all available
18
features (e.g. rados, archipelagos, etc).
12
Currently, `snf-deploy` is mostly useful for testing/demo installations and is not
13
recommended for production environment Synnefo deployments. If you want to deploy
14
Synnefo in production, please read first the :ref:`Admin's quick installation
15
guide <quick-install-admin-guide>` and then the :ref:`Admin's guide
16
<admin-guide>`.
19 17

  
20
snf-deploy is a debian package that should be installed locally and allow you
21
install Synnefo on remote nodes (either already existing or not). To this
22
end this guide will break the whole procedure into three; the configuration,
23
the virtual cluster creation (optional) and finally the Synnefo installation.
18
If you use `snf-deploy` you will setup an up-and-running Synnefo installation, but
19
the end-to-end functionality will depend on your underlying infrastracture (e.g.
20
is nested virtualization enabled in your PC, is the router properly configured, do
21
nodes have fully qualified domain names, etc.). In any way, it will enable you to
22
get a grasp of the Web UI/API and base funtionality of Synnefo and also provide a
23
proper configuration that you can afterwards consult while reading the Admin
24
guides to set up a production environment that will scale up and use all available
25
features (e.g. RADOS, Archipelago, etc).
24 26

  
25
Before getting any further we should mention the roles that snf-deploy refers
26
to. Note that more than one roles can co-exist in the same node (except for few)
27
but it is highy recommended to dedicate one node (VM or physical) to each role:
27
`snf-deploy` is a debian package that should be installed locally and allows you
28
to install Synnefo on remote nodes (if you go for (2)), or spawn a cluster of VMs
29
on your local machine using KVM and then install Synnefo on this cluster (if you
30
go for (1)). To this end, here we will break down our description into three
31
sections:
28 32

  
29
 - existing nodes: All available nodes in the cluster
33
a. `snf-deploy` configuration
34
b. Creating a virtual cluster (needed for (1))
35
c. Synnefo deployment (either on virtual nodes created on section b, or on
36
   remote physical nodes)
30 37

  
31
 - accounts: Identity Management
32
 - pithos: Storage Service
33
 - cms: Content Management System
34
 - cyclades: Compute Service to manage Instances, Networks, etc.
35
 - mq: Asynchronous Message Queue System for inter-service communication
36
 - qh: Quota Holder to keep track of resources utilization
38
If you go for (1) you will need to walk through all the sections. If you go for
39
(2), you should skip section (b), since you only need sections (a) and (c).
37 40

  
38
 - ns: Nameserver to resolve Synnefo FQDN
39
 - router: The node to do any routing and NAT needed
40
 - client: The node to setup a command line tool to manage a user account
41
Before getting any further we should mention the roles that `snf-deploy` refers
42
to. The roles are described :ref:`here <physical-node-roles`. Note that multiple
43
roles can co-exist in the same node (virtual or physical).
41 44

  
42
All these define the synnefo components. In order to have instances up-and-running,
43
at least a backend must be associated with Cyclades. Backends are
44
Ganeti clusters each with multiple nodes. Please note that these nodes may be the
45
same as the ones used before. To this end we refer to:
45
Currently, `snf-deploy` recognizes the following combined roles:
46 46

  
47
 - ganeti nodes: All available nodes for a specific backend
48
 - master: The master node in each ganeti backend
47
* **astakos** = **WEBSERVER** + **ASTAKOS**
48
* **pithos** = **WEBSERVER** + **PITHOS**
49
* **cyclades** = **WEBSERVER** + **CYCLADES**
50
* **db** = **ASTAKOS_DB** + **PITHOS_DB** + **CYCLADES_DB**
49 51

  
50
Configuration
51
=============
52
the following independent roles:
52 53

  
53
The configuration files to edit are under /etc/snf-deploy:
54
* **cms** = **CMS**
55
* **mq** = **MQ**
56
* **ns** = **NS**
57
* **client** = **CLIENT**
58
* **router**: The node to do any routing and NAT needed
59

  
60
The above define the roles relative to the Synnefo components. However, in
61
order to have instances up-and-running, at least one backend must be associated
62
with Cyclades. Backends are Ganeti clusters each with multiple
63
**GANETI_NODE**s. Please note that these nodes may be the same as the ones used
64
for the previous roles. To this end, `snf-deploy` also recognizes:
65

  
66
* **ganeti_backend** = **G_BACKEND** = All available nodes of a specific backend
67
* **ganeti_master** = **GANETI_MASTER**
68

  
69
Finally, it recognizes the group role:
70

  
71
* **existing_nodes** = **SYNNEFO** + (N x **G_BACKEND**)
72

  
73
In the future, `snf-deploy` will recognize all the independent roles of a scale
74
out deployment as stated in the :ref:`scale up section <scale-up>`. When that's
75
done it won't need to introduce its own roles (stated here with lowercase) but
76
rather use the scale out ones (stated with uppercase on the admin guide).
77

  
78

  
79
Configuration (a)
80
=================
81

  
82
All configuration of `snf-deploy` happens by editting the following files under
83
``/etc/snf-deploy``:
54 84

  
55 85
nodes.conf
56 86
----------
......
96 126
necessary local directories (packages, templates, images, etc..)
97 127

  
98 128

  
99
Virtual Cluster Creation
100
========================
129
Virtual Cluster Creation (b)
130
============================
101 131

  
102 132
Supposing you want to install Synnefo from scratch the best way is to launch
103 133
a couple of VM's locally. To this end you need a debian base image. An 8GB one
......
142 172
primary interface should get the given address.
143 173

  
144 174

  
175
Synnefo Installation (c)
176
========================
177

  
145 178
Setting up the Synnefo DNS
146
==========================
179
--------------------------
147 180

  
148 181
At this point you should have an up-and-running cluster (either virtual or not)
149 182
with valid hostnames and IPs. Synnefo expects fqdn and therefore a nameserver
......
161 194

  
162 195
   snf-deploy dns
163 196

  
164

  
165

  
166
Synnefo Installation
167
====================
168

  
169 197
At this point you should have a cluster with fqdns and reverse DNS lookups ready
170 198
for synnefo deployment. To sum up we mention all the node requirements for a
171 199
successful synnefo installation:
172 200

  
173

  
174 201
Node Requirements
175 202
-----------------
176 203

  
......
216 243
or whatever you gave in setup.conf and get a small taste of your private cloud setup.
217 244

  
218 245
Adding a Ganeti Backend
219
=======================
246
-----------------------
220 247

  
221 248
Assuming that all have worked out fine as expected, you must have astakos,
222 249
pithos, cms, db and mq up and running. Cyclades work too but partially. No
......
251 278
and try to create a VM.
252 279

  
253 280

  
254
snf-deploy as DevTool
255
=====================
281
snf-deploy as a DevTool
282
=======================
256 283

  
257 284
For developers who want to contribute a single node setup is highly recommended.
258 285
snf-deploy tools also supports updating packages that are localy generated. This

Also available in: Unified diff