Statistics
| Branch: | Tag: | Revision:

root / README.upgrade @ 728e7d91

History | View | Annotate | Download (9.8 kB)

1 1c382247 Vangelis Koukis
README.Upgrade
2 1c382247 Vangelis Koukis
===============
3 1c382247 Vangelis Koukis
4 1c382247 Vangelis Koukis
This file documents the upgrade to newer versions of the Synnefo software.
5 b8498a99 Vangelis Koukis
For more information, please see README.deploy.
6 1c382247 Vangelis Koukis
7 23f583a3 Kostas Papadimitriou
v0.7 -> v0.8
8 728e7d91 Vangelis Koukis
NEW APPS
9 728e7d91 Vangelis Koukis
    * The 'synnefo.ui.userdata' application has been added in
10 728e7d91 Vangelis Koukis
      settings.d/00-apps.conf.
11 728e7d91 Vangelis Koukis
12 23f583a3 Kostas Papadimitriou
NEW/UPDATED SETTINGS
13 23f583a3 Kostas Papadimitriou
    * New config file 31-userdata.conf, containing userdata app settings
14 1a97a220 Kostas Papadimitriou
    * USERDATA_SSH_KEY_LENGTH in 31-userdata.conf:
15 728e7d91 Vangelis Koukis
      Key length in bits for generated ssh keys
16 1a97a220 Kostas Papadimitriou
    * USERDATA_SSH_KEY_EXPONENT in 31-userdata.conf:
17 23f583a3 Kostas Papadimitriou
      Generated SSH key exponent
18 1a97a220 Kostas Papadimitriou
    * USERDATA_MAX_SSH_KEYS_PER_USER in 31-userdata.conf:
19 1a97a220 Kostas Papadimitriou
      Maximum number of ssh keys a user is allowed to have
20 1a97a220 Kostas Papadimitriou
    * UI_SUPPORT_SSH_OS_LIST, in 30-ui.conf:
21 23f583a3 Kostas Papadimitriou
      A list of os names that support ssh public key assignment
22 1a97a220 Kostas Papadimitriou
    * UI_OS_DEFAULT_USER_MAP, in 30-ui.conf:
23 23f583a3 Kostas Papadimitriou
      OS/username map to identify default user name for a specific os
24 1a97a220 Kostas Papadimitriou
    * VM_CREATE_NAME_TPL, in 30-ui.conf:
25 728e7d91 Vangelis Koukis
      Template to be used for suggesting the user a default name for newly
26 728e7d91 Vangelis Koukis
      created VMs. String {0} gets replaced by the value of metadata key "os"
27 728e7d91 Vangelis Koukis
      for the Image.
28 51bffc84 Kostas Papadimitriou
    * UI_FLAVORS_DISK_TEMPLATES_INFO added in 30-ui.conf:
29 51bffc84 Kostas Papadimitriou
      Name/description metadata for the available flavor disk templates
30 51bffc84 Kostas Papadimitriou
    * VM_CREATE_SUGGESTED_FLAVORS in 30-ui.conf:
31 51bffc84 Kostas Papadimitriou
      Updated flavor data to include disk_template value.
32 728e7d91 Vangelis Koukis
    * GANETI_DISK_TEMPLATES and DEFAULT_GANETI_DISK_TEMPLATE in 20-api.conf:
33 728e7d91 Vangelis Koukis
      The list of disk templates supported by the Ganeti backend.
34 728e7d91 Vangelis Koukis
      The default template to be used when migrating Flavors with no value for
35 728e7d91 Vangelis Koukis
      disk_template (i.e., 'drbd').
36 23f583a3 Kostas Papadimitriou
37 51bffc84 Kostas Papadimitriou
UI
38 51bffc84 Kostas Papadimitriou
    * synnefo.ui.userdata application has been added in INSTALLED_APPS.
39 51bffc84 Kostas Papadimitriou
      Database migration is needed for the creation of application db tables.
40 d668176c Vangelis Koukis
41 13c55966 Giorgos Verigakis
API
42 13c55966 Giorgos Verigakis
    * A new 'disk_template' attribute has been added to Flavors.
43 51bffc84 Kostas Papadimitriou
      A database migration is needed.
44 13c55966 Giorgos Verigakis
45 d668176c Vangelis Koukis
46 21dd2100 Vangelis Koukis
v0.7.3 -> v0.8
47 c909cbbd Giorgos Verigakis
API
48 c909cbbd Giorgos Verigakis
    * A new 'disk_template' attribute has been added to Flavors.
