Statistics
| Branch: | Tag: | Revision:

root / docs / cyclades-admin-guide.rst @ 81243c3d

History | View | Annotate | Download (10.9 kB)

1 b1996c81 Kostas Papadimitriou
.. _cyclades-admin-guide:
2 99644884 Vangelis Koukis
3 99644884 Vangelis Koukis
===================
4 99644884 Vangelis Koukis
Administrator Guide
5 99644884 Vangelis Koukis
===================
6 99644884 Vangelis Koukis
7 b1996c81 Kostas Papadimitriou
This is the cyclades administrator guide.
8 99644884 Vangelis Koukis
9 99644884 Vangelis Koukis
It contains instructions on how to download, install and configure
10 99644884 Vangelis Koukis
the synnefo components necessary to deploy the Compute Service. It also covers
11 99644884 Vangelis Koukis
maintenance issues, e.g., upgrades of existing deployments.
12 99644884 Vangelis Koukis
13 99644884 Vangelis Koukis
The guide assumes you are familiar with all aspects of downloading, installing
14 99644884 Vangelis Koukis
and configuring packages for the Linux distribution of your choice.
15 99644884 Vangelis Koukis
16 99644884 Vangelis Koukis
Overview
17 99644884 Vangelis Koukis
--------
18 99644884 Vangelis Koukis
19 99644884 Vangelis Koukis
This guide covers the following:
20 99644884 Vangelis Koukis
21 99644884 Vangelis Koukis
Architecture
22 b1996c81 Kostas Papadimitriou
    Node types needed for a complete deployment of cyclades,
23 99644884 Vangelis Koukis
    and their roles. Throughout this guide, `node` refers to a physical machine
24 99644884 Vangelis Koukis
    in the deployment.
25 99644884 Vangelis Koukis
Installation
26 99644884 Vangelis Koukis
    The installation of services and synnefo software components for a working
27 b1996c81 Kostas Papadimitriou
    deployment of cyclades, either from source packages or the provided
28 99644884 Vangelis Koukis
    packages for Debian Squeeze.
29 99644884 Vangelis Koukis
Configuration
30 b1996c81 Kostas Papadimitriou
    Configuration of the various software components comprising an cyclades
31 99644884 Vangelis Koukis
    deployment.
32 dbe32d94 Vangelis Koukis
Upgrades/Changelogs
33 b1996c81 Kostas Papadimitriou
    Upgrades of existing deployments of cyclades to newer versions, associated
34 dbe32d94 Vangelis Koukis
    Changelogs.
