Statistics
| Branch: | Tag: | Revision:

root / docs / upgrade / upgrade-0.15.rst @ fba7aaf4

History | View | Annotate | Download (13.4 kB)

1 774f683b Giorgos Korfiatis
Upgrade to Synnefo v0.15
2 774f683b Giorgos Korfiatis
^^^^^^^^^^^^^^^^^^^^^^^^
3 774f683b Giorgos Korfiatis
4 300e9d88 Christos Stavrakakis
Prerequisites
5 300e9d88 Christos Stavrakakis
==============
6 300e9d88 Christos Stavrakakis
7 300e9d88 Christos Stavrakakis
Before upgrading to v0.15 there are two steps that must be performed, relative
8 300e9d88 Christos Stavrakakis
with Cyclades networking service.
9 300e9d88 Christos Stavrakakis
10 300e9d88 Christos Stavrakakis
Add unique name to the NICs of all Ganeti instances
11 300e9d88 Christos Stavrakakis
---------------------------------------------------
12 300e9d88 Christos Stavrakakis
13 300e9d88 Christos Stavrakakis
Since Ganeti 2.8, it is supported to give a name to NICs of Ganeti instances
14 300e9d88 Christos Stavrakakis
and refer to them with their name, and not only by their index. Synnefo v0.15
15 300e9d88 Christos Stavrakakis
assigns a unique name to each NIC and refers to them by their unique name.
16 300e9d88 Christos Stavrakakis
Before upgrading to v0.15, Synnefo must assign names to all existing NICs.
17 300e9d88 Christos Stavrakakis
This can easily be performed with a helper script that is shipped with Synnefo
18 300e9d88 Christos Stavrakakis
v0.14.10:
19 300e9d88 Christos Stavrakakis
20 300e9d88 Christos Stavrakakis
.. code-block:: console
21 300e9d88 Christos Stavrakakis
22 300e9d88 Christos Stavrakakis
 cyclades.host$ /usr/lib/synnefo/tools/add_unique_name_to_nics
23 300e9d88 Christos Stavrakakis
24 300e9d88 Christos Stavrakakis
.. note:: If you are not upgrading from v0.14.10, you can find the migration
25 300e9d88 Christos Stavrakakis
 script here XXX.
26 300e9d88 Christos Stavrakakis
27 300e9d88 Christos Stavrakakis
28 300e9d88 Christos Stavrakakis
Extend public networks to all Ganeti backends
29 300e9d88 Christos Stavrakakis
---------------------------------------------
30 300e9d88 Christos Stavrakakis
31 300e9d88 Christos Stavrakakis
Before v0.15, each public network of Cyclades existed in one of the Ganeti
32 300e9d88 Christos Stavrakakis
backends. In order to support dynamic addition and removal of public IPv4
33 300e9d88 Christos Stavrakakis
address across VMs, each public network must exist in all Ganeti backends.
34 300e9d88 Christos Stavrakakis
35 300e9d88 Christos Stavrakakis
If you are using more than one Ganeti backends, before upgrading to v0.15 you
36 300e9d88 Christos Stavrakakis
must ensure that the network configuration to all Ganeti backends is identical
37 300e9d88 Christos Stavrakakis
and appropriate to support all public networks of Cyclades.
38 300e9d88 Christos Stavrakakis
39 300e9d88 Christos Stavrakakis
40 300e9d88 Christos Stavrakakis
Upgrade Steps
41 300e9d88 Christos Stavrakakis
=============
42 300e9d88 Christos Stavrakakis
43 774f683b Giorgos Korfiatis
The upgrade to v0.15 consists in the following steps:
44 774f683b Giorgos Korfiatis
45 774f683b Giorgos Korfiatis
1. Bring down services and backup databases.
46 774f683b Giorgos Korfiatis
47 774f683b Giorgos Korfiatis
2. Upgrade packages, migrate the databases and configure settings.
48 774f683b Giorgos Korfiatis
49 0136e854 Christos Stavrakakis
3. Create floating IP pools
50 eb765213 Giorgos Korfiatis
51 0136e854 Christos Stavrakakis
4. Register services and resources.
52 0136e854 Christos Stavrakakis
53 0136e854 Christos Stavrakakis
5. Bring up all services.
54 774f683b Giorgos Korfiatis
55 774f683b Giorgos Korfiatis
.. warning::
56 774f683b Giorgos Korfiatis
57 774f683b Giorgos Korfiatis
    It is strongly suggested that you keep separate database backups