49 c909cbbd Giorgos Verigakis
      GANETI_DISK_TEMPLATES and DEFAULT_GANETI_DISK_TEMPLATE have been added
50 c909cbbd Giorgos Verigakis
      in 20-api.conf to control its value. A database migration is needed.
51 c909cbbd Giorgos Verigakis
52 561e7555 Giorgos Verigakis
ADMIN TOOLS
53 561e7555 Giorgos Verigakis
    * A new --disk-template flag has been added to snf-admin to choose a
54 21dd2100 Vangelis Koukis
      disk template when creating flavors. Similarly, disk_template support
55 561e7555 Giorgos Verigakis
      in flavors has beed added to the admin web interface.
56 561e7555 Giorgos Verigakis
57 c909cbbd Giorgos Verigakis
58 5949b704 Vangelis Koukis
v0.6.2 -> v0.7
59 aaffc396 Vangelis Koukis
HTML TEMPLATES
60 aaffc396 Vangelis Koukis
    * Included a generic service unavailable template based on
61 aaffc396 Vangelis Koukis
      generic_info_tpl.html, as ui/static/service_unavailable.html.
62 aaffc396 Vangelis Koukis
63 480051fe Vangelis Koukis
NEW DEPENDENCIES
64 480051fe Vangelis Koukis
    * python-unittest2, python-paramiko needed by the new integration
65 cb1fa17c Vangelis Koukis
      test suite snf-tools/burnin. Paramiko shipped with Squeeze uses
66 480051fe Vangelis Koukis
      broken RandomPool, produces warnings, see #576697.
67 5949b704 Vangelis Koukis
    * snf-image must be installed on all Ganeti hosts, see README.deploy,
68 5949b704 Vangelis Koukis
      Step 13.
69 480051fe Vangelis Koukis
70 5949b704 Vangelis Koukis
COMPONENTS
71 7730ad3d Vangelis Koukis
    * snf-admin has been updated with new functionality, be sure to upgrade any
72 7730ad3d Vangelis Koukis
      locally installed versions.
73 5949b704 Vangelis Koukis
    * snf-image replaces snf-ganeti-instance-image as the Ganeti OS provider
74 5949b704 Vangelis Koukis
      used by Synnefo, and can live alongside snf-ganeti-instance-image.
75 5949b704 Vangelis Koukis
      Once snf-image has been deployed on all Ganeti nodes, be sure to modify
76 5949b704 Vangelis Koukis
      the value of settings.d/10-backend.conf:GANETI_CREATEINSTANCE_KWARGS
77 5949b704 Vangelis Koukis
      to use 'snf-image+default'.
78 5949b704 Vangelis Koukis
79 2a1863a5 Kostas Papadimitriou
UI STATIC FILES
80 2a1863a5 Kostas Papadimitriou
    * A major reorganization of static files has been commited. All ui and
81 2a1863a5 Kostas Papadimitriou
      invitations static files has been moved in their own separate directory
82 2a1863a5 Kostas Papadimitriou
      (ui/static/snf, ui/static/invitations).
83 2a1863a5 Kostas Papadimitriou
    * UI static files base url is now configurable via UI_MEDIA_URL.
84 2a1863a5 Kostas Papadimitriou
    * A symlink named after the current version of the ui application has been
85 2a1863a5 Kostas Papadimitriou
      committed in ui/static directory. The symlink will get updated after each
86 2a1863a5 Kostas Papadimitriou
      version upgrade to allow us provide unique urls of static files between
87 2a1863a5 Kostas Papadimitriou
      after each upgrade, see #1460.
88 2a1863a5 Kostas Papadimitriou
89 5949b704 Vangelis Koukis
NEW/UPDATED SETTINGS
90 d668176c Vangelis Koukis
    * EMAIL_SUBJECT_PREFIX:
91 d668176c Vangelis Koukis
      Prepended to automated emails, set to someting that uniquely identifies
92 d668176c Vangelis Koukis
      the deployment.
93 ff327b86 Vangelis Koukis
    * MAX_PERSONALITY and MAX_PERSONALITY_SIZE in 20-api.conf:
94 ff327b86 Vangelis Koukis
      Maximum number of files to be injected in newly created servers,
95 ff327b86 Vangelis Koukis
      maximum total size of encoded file contents.
96 a663d887 Kostas Papadimitriou
    * Renamed SUGGESTED_FLAVORS to VM_CREATE_SUGGESTED_FLAVORS in 30-ui.conf
97 a663d887 Kostas Papadimitriou
    * VM_CREATE_SUGGESTED_ROLES in 30-ui.conf:
98 a663d887 Kostas Papadimitriou
      A list of suggested vm roles to display to user on create wizard.
99 a663d887 Kostas Papadimitriou
    * UI_DELAY_ON_BLUR in 30-ui.conf:
100 a663d887 Kostas Papadimitriou
      Whether to increase the intervals of recurrent requests (networks/vms 
101 a663d887 Kostas Papadimitriou
      update) if window loses its focus.
102 a663d887 Kostas Papadimitriou
    * UI_BLUR_DELAY in 30-ui.conf:
103 a663d887 Kostas Papadimitriou
      The value of update intervals if window loses its focus.
104 a663d887 Kostas Papadimitriou
      Considered only if `UI_DELAY_ON_BLUR` is set to True.
105 a663d887 Kostas Papadimitriou
    * UI_UPDATE_HIDDEN_VIEWS in 30-ui.conf:
106 a663d887 Kostas Papadimitriou
      Whether not visible vm views will update their content if vm changes.
107 a663d887 Kostas Papadimitriou
    * UI_SKIP_TIMEOUTS in 30-ui.conf:
108 a663d887 Kostas Papadimitriou
      After how many timeouts of reccurent ajax requests to display the timeout
109 a663d887 Kostas Papadimitriou
      error overlay.
110 a663d887 Kostas Papadimitriou
    * UI_HANDLE_WINDOW_EXCEPTIONS in 30-ui.conf:
111 a663d887 Kostas Papadimitriou
      Whether UI should display error overlay for all Javascript exceptions.
112 2a1863a5 Kostas Papadimitriou
    * UI_MEDIA_URL in 30-ui.conf:
113 2a1863a5 Kostas Papadimitriou
      Base url for ui static files, 
114 2a1863a5 Kostas Papadimitriou
      defaults to MEDIA_URL + 'snf-<latest_ui_version>/'.
115 2a1863a5 Kostas Papadimitriou
    * MEDIA_URL changed in 00-site.conf:
116 2a1863a5 Kostas Papadimitriou
      Changed to '/static/' since it is now used in ui app.
117 2a1863a5 Kostas Papadimitriou
    * TEMPLATE_CONTEXT_PROCESSORS changed in 00-apps.conf:
118 2a1863a5 Kostas Papadimitriou
      added 'django.core.context_processors.media' to allow access of MEDIA_URL
119 2a1863a5 Kostas Papadimitriou
      in template files.
120 5949b704 Vangelis Koukis
    * GANETI_CREATEINSTANCE_KWARGS in 10-backend.conf:
121 5949b704 Vangelis Koukis
      Must be updated to use snf-image as the Ganeti OS provider.
122 2a1863a5 Kostas Papadimitriou
      
123 a663d887 Kostas Papadimitriou
    
124 ff327b86 Vangelis Koukis
DB MIGRATION
125 1bd24df6 Giorgos Verigakis
    * Uniqueness constraints have been added to the metadata models.
126 1bd24df6 Giorgos Verigakis
      A database migration is needed.
127 d668176c Vangelis Koukis
128 9e98ba3c Giorgos Verigakis
LOGGING
129 7730ad3d Vangelis Koukis
    * A new logging mechanism has been implemeted. Please see 00-logging.conf
130 7730ad3d Vangelis Koukis
      under settings.d/ and read the relevant section in README.admin for more
131 7730ad3d Vangelis Koukis
      info.
132 9e98ba3c Giorgos Verigakis
133 d668176c Vangelis Koukis
134 6f592983 Giorgos Verigakis
v0.6.1 -> v0.6.2
135 43216e82 Vangelis Koukis
ADMIN INTERFACE
136 6f592983 Giorgos Verigakis
    * The models were changed so that Flavors and SynnefoUsers now have
137 6f592983 Giorgos Verigakis
      a deleted state. The admin tools were updated so that models are
138 6f592983 Giorgos Verigakis
      now marked as deleted instead of actually being deleted from the DB.
139 6f592983 Giorgos Verigakis
      A database migration is needed.
140 6f592983 Giorgos Verigakis
141 43216e82 Vangelis Koukis
COMPONENTS
142 43216e82 Vangelis Koukis
    * Only the Django webapp is affected, must restart the logic dispatcher
143 43216e82 Vangelis Koukis
      due to DB migration taking place.
144 43216e82 Vangelis Koukis
145 6f592983 Giorgos Verigakis
146 509773b0 Vangelis Koukis
v0.5.5 -> v0.6
147 509773b0 Vangelis Koukis
ADMIN INTERFACE
148 509773b0 Vangelis Koukis
    * A new Web-based admin interface is available under /admin.
