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 |