35 99644884 Vangelis Koukis
36 b1996c81 Kostas Papadimitriou
.. _cyclades-architecture:
37 99644884 Vangelis Koukis
38 99644884 Vangelis Koukis
Architecture
39 99644884 Vangelis Koukis
------------
40 99644884 Vangelis Koukis
41 b1996c81 Kostas Papadimitriou
Nodes in an cyclades deployment belong in one of the following types.
42 99644884 Vangelis Koukis
For every type, we list the services that execute on corresponding nodes.
43 99644884 Vangelis Koukis
44 99644884 Vangelis Koukis
.. _DB_NODE:
45 99644884 Vangelis Koukis
46 99644884 Vangelis Koukis
DB
47 99644884 Vangelis Koukis
**
48 99644884 Vangelis Koukis
49 99644884 Vangelis Koukis
A node [or more than one nodes, if using an HA configuration], running a DB
50 99644884 Vangelis Koukis
engine supported by the Django ORM layer. The DB is the single source of
51 b1996c81 Kostas Papadimitriou
truth for the servicing of API requests by cyclades.
52 99644884 Vangelis Koukis
53 99644884 Vangelis Koukis
*Services:* PostgreSQL / MySQL
54 99644884 Vangelis Koukis
55 99644884 Vangelis Koukis
.. _APISERVER_NODE:
56 99644884 Vangelis Koukis
57 99644884 Vangelis Koukis
APISERVER
58 99644884 Vangelis Koukis
*********
59 99644884 Vangelis Koukis
A node running the ``api`` application contained in
60 b1996c81 Kostas Papadimitriou
:ref:`snf-cyclades-app <snf-cyclades-app>`. Any number of
61 99644884 Vangelis Koukis
:ref:`APISERVER <APISERVER_NODE>` nodes
62 99644884 Vangelis Koukis
can be used, in a load-balancing configuration, without any
63 99644884 Vangelis Koukis
special consideration. Access to a common DB ensures consistency.
64 99644884 Vangelis Koukis
65 99644884 Vangelis Koukis
*Services:* Web server, vncauthproxy
66 99644884 Vangelis Koukis
67 99644884 Vangelis Koukis
68 99644884 Vangelis Koukis
.. _QUEUE_NODE:
69 99644884 Vangelis Koukis
70 99644884 Vangelis Koukis
QUEUE
71 99644884 Vangelis Koukis
*****
72 99644884 Vangelis Koukis
A node running the RabbitMQ software, which provides AMQP functionality. More
73 99644884 Vangelis Koukis
than one :ref:`QUEUE <QUEUE_NODE>` nodes may be deployed, in an HA
74 99644884 Vangelis Koukis
configuration. Such deployments require shared storage, provided e.g., by DRBD.
75 99644884 Vangelis Koukis
76 99644884 Vangelis Koukis
*Services:* RabbitMQ [rabbitmq-server]
77 99644884 Vangelis Koukis
78 99644884 Vangelis Koukis
79 99644884 Vangelis Koukis
.. _LOGIC_NODE:
80 99644884 Vangelis Koukis
81 99644884 Vangelis Koukis
LOGIC
82 99644884 Vangelis Koukis
*****
83 99644884 Vangelis Koukis
84 99644884 Vangelis Koukis
A node running the business logic of synnefo, in Django. It dequeues
85 99644884 Vangelis Koukis
messages from QUEUE nodes, and provides the context in which business logic
86 99644884 Vangelis Koukis
functions run. It uses Django ORM to connect to the common DB and update the
87 99644884 Vangelis Koukis
state of the system, based on notifications received from the rest of the
88 99644884 Vangelis Koukis
infrastructure, over AMQP.
89 99644884 Vangelis Koukis
90 99644884 Vangelis Koukis
*Services:* the synnefo logic dispatcher, ``snf-dispatcher``
91 99644884 Vangelis Koukis
92 99644884 Vangelis Koukis
93 99644884 Vangelis Koukis
.. _GANETI_NODES:
94 99644884 Vangelis Koukis
.. _GANETI_MASTER:
95 99644884 Vangelis Koukis
.. _GANETI_NODE:
96 99644884 Vangelis Koukis
  
97 99644884 Vangelis Koukis
GANETI-MASTER and GANETI-NODE
98 99644884 Vangelis Koukis
*****************************
99 99644884 Vangelis Koukis
A single GANETI-MASTER and a large number of GANETI-NODEs constitute the
100 99644884 Vangelis Koukis
Ganeti backend for synnefo, which undertakes all VM management functions.
101 99644884 Vangelis Koukis
Any APISERVER can issue commands to the GANETI-MASTER, over RAPI, to effect
102 99644884 Vangelis Koukis
changes in the state of the VMs. The GANETI-MASTER runs the Ganeti request
103 99644884 Vangelis Koukis
queue.
104 99644884 Vangelis Koukis
105 99644884 Vangelis Koukis
*Services:*
106 99644884 Vangelis Koukis
    * only on :ref:`GANETI-MASTER <GANETI_MASTER>`:
107 99644884 Vangelis Koukis
        * the synnefo Ganeti monitoring daemon, ``snf-ganeti-eventd``
108 99644884 Vangelis Koukis
        * the synnefo Ganeti hook, ``ganeti/snf-ganeti-hook.py``.
109 99644884 Vangelis Koukis
    * on every :ref:`GANETI-NODE <GANETI_NODE>`:
110 99644884 Vangelis Koukis
        * a deployment-specific KVM ifup script
111 b1996c81 Kostas Papadimitriou
        * properly configured :ref:`NFDHCPD <cyclades-nfdhcpd-setup>`