149 509773b0 Vangelis Koukis
      It is accessible by users of type 'ADMIN' in the DB, with
150 509773b0 Vangelis Koukis
      their authentication token. "snf-admin user modify" may be used
151 509773b0 Vangelis Koukis
      to change the type of a specific user.
152 509773b0 Vangelis Koukis
153 9fea53cc Vangelis Koukis
RECONCILIATION
154 9fea53cc Vangelis Koukis
    * Implemented new reconciliation management command, please see
155 509773b0 Vangelis Koukis
      ./manage.py reconcile --help and README.admin for more info.
156 9fea53cc Vangelis Koukis
      Recommended to run ./manage.py reconcile --detect-all periodically,
157 9fea53cc Vangelis Koukis
      via cron.
158 9fea53cc Vangelis Koukis
159 9403216e Constantinos Venetsanopoulos
GANETI-INSTANCE-IMAGE
160 9403216e Constantinos Venetsanopoulos
    * A new version of ganeti-instance-image is required (v0.5.1-1-snf1).
161 9403216e Constantinos Venetsanopoulos
      The new version is available for download as a debian package:
162 509773b0 Vangelis Koukis
      https://code.grnet.gr/projects/gnt-instance-image/files
163 9403216e Constantinos Venetsanopoulos
164 d511237e Vangelis Koukis
COMPONENTS
165 d511237e Vangelis Koukis
    * snf-ganeti-tools must be rebuilt, see snf-ganeti-tools/debian/
166 d511237e Vangelis Koukis
      for Debian packaging.
167 d511237e Vangelis Koukis
168 e0dea91a Kostas Papadimitriou
NEW SETTINGS
169 e0dea91a Kostas Papadimitriou
    * 30-ui.conf:SUGGESTED_FLAVORS
170 767d44ac Kostas Papadimitriou
    * 30-ui.conf:VM_IMAGE_COMMON_METADATA
171 e0dea91a Kostas Papadimitriou
172 9fea53cc Vangelis Koukis
173 d28244af Vangelis Koukis
v0.5.4 -> v0.5.5
174 d28244af Vangelis Koukis
LOGGING
175 d28244af Vangelis Koukis
    * Changed the default logging settings for the dispatcher to also log
176 d28244af Vangelis Koukis
      to /var/log/synnefo/dispatcher.log, redirecting stderr and stdout there
177 9403216e Constantinos Venetsanopoulos
178 a0389a3a Georgios Gousios
QUEUES
179 a0389a3a Georgios Gousios
    * Changed default routing key naming for queues. Queues must be redeclared.
180 a0389a3a Georgios Gousios
      The suggested upgrade path is to delete ALL (even obsolete) existing
181 a0389a3a Georgios Gousios
      queues and restart the dispatcher. To do so, download amqp-utils from
182 d28244af Vangelis Koukis
183 a0389a3a Georgios Gousios
          https://github.com/dougbarth/amqp-utils
184 a0389a3a Georgios Gousios
185 a0389a3a Georgios Gousios
      and run the amqp-deleteq tool for each declared queue. Alternatively,
186 a0389a3a Georgios Gousios
      amqp-utils can be installed with: sudo gem install amqp-utils.
187 9403216e Constantinos Venetsanopoulos
188 c90302ad Kostas Papadimitriou
UI
189 c90302ad Kostas Papadimitriou
    * Feedback form now uses django native send_mail for sending emails.
190 c90302ad Kostas Papadimitriou
      Proper django settings should be set for feedback mails to work