58 774f683b Giorgos Korfiatis
    for each service after the completion of each step.
59 774f683b Giorgos Korfiatis
60 774f683b Giorgos Korfiatis
1. Bring web services down, backup databases
61 774f683b Giorgos Korfiatis
============================================
62 774f683b Giorgos Korfiatis
63 774f683b Giorgos Korfiatis
1. All web services must be brought down so that the database maintains a
64 774f683b Giorgos Korfiatis
   predictable and consistent state during the migration process::
65 774f683b Giorgos Korfiatis
66 774f683b Giorgos Korfiatis
    $ service gunicorn stop
67 774f683b Giorgos Korfiatis
    $ service snf-dispatcher stop
68 774f683b Giorgos Korfiatis
    $ service snf-ganeti-eventd stop
69 774f683b Giorgos Korfiatis
70 774f683b Giorgos Korfiatis
2. Backup databases for recovery to a pre-migration state.
71 774f683b Giorgos Korfiatis
72 774f683b Giorgos Korfiatis
3. Keep the database servers running during the migration process.
73 774f683b Giorgos Korfiatis
74 774f683b Giorgos Korfiatis
75 774f683b Giorgos Korfiatis
2. Upgrade Synnefo and configure settings
76 774f683b Giorgos Korfiatis
=========================================
77 774f683b Giorgos Korfiatis
78 774f683b Giorgos Korfiatis
2.1 Install the new versions of packages
79 774f683b Giorgos Korfiatis
----------------------------------------
80 774f683b Giorgos Korfiatis
81 774f683b Giorgos Korfiatis
::
82 774f683b Giorgos Korfiatis
83 774f683b Giorgos Korfiatis
    astakos.host$ apt-get install \
84 774f683b Giorgos Korfiatis
                            python-objpool \
85 774f683b Giorgos Korfiatis
                            snf-common \
86 774f683b Giorgos Korfiatis
                            python-astakosclient \
87 774f683b Giorgos Korfiatis
                            snf-django-lib \
88 774f683b Giorgos Korfiatis
                            snf-webproject \
89 774f683b Giorgos Korfiatis
                            snf-branding \
90 774f683b Giorgos Korfiatis
                            snf-astakos-app
91 774f683b Giorgos Korfiatis
92 774f683b Giorgos Korfiatis
    cyclades.host$ apt-get install \
93 774f683b Giorgos Korfiatis
                            python-objpool \
94 774f683b Giorgos Korfiatis
                            snf-common \
95 774f683b Giorgos Korfiatis
                            python-astakosclient \
96 774f683b Giorgos Korfiatis
                            snf-django-lib \
97 774f683b Giorgos Korfiatis
                            snf-webproject \
98 774f683b Giorgos Korfiatis
                            snf-branding \
99 774f683b Giorgos Korfiatis
                            snf-pithos-backend \
100 774f683b Giorgos Korfiatis
                            snf-cyclades-app
101 774f683b Giorgos Korfiatis
102 774f683b Giorgos Korfiatis
    pithos.host$ apt-get install \
103 774f683b Giorgos Korfiatis
                            python-objpool \
104 774f683b Giorgos Korfiatis
                            snf-common \
105 774f683b Giorgos Korfiatis
                            python-astakosclient \
106 774f683b Giorgos Korfiatis
                            snf-django-lib \
107 774f683b Giorgos Korfiatis
                            snf-webproject \
108 774f683b Giorgos Korfiatis
                            snf-branding \
109 774f683b Giorgos Korfiatis
                            snf-pithos-backend \
110 774f683b Giorgos Korfiatis
                            snf-pithos-app \
111 774f683b Giorgos Korfiatis
                            snf-pithos-webclient
112 774f683b Giorgos Korfiatis
113 774f683b Giorgos Korfiatis
    ganeti.node$ apt-get install \
114 774f683b Giorgos Korfiatis
                            python-objpool \
115 774f683b Giorgos Korfiatis
                            snf-common \
116 774f683b Giorgos Korfiatis
                            snf-cyclades-gtools \
117 774f683b Giorgos Korfiatis
                            snf-pithos-backend
