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 |