112 99644884 Vangelis Koukis
113 99644884 Vangelis Koukis
.. _WEBAPP_NODE:
114 99644884 Vangelis Koukis
115 99644884 Vangelis Koukis
Installation
116 99644884 Vangelis Koukis
------------
117 99644884 Vangelis Koukis
118 b1996c81 Kostas Papadimitriou
Installation of cyclades is a two step process:
119 99644884 Vangelis Koukis
120 b1996c81 Kostas Papadimitriou
1. install the external services (prerequisites) on which cyclades depends
121 b1996c81 Kostas Papadimitriou
2. install the synnefo software components associated with cyclades
122 99644884 Vangelis Koukis
123 99644884 Vangelis Koukis
Prerequisites
124 99644884 Vangelis Koukis
*************
125 b1996c81 Kostas Papadimitriou
.. _cyclades-install-ganeti:
126 99644884 Vangelis Koukis
127 dbe32d94 Vangelis Koukis
Ganeti installation
128 dbe32d94 Vangelis Koukis
```````````````````
129 99644884 Vangelis Koukis
Synnefo requires a working Ganeti installation at the backend. Installation
130 99644884 Vangelis Koukis
of Ganeti is not covered by this document, please refer to
131 99644884 Vangelis Koukis
`ganeti documentation <http://docs.ganeti.org/ganeti/current/html>`_ for all the 
132 99644884 Vangelis Koukis
gory details. A successful Ganeti installation concludes with a working 
133 99644884 Vangelis Koukis
:ref:`GANETI-MASTER <GANETI_NODES>` and a number of :ref:`GANETI-NODEs <GANETI_NODES>`.
134 99644884 Vangelis Koukis
135 b1996c81 Kostas Papadimitriou
.. _cyclades-install-db:
136 99644884 Vangelis Koukis
137 dbe32d94 Vangelis Koukis
Database
138 dbe32d94 Vangelis Koukis
````````
139 99644884 Vangelis Koukis
140 dbe32d94 Vangelis Koukis
Database installation is done as part of the
141 dbe32d94 Vangelis Koukis
:ref:`snf-webproject <snf-webproject>` component.
142 99644884 Vangelis Koukis
143 b1996c81 Kostas Papadimitriou
.. _cyclades-install-rabbitmq:
144 99644884 Vangelis Koukis
145 dbe32d94 Vangelis Koukis
RabbitMQ 
146 dbe32d94 Vangelis Koukis
````````
147 99644884 Vangelis Koukis
148 b1996c81 Kostas Papadimitriou
RabbitMQ is used as a generic message broker for cyclades. It should be
149 99644884 Vangelis Koukis
installed on two seperate :ref:`QUEUE <QUEUE_NODE>` nodes in a high availability
150 99644884 Vangelis Koukis
configuration as described here:
151 99644884 Vangelis Koukis
152 99644884 Vangelis Koukis
    http://www.rabbitmq.com/pacemaker.html
153 99644884 Vangelis Koukis
154 99644884 Vangelis Koukis
After installation, create a user and set its permissions:
155 99644884 Vangelis Koukis
156 99644884 Vangelis Koukis
.. code-block:: console
157 99644884 Vangelis Koukis
158 99644884 Vangelis Koukis
    $ rabbitmqctl add_user <username> <password>
159 99644884 Vangelis Koukis
    $ rabbitmqctl set_permissions -p / <username>  "^.*" ".*" ".*"
160 99644884 Vangelis Koukis
161 99644884 Vangelis Koukis
The values set for the user and password must be mirrored in the
162 99644884 Vangelis Koukis
``RABBIT_*`` variables in your settings, as managed by
163 99644884 Vangelis Koukis
:ref:`snf-common <snf-common>`.
164 99644884 Vangelis Koukis
165 99644884 Vangelis Koukis
.. todo:: Document an active-active configuration based on the latest version
166 99644884 Vangelis Koukis
   of RabbitMQ.
167 99644884 Vangelis Koukis
168 b1996c81 Kostas Papadimitriou
.. _cyclades-install-vncauthproxy:
169 dbe32d94 Vangelis Koukis
170 dbe32d94 Vangelis Koukis
vncauthproxy
171 dbe32d94 Vangelis Koukis
````````````
172 99644884 Vangelis Koukis
173 99644884 Vangelis Koukis
To support OOB console access to the VMs over VNC, the vncauthproxy
174 99644884 Vangelis Koukis
daemon must be running on every :ref:`APISERVER <APISERVER_NODE>` node.
175 99644884 Vangelis Koukis
176 99644884 Vangelis Koukis
.. note:: The Debian package for vncauthproxy undertakes all configuration
177 99644884 Vangelis Koukis
   automatically.
178 99644884 Vangelis Koukis
179 99644884 Vangelis Koukis
Download and install the latest vncauthproxy from its own repository,
180 99644884 Vangelis Koukis
at `https://code.grnet.gr/git/vncauthproxy`, or a specific commit:
181 99644884 Vangelis Koukis
182 99644884 Vangelis Koukis
.. code-block:: console
183 99644884 Vangelis Koukis
184 99644884 Vangelis Koukis
    $ bin/pip install -e git+https://code.grnet.gr/git/vncauthproxy@INSERT_COMMIT_HERE#egg=vncauthproxy