118 774f683b Giorgos Korfiatis
119 774f683b Giorgos Korfiatis
.. note::
120 774f683b Giorgos Korfiatis
121 774f683b Giorgos Korfiatis
   Make sure `snf-webproject' has the same version with snf-common
122 774f683b Giorgos Korfiatis
123 774f683b Giorgos Korfiatis
.. note::
124 774f683b Giorgos Korfiatis
125 774f683b Giorgos Korfiatis
    Installing the packages will cause services to start. Make sure you bring
126 774f683b Giorgos Korfiatis
    them down again (at least ``gunicorn``, ``snf-dispatcher``)
127 774f683b Giorgos Korfiatis
128 774f683b Giorgos Korfiatis
2.2 Sync and migrate the database
129 774f683b Giorgos Korfiatis
---------------------------------
130 774f683b Giorgos Korfiatis
131 774f683b Giorgos Korfiatis
.. note::
132 774f683b Giorgos Korfiatis
133 774f683b Giorgos Korfiatis
   If you are asked about stale content types during the migration process,
134 774f683b Giorgos Korfiatis
   answer 'no' and let the migration finish.
135 774f683b Giorgos Korfiatis
136 774f683b Giorgos Korfiatis
::
137 774f683b Giorgos Korfiatis
138 774f683b Giorgos Korfiatis
    astakos-host$ snf-manage syncdb
139 774f683b Giorgos Korfiatis
    astakos-host$ snf-manage migrate
140 774f683b Giorgos Korfiatis
141 774f683b Giorgos Korfiatis
    cyclades-host$ snf-manage syncdb
142 774f683b Giorgos Korfiatis
    cyclades-host$ snf-manage migrate
143 774f683b Giorgos Korfiatis
144 774f683b Giorgos Korfiatis
    pithos-host$ pithos-migrate upgrade head
145 774f683b Giorgos Korfiatis
146 06f38d70 Ilias Tsitsimpis
2.3 Update configuration files
147 06f38d70 Ilias Tsitsimpis
------------------------------
148 06f38d70 Ilias Tsitsimpis
149 06f38d70 Ilias Tsitsimpis
The ``ASTAKOS_BASE_URL`` setting has been replaced (both in Cyclades and
150 06f38d70 Ilias Tsitsimpis
Pithos services) with the ``ASTAKOS_AUTH_URL`` setting.
151 06f38d70 Ilias Tsitsimpis
152 06f38d70 Ilias Tsitsimpis
For Cyclades service we have to change the ``20-snf-cyclades-app-api.conf``
153 06f38d70 Ilias Tsitsimpis
file, remove the ``ASTAKOS_BASE_URL`` setting and replace it with
154 6ce03057 Giorgos Korfiatis
``ASTAKOS_AUTH_URL``. Typically it is sufficient to add ``/identity/v2.0``
155 06f38d70 Ilias Tsitsimpis
at the end of base url to get the auth url. For example if base url had the
156 06f38d70 Ilias Tsitsimpis
value of 'https://accounts.example.synnefo.org/' then the ``ASTAKOS_AUTH_URL``
157 06f38d70 Ilias Tsitsimpis
setting will have the value of
158 6ce03057 Giorgos Korfiatis
'https://accounts.example.synnefo.org/identity/v2.0'.
159 06f38d70 Ilias Tsitsimpis
160 06f38d70 Ilias Tsitsimpis
For Pithos service we have to change the ``20-snf-pithos-app-settings.conf``
161 06f38d70 Ilias Tsitsimpis
file in the same way as above.
162 06f38d70 Ilias Tsitsimpis
163 f3c5f1df Stratos Psomadakis
2.4 Upgrade vncauthproxy and configure snf-cyclades-app
164 f3c5f1df Stratos Psomadakis
-------------------------------------------------------
165 f3c5f1df Stratos Psomadakis
166 f3c5f1df Stratos Psomadakis
Synnefo v0.15 adds support for snf-vncauthproxy >= 1.5 and drops support for
167 fba7aaf4 Stratos Psomadakis
older versions. You will have to upgrade snf-vncauthproxy to v1.5 and
168 fba7aaf4 Stratos Psomadakis
configure the authentication (users) file (``/var/lib/vncauthproxy/users``).
169 f3c5f1df Stratos Psomadakis
170 fba7aaf4 Stratos Psomadakis
In case you're upgrading from an older snf-vncauthproxy version or if it's the
171 fba7aaf4 Stratos Psomadakis
first time you're installing snf-vncauthproxy, you will need to add a
172 fba7aaf4 Stratos Psomadakis
vncauthproxy user (see below for more information on user management) and
173 fba7aaf4 Stratos Psomadakis
restart vncauthproxy daemon.
174 f3c5f1df Stratos Psomadakis
175 f3c5f1df Stratos Psomadakis
To manage the authentication file, you can use the vncauthproxy-passwd tool,
176 fba7aaf4 Stratos Psomadakis
to easily add, update and delete users.
177 f3c5f1df Stratos Psomadakis
178 f3c5f1df Stratos Psomadakis
To add a user:
179 fba7aaf4 Stratos Psomadakis
180 f3c5f1df Stratos Psomadakis
.. code-block:: console
181 f3c5f1df Stratos Psomadakis
182 f3c5f1df Stratos Psomadakis
    # vncauthproxy-passwd /var/lib/vncauthproxy/users synnefo
183 f3c5f1df Stratos Psomadakis
184 f3c5f1df Stratos Psomadakis
You will be prompted for a password.
185 f3c5f1df Stratos Psomadakis
186 f3c5f1df Stratos Psomadakis
You should also configure the new ``CYCLADES_VNCAUTHPROXY_OPTS`` setting in
187 f3c5f1df Stratos Psomadakis
``snf-cyclades-app``, to provide the user and password configured for
188 f3c5f1df Stratos Psomadakis
``Synnefo`` in the vncauthproxy authentication file and enable SSL support if
189 f3c5f1df Stratos Psomadakis
snf-vncauthproxy is configured to run with SSL enabled for the control socket.
190 f3c5f1df Stratos Psomadakis
191 f3c5f1df Stratos Psomadakis
.. warning:: The vncauthproxy daemon requires a restart for the changes in the
192 f3c5f1df Stratos Psomadakis
 authentication file to take effect.
193 f3c5f1df Stratos Psomadakis
194 f3c5f1df Stratos Psomadakis
.. warning:: If you fail to provide snf-vncauthproxy with a valid
195 f3c5f1df Stratos Psomadakis
 authentication file, or in case the configuration of vncauthproxy and the
196 f3c5f1df Stratos Psomadakis
 vncauthproxy snf-cyclades-app settings don't match (ie not having SSL enabled
197 f3c5f1df Stratos Psomadakis
 on both), VNC console access will not be functional.
198 f3c5f1df Stratos Psomadakis
199 f3c5f1df Stratos Psomadakis
Finally, snf-vncauthproxy-1.5 adds a dedicated user and group to be used by the
200 f3c5f1df Stratos Psomadakis
vncauthproxy daemon. The Debian default file has changed accordingly (``CHUID``
201 f3c5f1df Stratos Psomadakis
option in ``/etc/default/vncauthproxy``). The Debian default file now also
202 f3c5f1df Stratos Psomadakis
includes a ``DAEMON_OPTS`` variable which is used to pass any necessary / extra
203 f3c5f1df Stratos Psomadakis
options to the vncauthproxy daemon. In case you're ugprading from an older
204 f3c5f1df Stratos Psomadakis
version of vncauthproxy, you should make sure to 'merge' the new default file
205 f3c5f1df Stratos Psomadakis
with the older one.
206 f3c5f1df Stratos Psomadakis
207 f3c5f1df Stratos Psomadakis
Check the `documentation
208 f3c5f1df Stratos Psomadakis
<http://www.synnefo.org/docs/snf-vncauthproxy/latest/index.html>`_ of
209 f3c5f1df Stratos Psomadakis
snf-vncauthproxy for more information on upgrading to version 1.5.
210 0136e854 Christos Stavrakakis
211 62c0a9e1 Stratos Psomadakis
2.5 Stats configuration
212 62c0a9e1 Stratos Psomadakis
-----------------------
213 62c0a9e1 Stratos Psomadakis
214 62c0a9e1 Stratos Psomadakis
snf-cyclades-gtools comes with a collectd plugin to collect CPU and network
215 62c0a9e1 Stratos Psomadakis
stats for Ganeti VMs and an example collectd configuration. snf-stats-app is a
216 62c0a9e1 Stratos Psomadakis
Django (snf-webproject) app that serves the VM stats graphsmm by reading the VM
217 62c0a9e1 Stratos Psomadakis
stats (from RRD files) and serves graphs.
218 62c0a9e1 Stratos Psomadakis
219 62c0a9e1 Stratos Psomadakis
To enable / deploy VM stats collecting and snf-stats-app see the relevant
220 62c0a9e1 Stratos Psomadakis
documentation in the :ref:`admin guide <admin-guide-stats>`.
221 62c0a9e1 Stratos Psomadakis
222 62c0a9e1 Stratos Psomadakis
If you were using collectd to collect VM stats on Debian squeeze and you are
223 62c0a9e1 Stratos Psomadakis
upgrading to Wheezy, you will need to upgrade your RRD files. Follow the
224 62c0a9e1 Stratos Psomadakis
instructions on the collectd v4-to-v5 migration `guide
225 62c0a9e1 Stratos Psomadakis
<https://collectd.org/wiki/index.php/V4_to_v5_migration_guide>`_.
226 62c0a9e1 Stratos Psomadakis
You will proabably just need to run the `migration script
227 62c0a9e1 Stratos Psomadakis
<https://collectd.org/wiki/index.php/V4_to_v5_migration_guide#Migration_script>`_
228 62c0a9e1 Stratos Psomadakis
provided.
229 62c0a9e1 Stratos Psomadakis
230 62c0a9e1 Stratos Psomadakis
If you were using a previous version of snf-stats-app, you should also make
231 62c0a9e1 Stratos Psomadakis
sure to set the ``STATS_BASE_URL`` setting in ``20-snf-stats-app-settings.conf``
232 62c0a9e1 Stratos Psomadakis
to match your deployment and change the graph URL settings in
233 62c0a9e1 Stratos Psomadakis
``20-snf-cyclades-app-api.conf`` accordingly.
234 62c0a9e1 Stratos Psomadakis
235 bd16bf3e Stratos Psomadakis
v0.15 has also introduced the ``CYCLADES_STATS_SECRET_KEY`` and
236 bd16bf3e Stratos Psomadakis
``STATS_SECRET_KEY`` settings. ``CYCLADES_STATS_SECRET_KEY`` in
237 bd16bf3e Stratos Psomadakis
``20-snf-cyclades-app-api.conf`` is used by Cyclades to encrypt the instance id
238 bd16bf3e Stratos Psomadakis
/ hostname  in the URLs serving the VM stats. You should set it to a random
239 bd16bf3e Stratos Psomadakis
value / string and make sure that it's the same as the ``STATS_SECRET_KEY``
240 bd16bf3e Stratos Psomadakis
setting (used to decrypt the instance hostname) in
241 bd16bf3e Stratos Psomadakis
``20-snf-stats-settings.conf`` on your Stats host.
242 bd16bf3e Stratos Psomadakis
243 0136e854 Christos Stavrakakis
3. Create floating IP pools
244 0136e854 Christos Stavrakakis
===========================
245 0136e854 Christos Stavrakakis
246 0136e854 Christos Stavrakakis
Synnefo v0.15 introduces floating IPs, which are public IPv4 addresses that can
247 0136e854 Christos Stavrakakis
dynamically be added/removed to/from VMs and are quotable via the
248 0136e854 Christos Stavrakakis
'cyclades.floating_ip' resource. Connecting a VM to a public network is only
249 0136e854 Christos Stavrakakis
allowed if the user has firstly created a floating IP from this network.
250 0136e854 Christos Stavrakakis
251 0136e854 Christos Stavrakakis
Floating IPs are created from networks that are marked as Floating IP pools.
252 0136e854 Christos Stavrakakis
Creation of floating IP pools is done with the `snf-manage network-create`
253 0136e854 Christos Stavrakakis
command using the `--floating-ip-pool` option.
254 0136e854 Christos Stavrakakis
255 0136e854 Christos Stavrakakis
Existing networks can be converted to floating IPs using `network-modify`
256 0136e854 Christos Stavrakakis
command:
257 0136e854 Christos Stavrakakis
258 0136e854 Christos Stavrakakis
.. code-block:: console
259 0136e854 Christos Stavrakakis
260 0136e854 Christos Stavrakakis
  snf-manage network-modify --floating-ip-pool=True <network_ID>