191 c90302ad Kostas Papadimitriou
      (https://docs.djangoproject.com/en/dev/topics/email/)
192 9403216e Constantinos Venetsanopoulos
193 3d1dffc0 Vangelis Koukis
COMPONENTS
194 3d1dffc0 Vangelis Koukis
    * snf-ganeti-tools must be rebuilt, see snf-ganeti-tools/debian/
195 3d1dffc0 Vangelis Koukis
      for Debian packaging.
196 d28244af Vangelis Koukis
197 e88c0dbb Vangelis Koukis
198 c25cc9ec Vangelis Koukis
v0.5.3 -> v0.5.4
199 916c38f4 Vangelis Koukis
REPOSITORY
200 b8498a99 Vangelis Koukis
    * Split Synnefo Ganeti tools to snf-ganeti-tools, with Debian packaging
201 916c38f4 Vangelis Koukis
202 916c38f4 Vangelis Koukis
REMOVED APPS
203 916c38f4 Vangelis Koukis
    * The ganeti/ app has been removed from the Django project completely.
204 916c38f4 Vangelis Koukis
      Any explicit references to it in Django settings must be removed.
205 916c38f4 Vangelis Koukis
206 c13ae216 Vangelis Koukis
DJANGO SETTINGS
207 9e15401b Vangelis Koukis
    * snf-ganeti-tools is configured independently from Django,
208 9e15401b Vangelis Koukis
      need to add proper /etc/synnefo/settings.conf
209 c13ae216 Vangelis Koukis
    * Removed 15-queues.conf: fix_amqp_settings (no need to call it anywhere)
210 c13ae216 Vangelis Koukis
    * Removed settings.d/98-ganeti-* due to split of snf-ganeti-tools
211 c13ae216 Vangelis Koukis
    * ~okeanos intro: OKEANOS_VIDEO_URL: Changed from string to dict
212 c13ae216 Vangelis Koukis
    * ~okeanos intro: OKEANOS_VIDEO_POSTER_IMAGE_URL: New setting
213 07c022b9 Kostas Papadimitriou
    * ~okeanos intro: OKEANOS_VIDEO_FLOWPLAYER_URL: New setting
214 c25cc9ec Vangelis Koukis
215 c25cc9ec Vangelis Koukis
DB MIGRATIONS
216 c25cc9ec Vangelis Koukis
    * 0018_auto__add_field_virtualmachine_buildpercentage
217 c25cc9ec Vangelis Koukis
218 02728a9a Vangelis Koukis
PACKAGING
219 b8498a99 Vangelis Koukis
    * Split Synnefo Ganeti tools to separate snf-ganeti-tools Debian package
220 b8498a99 Vangelis Koukis
221 02728a9a Vangelis Koukis
NEW DEPENDENCIES
222 b8498a99 Vangelis Koukis
    * python-prctl: Needed by the snf-progress-monitor,
223 b8498a99 Vangelis Koukis
      specified as a dependency of the snf-ganeti-tools Debian package.
224 fde20b8f Vangelis Koukis
225 02728a9a Vangelis Koukis
EXTERNAL COMPONENTS
226 02728a9a Vangelis Koukis
    * Ganeti Instance Image must be upgraded to support progress monitoring,
227 02728a9a Vangelis Koukis
      please see README.deploy.
228 02728a9a Vangelis Koukis
229 c25cc9ec Vangelis Koukis
230 3d3c58d7 Georgios Gousios
v0.5.2 -> v0.5.3
231 3d3c58d7 Georgios Gousios
NEW SETTINGS
232 3d3c58d7 Georgios Gousios
    * 30-ui.conf:LOGOUT_URL
233 3d3c58d7 Georgios Gousios
    * 00-admins.conf:DEFAULT_FROM_EMAIL
234 3d3c58d7 Georgios Gousios
    * 90-okeanos.conf.sample:LOGOUT_URL
235 3d3c58d7 Georgios Gousios
236 c25cc9ec Vangelis Koukis
REMOVED SETTINGS
237 3d3c58d7 Georgios Gousios
    * 00-admins.conf:SYSTEM_EMAIL_ADDR
238 3d3c58d7 Georgios Gousios
    * 90-okeanos.conf.sample:APP_INSTALL_URL
239 3d3c58d7 Georgios Gousios
240 ba88e499 Georgios Gousios
241 1c382247 Vangelis Koukis
v0.5.1 -> v0.5.2
242 1c382247 Vangelis Koukis
NEW SETTINGS
243 1c382247 Vangelis Koukis
    * 10-backend.py:GANETI_CREATEINSTANCE_KWARGS
244 1c382247 Vangelis Koukis
245 c25cc9ec Vangelis Koukis
REMOVED SETTINGS
246 3d3c58d7 Georgios Gousios
    * 10-backend.conf:GANETI_OS_PROVIDER
247 3d3c58d7 Georgios Gousios
    * 20-api.conf:GANETI_DISK_TEMPLATE
248 1c382247 Vangelis Koukis
249 1c382247 Vangelis Koukis
BACKEND CHANGES
250 1c382247 Vangelis Koukis
    * Need to patch Ganeti, file:
251 1c382247 Vangelis Koukis
      lib/python2.6/site-packages/ganeti/rapi/rlib2.py
252 1c382247 Vangelis Koukis
      to honor the wait_for_sync flag, see Synnefo #835.
253 1c382247 Vangelis Koukis
      Patch provided under contrib/patches/ganeti-rlib2.py-v0.5.2