185 99644884 Vangelis Koukis
186 99644884 Vangelis Koukis
Create ``/var/log/vncauthproxy`` and set its permissions appropriately.
187 99644884 Vangelis Koukis
188 99644884 Vangelis Koukis
Alternatively, build and install Debian packages.
189 99644884 Vangelis Koukis
190 99644884 Vangelis Koukis
.. code-block:: console
191 99644884 Vangelis Koukis
192 99644884 Vangelis Koukis
    $ git checkout debian
193 99644884 Vangelis Koukis
    $ dpkg-buildpackage -b -uc -us
194 99644884 Vangelis Koukis
    # dpkg -i ../vncauthproxy_1.0-1_all.deb
195 99644884 Vangelis Koukis
196 99644884 Vangelis Koukis
.. warning::
197 99644884 Vangelis Koukis
    **Failure to build the package on the Mac.**
198 99644884 Vangelis Koukis
199 99644884 Vangelis Koukis
    ``libevent``, a requirement for gevent which in turn is a requirement for
200 99644884 Vangelis Koukis
    vncauthproxy is not included in `MacOSX` by default and installing it with
201 99644884 Vangelis Koukis
    MacPorts does not lead to a version that can be found by the gevent
202 99644884 Vangelis Koukis
    build process. A quick workaround is to execute the following commands::
203 99644884 Vangelis Koukis
204 99644884 Vangelis Koukis
        $ cd $SYNNEFO
205 99644884 Vangelis Koukis
        $ sudo pip install -e git+https://code.grnet.gr/git/vncauthproxy@5a196d8481e171a#egg=vncauthproxy
206 99644884 Vangelis Koukis
        <the above fails>
207 99644884 Vangelis Koukis
        $ cd build/gevent
208 99644884 Vangelis Koukis
        $ sudo python setup.py -I/opt/local/include -L/opt/local/lib build
209 99644884 Vangelis Koukis
        $ cd $SYNNEFO
210 99644884 Vangelis Koukis
        $ sudo pip install -e git+https://code.grnet.gr/git/vncauthproxy@5a196d8481e171a#egg=vncauthproxy