261 0136e854 Christos Stavrakakis
262 0136e854 Christos Stavrakakis
Already allocated public IPv4 addresses are not automatically converted to
263 0136e854 Christos Stavrakakis
floating IPs. Existing VMs can keep their IPv4 addresses which will be
264 0136e854 Christos Stavrakakis
automatically be released when these VMs will be destroyed. In order to
265 0136e854 Christos Stavrakakis
convert existing public IPs to floating IPs run the following command:
266 0136e854 Christos Stavrakakis
267 0136e854 Christos Stavrakakis
.. code-block:: console
268 0136e854 Christos Stavrakakis
269 0136e854 Christos Stavrakakis
 cyclades.host$ /usr/lib/synnefo/tools/update_to_floating_ips
270 0136e854 Christos Stavrakakis
271 0136e854 Christos Stavrakakis
or for just one network:
272 0136e854 Christos Stavrakakis
273 0136e854 Christos Stavrakakis
.. code-block:: console
274 0136e854 Christos Stavrakakis
275 0136e854 Christos Stavrakakis
 cyclades.host$ /usr/lib/synnefo/tools/update_to_floating_ips --network-id=<network_ID>
276 0136e854 Christos Stavrakakis
277 0136e854 Christos Stavrakakis
4. Register services and resources
278 762d2797 Giorgos Korfiatis
==================================
279 eb765213 Giorgos Korfiatis
280 0136e854 Christos Stavrakakis
4.1 Re-register service and resource definitions
281 762d2797 Giorgos Korfiatis
------------------------------------------------
282 762d2797 Giorgos Korfiatis
283 762d2797 Giorgos Korfiatis
You will need to register again all Synnefo components, updating the
284 762d2797 Giorgos Korfiatis
service and resource definitions. On the astakos node, run::
285 eb765213 Giorgos Korfiatis
286 eb765213 Giorgos Korfiatis
    astakos-host$ snf-component-register
287 eb765213 Giorgos Korfiatis
288 eb765213 Giorgos Korfiatis
This will detect that the Synnefo components are already registered and ask
289 eb765213 Giorgos Korfiatis
to re-register. Answer positively. You need to enter the base URL and the UI
290 eb765213 Giorgos Korfiatis
URL for each component, just like during the initial registration.
291 eb765213 Giorgos Korfiatis
292 762d2797 Giorgos Korfiatis
.. note::
293 762d2797 Giorgos Korfiatis
294 762d2797 Giorgos Korfiatis
   You can run ``snf-manage component-list -o name,ui_url`` to inspect the
295 762d2797 Giorgos Korfiatis
   current registered UI URL. In the default installation, the base URL can
296 762d2797 Giorgos Korfiatis
   be found by stripping ``/ui`` from the UI URL.
297 762d2797 Giorgos Korfiatis
298 762d2797 Giorgos Korfiatis
The meaning of resources ``cyclades.cpu`` and ``cyclades.ram`` has changed:
299 762d2797 Giorgos Korfiatis
they now denote the number of CPUs and, respectively, RAM of *active* VMs
300 762d2797 Giorgos Korfiatis
rather than all VMs. To represent total CPUs and total RAM, as previously,
301 762d2797 Giorgos Korfiatis
new resources ``cyclades.total_cpu`` and ``cyclades.total_ram`` are
302 762d2797 Giorgos Korfiatis
introduced. We now also control the usage of floating IPs through resource
303 762d2797 Giorgos Korfiatis
``cyclades.floating_ip``.
304 762d2797 Giorgos Korfiatis
305 0136e854 Christos Stavrakakis
4.2 Tweek resource settings
306 762d2797 Giorgos Korfiatis
---------------------------
307 762d2797 Giorgos Korfiatis
308 762d2797 Giorgos Korfiatis
New resources (``cyclades.total_cpu``, ``cyclades.total_ram``, and
309 762d2797 Giorgos Korfiatis
``cyclades.floating_ip``) are registered with infinite default base quota.
310 762d2797 Giorgos Korfiatis
You will probably need to restrict them, especially
311 762d2797 Giorgos Korfiatis
``cyclades.floating_ip``. In order to change the default for all *future*
312 762d2797 Giorgos Korfiatis
users, for instance restricting floating IPs to 2, run::
313 762d2797 Giorgos Korfiatis
314 762d2797 Giorgos Korfiatis
    astakos-host$ snf-manage resource-modify cyclades.floating_ip --default-quota 2