211 99644884 Vangelis Koukis
212 99644884 Vangelis Koukis
.. todo:: Mention vncauthproxy bug, snf-vncauthproxy, inability to install using pip
213 99644884 Vangelis Koukis
.. todo:: kpap: fix installation commands
214 99644884 Vangelis Koukis
215 b1996c81 Kostas Papadimitriou
.. _cyclades-install-nfdhcpd:
216 99644884 Vangelis Koukis
217 dbe32d94 Vangelis Koukis
NFDHCPD
218 dbe32d94 Vangelis Koukis
```````
219 99644884 Vangelis Koukis
220 99644884 Vangelis Koukis
Setup Synnefo-specific networking on the Ganeti backend.
221 99644884 Vangelis Koukis
This part is deployment-specific and must be customized based on the
222 99644884 Vangelis Koukis
specific needs of the system administrators.
223 99644884 Vangelis Koukis
224 99644884 Vangelis Koukis
A reference installation will use a Synnefo-specific KVM ifup script,
225 99644884 Vangelis Koukis
NFDHCPD and pre-provisioned Linux bridges to support public and private
226 99644884 Vangelis Koukis
network functionality. For this:
227 99644884 Vangelis Koukis
228 99644884 Vangelis Koukis
Grab NFDHCPD from its own repository (https://code.grnet.gr/git/nfdhcpd),
229 99644884 Vangelis Koukis
install it, modify ``/etc/nfdhcpd/nfdhcpd.conf`` to reflect your network
230 99644884 Vangelis Koukis
configuration.
231 99644884 Vangelis Koukis
232 99644884 Vangelis Koukis
Install a custom KVM ifup script for use by Ganeti, as
233 99644884 Vangelis Koukis
``/etc/ganeti/kvm-vif-bridge``, on GANETI-NODEs. A sample implementation is
234 99644884 Vangelis Koukis
provided under ``/contrib/ganeti-hooks``. Set ``NFDHCPD_STATE_DIR`` to point
235 99644884 Vangelis Koukis
to NFDHCPD's state directory, usually ``/var/lib/nfdhcpd``.
236 99644884 Vangelis Koukis
237 99644884 Vangelis Koukis
.. todo:: soc: document NFDHCPD installation, settle on KVM ifup script
238 99644884 Vangelis Koukis
239 b1996c81 Kostas Papadimitriou
.. _cyclades-install-snfimage:
240 99644884 Vangelis Koukis
241 dbe32d94 Vangelis Koukis
snf-image
242 dbe32d94 Vangelis Koukis
`````````
243 99644884 Vangelis Koukis
244 99644884 Vangelis Koukis
Install the :ref:`snf-image <snf-image>` Ganeti OS provider for image
245 99644884 Vangelis Koukis
deployment.
246 99644884 Vangelis Koukis
247 b1996c81 Kostas Papadimitriou
For :ref:`cyclades <cyclades>` to be able to launch VMs from specified
248 99644884 Vangelis Koukis
Images, you need the snf-image OS Provider installed on *all* Ganeti nodes.
249 99644884 Vangelis Koukis
250 99644884 Vangelis Koukis
Please see `https://code.grnet.gr/projects/snf-image/wiki`_
251 99644884 Vangelis Koukis
for installation instructions and documentation on the design
252 99644884 Vangelis Koukis
and implementation of snf-image.
253 99644884 Vangelis Koukis
254 99644884 Vangelis Koukis
Please see `https://code.grnet.gr/projects/snf-image/files`
255 99644884 Vangelis Koukis
for the latest packages.
256 99644884 Vangelis Koukis
257 99644884 Vangelis Koukis
Images should be stored in ``extdump``, or ``diskdump`` format in a directory
258 99644884 Vangelis Koukis
of your choice, configurable as ``IMAGE_DIR`` in 
259 99644884 Vangelis Koukis
:file:`/etc/default/snf-image`.
260 99644884 Vangelis Koukis
261 99644884 Vangelis Koukis
synnefo components
262 99644884 Vangelis Koukis
******************
263 99644884 Vangelis Koukis
264 99644884 Vangelis Koukis
You need to install the appropriate synnefo software components on each node,
265 b1996c81 Kostas Papadimitriou
depending on its type, see :ref:`Architecture <cyclades-architecture>`.
266 99644884 Vangelis Koukis
267 99644884 Vangelis Koukis
Most synnefo components have dependencies on additional Python packages.
268 99644884 Vangelis Koukis
The dependencies are described inside each package, and are setup
269 99644884 Vangelis Koukis
automatically when installing using :command:`pip`, or when installing 
270 99644884 Vangelis Koukis
using your system's package manager.
271 99644884 Vangelis Koukis
272 99644884 Vangelis Koukis
Please see the page of each synnefo software component for specific
273 99644884 Vangelis Koukis
installation instructions, where applicable.
274 99644884 Vangelis Koukis
275 99644884 Vangelis Koukis
Install the following synnefo components:
276 99644884 Vangelis Koukis
277 99644884 Vangelis Koukis
Nodes of type :ref:`APISERVER <APISERVER_NODE>`
278 99644884 Vangelis Koukis
    Components
279 99644884 Vangelis Koukis
    :ref:`snf-common <snf-common>`,
280 99644884 Vangelis Koukis
    :ref:`snf-webproject <snf-webproject>`,
281 b1996c81 Kostas Papadimitriou
    :ref:`snf-cyclades-app <snf-cyclades-app>`
282 99644884 Vangelis Koukis
Nodes of type :ref:`GANETI-MASTER <GANETI_MASTER>` and :ref:`GANETI-NODE <GANETI_NODE>`
283 99644884 Vangelis Koukis
    Components
284 99644884 Vangelis Koukis
    :ref:`snf-common <snf-common>`,
285 069906dc Vangelis Koukis
    :ref:`snf-cyclades-gtools <snf-cyclades-gtools>`
286 99644884 Vangelis Koukis
Nodes of type :ref:`LOGIC <LOGIC_NODE>`
287 99644884 Vangelis Koukis
    Components
288 99644884 Vangelis Koukis
    :ref:`snf-common <snf-common>`,
289 99644884 Vangelis Koukis
    :ref:`snf-webproject <snf-webproject>`,
290 b1996c81 Kostas Papadimitriou
    :ref:`snf-cyclades-app <snf-cyclades-app>`.