315 762d2797 Giorgos Korfiatis
316 762d2797 Giorgos Korfiatis
Note that this command does not affect *existing* users any more. They can
317 762d2797 Giorgos Korfiatis
still have infinite floating IPs. You can update base quota of existing
318 762d2797 Giorgos Korfiatis
users in bulk, possibly excluding some users, with::
319 762d2797 Giorgos Korfiatis
320 762d2797 Giorgos Korfiatis
    astakos-host$ snf-manage user-modify --all --base-quota cyclades.floating_ip 2 --exclude uuid1,uuid2
321 762d2797 Giorgos Korfiatis
322 762d2797 Giorgos Korfiatis
.. note::
323 762d2797 Giorgos Korfiatis
324 762d2797 Giorgos Korfiatis
   You can inspect base quota with ``snf-manage quota-list`` before applying
325 762d2797 Giorgos Korfiatis
   any changes, for example::
326 762d2797 Giorgos Korfiatis
327 762d2797 Giorgos Korfiatis
     # Get users with cyclades.vm base quota that differ from the default value
328 762d2797 Giorgos Korfiatis
     astakos-host$ snf-manage quota-list --with-custom=True --filter-by "resource=cyclades.vm"
329 762d2797 Giorgos Korfiatis
330 762d2797 Giorgos Korfiatis
     # Get users with cyclades.vm base quota greater than 3
331 762d2797 Giorgos Korfiatis
     astakos-host$ snf-manage quota-list --filter-by "resource=cyclades.vm,base_quota>3"
332 762d2797 Giorgos Korfiatis
333 762d2797 Giorgos Korfiatis
It is now possible to control whether a resource is visible for the users
334 762d2797 Giorgos Korfiatis
through the API or the UI. Note that the system always checks resource
335 762d2797 Giorgos Korfiatis
quota, regardless of their visibility. By default, ``cyclades.total_cpu``,
336 762d2797 Giorgos Korfiatis
``cyclades.total_ram`` and ``astakos.pending_app`` are not visible. You can
337 762d2797 Giorgos Korfiatis
change this behavior with::
338 762d2797 Giorgos Korfiatis
339 762d2797 Giorgos Korfiatis
    astakos-host$ snf-manage resource-modify <resource> --api-visible=True (or --ui-visible=True)
340 762d2797 Giorgos Korfiatis
341 0136e854 Christos Stavrakakis
4.3 Update the Quotaholder
342 762d2797 Giorgos Korfiatis
--------------------------
343 762d2797 Giorgos Korfiatis
344 762d2797 Giorgos Korfiatis
To update quota for all new or modified Cyclades resources, bring up Astakos::
345 762d2797 Giorgos Korfiatis
346 762d2797 Giorgos Korfiatis
    astakos-host$ service gunicorn start
347 762d2797 Giorgos Korfiatis
348 762d2797 Giorgos Korfiatis
and run on the Cyclades node::
349 762d2797 Giorgos Korfiatis
350 762d2797 Giorgos Korfiatis
   cyclades-host$ snf-manage reconcile-resources-cyclades --fix --force
351 762d2797 Giorgos Korfiatis
352 0136e854 Christos Stavrakakis
353 0136e854 Christos Stavrakakis
5. Bring all services up
354 774f683b Giorgos Korfiatis
========================
355 774f683b Giorgos Korfiatis
356 774f683b Giorgos Korfiatis
After the upgrade is finished, we bring up all services:
357 774f683b Giorgos Korfiatis
358 774f683b Giorgos Korfiatis
.. code-block:: console
359 774f683b Giorgos Korfiatis
360 774f683b Giorgos Korfiatis
    astakos.host  # service gunicorn start
361 774f683b Giorgos Korfiatis
    cyclades.host # service gunicorn start
362 774f683b Giorgos Korfiatis
    pithos.host   # service gunicorn start
363 774f683b Giorgos Korfiatis
364 774f683b Giorgos Korfiatis
    cyclades.host # service snf-dispatcher start