291 99644884 Vangelis Koukis
292 99644884 Vangelis Koukis
Configuration
293 99644884 Vangelis Koukis
-------------
294 99644884 Vangelis Koukis
295 b1996c81 Kostas Papadimitriou
This section targets the configuration of the prerequisites for cyclades,
296 dbe32d94 Vangelis Koukis
and the configuration of the associated synnefo software components.
297 dbe32d94 Vangelis Koukis
298 dbe32d94 Vangelis Koukis
synnefo components
299 dbe32d94 Vangelis Koukis
******************
300 dbe32d94 Vangelis Koukis
301 b1996c81 Kostas Papadimitriou
cyclades uses :ref:`snf-common <snf-common>` for settings.
302 99644884 Vangelis Koukis
Please refer to the configuration sections of
303 99644884 Vangelis Koukis
:ref:`snf-webproject <snf-webproject>`,
304 b1996c81 Kostas Papadimitriou
:ref:`snf-cyclades-app <snf-cyclades-app>`,
305 069906dc Vangelis Koukis
:ref:`snf-cyclades-gtools <snf-cyclades-gtools>` for more
306 99644884 Vangelis Koukis
information on their configuration.
307 dbe32d94 Vangelis Koukis
308 dbe32d94 Vangelis Koukis
Ganeti
309 dbe32d94 Vangelis Koukis
``````
310 dbe32d94 Vangelis Koukis
311 dbe32d94 Vangelis Koukis
Set ``GANETI_NODES``, ``GANETI_MASTER_IP``, ``GANETI_CLUSTER_INFO`` based on
312 b1996c81 Kostas Papadimitriou
your :ref:`Ganeti installation <cyclades-install-ganeti>` and change the
313 dbe32d94 Vangelis Koukis
`BACKEND_PREFIX_ID`` setting, using an custom ``PREFIX_ID``.
314 dbe32d94 Vangelis Koukis
315 dbe32d94 Vangelis Koukis
Database
316 dbe32d94 Vangelis Koukis
````````
317 dbe32d94 Vangelis Koukis
318 dbe32d94 Vangelis Koukis
Once all components are installed and configured,
319 dbe32d94 Vangelis Koukis
initialize the Django DB:
320 dbe32d94 Vangelis Koukis
321 dbe32d94 Vangelis Koukis
.. code-block:: console
322 dbe32d94 Vangelis Koukis
323 dbe32d94 Vangelis Koukis
   $ snf-manage syncdb
324 dbe32d94 Vangelis Koukis
   $ snf-manage migrate
325 dbe32d94 Vangelis Koukis
326 dbe32d94 Vangelis Koukis
and load fixtures ``{users, flavors, images}``, 
327 dbe32d94 Vangelis Koukis
which make the API usable by end users by defining a sample set of users, 
328 dbe32d94 Vangelis Koukis
hardware configurations (flavors) and OS images:
329 dbe32d94 Vangelis Koukis
330 dbe32d94 Vangelis Koukis
.. code-block:: console
331 dbe32d94 Vangelis Koukis
332 dbe32d94 Vangelis Koukis
   $ snf-manage loaddata /path/to/users.json
333 dbe32d94 Vangelis Koukis
   $ snf-manage loaddata flavors
334 dbe32d94 Vangelis Koukis
   $ snf-manage loaddata images
335 dbe32d94 Vangelis Koukis
336 dbe32d94 Vangelis Koukis
.. warning:: 
337 dbe32d94 Vangelis Koukis
    Be sure to load a custom users.json and select a unique token 
338 dbe32d94 Vangelis Koukis
    for each of the initial and any other users defined in this file. 
339 dbe32d94 Vangelis Koukis
    **DO NOT LEAVE THE SAMPLE AUTHENTICATION TOKENS** enabled in deployed
340 dbe32d94 Vangelis Koukis
    configurations.
341 dbe32d94 Vangelis Koukis
342 dbe32d94 Vangelis Koukis
sample users.json file:
343 dbe32d94 Vangelis Koukis
344 dbe32d94 Vangelis Koukis
.. literalinclude:: ../../synnefo/db/fixtures/users.json
345 dbe32d94 Vangelis Koukis
346 dbe32d94 Vangelis Koukis
`download <../_static/users.json>`_
347 dbe32d94 Vangelis Koukis
348 dbe32d94 Vangelis Koukis
RabbitMQ
349 dbe32d94 Vangelis Koukis
````````
350 dbe32d94 Vangelis Koukis
351 dbe32d94 Vangelis Koukis
Change ``RABBIT_*`` settings to match your :ref:`RabbitMQ setup
352 b1996c81 Kostas Papadimitriou
<cyclades-install-rabbitmq>`.
353 dbe32d94 Vangelis Koukis
354 dbe32d94 Vangelis Koukis
.. include:: ../../Changelog