Statistics
| Branch: | Tag: | Revision:

root / snf-app / docs / src / upgrade.rst @ 483c9197

History | View | Annotate | Download (10.1 kB)

1
Upgrade
2
=======
3

    
4
This file documents the upgrade to newer versions of the Synnefo software.
5
For more information, please see README.deploy.
6

    
7
v0.7 -> v0.8
8
------------
9

    
10
NEW APPS
11
    * The 'synnefo.ui.userdata' application has been added in
12
      settings.d/00-apps.conf. Application urls appended in ui/urls.py.
13
      If no custom ROOT_URLCONF module is used, no url change is needed.
14
    * The new app has migrations defined.
15
      Use './manage.py migrate' to migrate *all* apps.
16

    
17
NEW/UPDATED SETTINGS
18
    * New config file 31-userdata.conf, containing userdata app settings
19
    * USERDATA_SSH_KEY_LENGTH in 31-userdata.conf:
20
      Key length in bits for generated ssh keys
21
    * USERDATA_SSH_KEY_EXPONENT in 31-userdata.conf:
22
      Generated SSH key exponent
23
    * USERDATA_MAX_SSH_KEYS_PER_USER in 31-userdata.conf:
24
      Maximum number of ssh keys a user is allowed to have
25
    * UI_SUPPORT_SSH_OS_LIST, in 30-ui.conf:
26
      A list of os names that support ssh public key assignment
27
    * UI_OS_DEFAULT_USER_MAP, in 30-ui.conf:
28
      OS/username map to identify default user name for a specific os
29
    * VM_CREATE_NAME_TPL, in 30-ui.conf:
30
      Template to be used for suggesting the user a default name for newly
31
      created VMs. String {0} gets replaced by the value of metadata key "os"
32
      for the Image.
33
    * UI_FLAVORS_DISK_TEMPLATES_INFO added in 30-ui.conf:
34
      Name/description metadata for the available flavor disk templates
35
    * VM_CREATE_SUGGESTED_FLAVORS in 30-ui.conf:
36
      Updated flavor data to include disk_template value.
37
    * GANETI_DISK_TEMPLATES and DEFAULT_GANETI_DISK_TEMPLATE in 20-api.conf:
38
      The list of disk templates supported by the Ganeti backend.
39
      The default template to be used when migrating Flavors with no value for
40
      disk_template (i.e., 'drbd').
41

    
42
UI
43
    * synnefo.ui.userdata application has been added in INSTALLED_APPS.
44
      Database migration is needed for the creation of application db tables.
45

    
46
API
47
    * A new 'disk_template' attribute has been added to Flavors.
48
      A database migration is needed.
49

    
50

    
51
v0.7.3 -> v0.8
52
--------------
53

    
54
API
55
    * A new 'disk_template' attribute has been added to Flavors.
56
      GANETI_DISK_TEMPLATES and DEFAULT_GANETI_DISK_TEMPLATE have been added
57
      in 20-api.conf to control its value. A database migration is needed.
58

    
59
ADMIN TOOLS
60
    * A new --disk-template flag has been added to snf-admin to choose a
61
      disk template when creating flavors. Similarly, disk_template support
62
      in flavors has beed added to the admin web interface.
63

    
64

    
65
v0.6.2 -> v0.7
66
--------------
67

    
68
HTML TEMPLATES
69
    * Included a generic service unavailable template based on
70
      generic_info_tpl.html, as ui/static/service_unavailable.html.
71

    
72
NEW DEPENDENCIES
73
    * python-unittest2, python-paramiko needed by the new integration
74
      test suite snf-tools/burnin. Paramiko shipped with Squeeze uses
75
      broken RandomPool, produces warnings, see #576697.
76
    * snf-image must be installed on all Ganeti hosts, see README.deploy,
77
      Step 13.
78

    
79
COMPONENTS
80
    * snf-admin has been updated with new functionality, be sure to upgrade any
81
      locally installed versions.
82
    * snf-image replaces snf-ganeti-instance-image as the Ganeti OS provider
83
      used by Synnefo, and can live alongside snf-ganeti-instance-image.
84
      Once snf-image has been deployed on all Ganeti nodes, be sure to modify
85
      the value of settings.d/10-backend.conf:GANETI_CREATEINSTANCE_KWARGS
86
      to use 'snf-image+default'.
87

    
88
UI STATIC FILES
89
    * A major reorganization of static files has been commited. All ui and
90
      invitations static files has been moved in their own separate directory
91
      (ui/static/snf, ui/static/invitations).
92
    * UI static files base url is now configurable via UI_MEDIA_URL.
93
    * A symlink named after the current version of the ui application has been
94
      committed in ui/static directory. The symlink will get updated after each
95
      version upgrade to allow us provide unique urls of static files between
96
      after each upgrade, see #1460.
97

    
98
NEW/UPDATED SETTINGS
99
    * EMAIL_SUBJECT_PREFIX:
100
      Prepended to automated emails, set to someting that uniquely identifies
101
      the deployment.
102
    * MAX_PERSONALITY and MAX_PERSONALITY_SIZE in 20-api.conf:
103
      Maximum number of files to be injected in newly created servers,
104
      maximum total size of encoded file contents.
105
    * Renamed SUGGESTED_FLAVORS to VM_CREATE_SUGGESTED_FLAVORS in 30-ui.conf
106
    * VM_CREATE_SUGGESTED_ROLES in 30-ui.conf:
107
      A list of suggested vm roles to display to user on create wizard.
108
    * UI_DELAY_ON_BLUR in 30-ui.conf:
109
      Whether to increase the intervals of recurrent requests (networks/vms 
110
      update) if window loses its focus.
111
    * UI_BLUR_DELAY in 30-ui.conf:
112
      The value of update intervals if window loses its focus.
113
      Considered only if `UI_DELAY_ON_BLUR` is set to True.
114
    * UI_UPDATE_HIDDEN_VIEWS in 30-ui.conf:
115
      Whether not visible vm views will update their content if vm changes.
116
    * UI_SKIP_TIMEOUTS in 30-ui.conf:
117
      After how many timeouts of reccurent ajax requests to display the timeout
118
      error overlay.
119
    * UI_HANDLE_WINDOW_EXCEPTIONS in 30-ui.conf:
120
      Whether UI should display error overlay for all Javascript exceptions.
121
    * UI_MEDIA_URL in 30-ui.conf:
122
      Base url for ui static files, 
123
      defaults to MEDIA_URL + 'snf-<latest_ui_version>/'.
124
    * MEDIA_URL changed in 00-site.conf:
125
      Changed to '/static/' since it is now used in ui app.
126
    * TEMPLATE_CONTEXT_PROCESSORS changed in 00-apps.conf:
127
      added 'django.core.context_processors.media' to allow access of MEDIA_URL
128
      in template files.
129
    * GANETI_CREATEINSTANCE_KWARGS in 10-backend.conf:
130
      Must be updated to use snf-image as the Ganeti OS provider.
131
      
132
    
133
DB MIGRATION
134
    * Uniqueness constraints have been added to the metadata models.
135
      A database migration is needed.
136

    
137
LOGGING
138
    * A new logging mechanism has been implemeted. Please see 00-logging.conf
139
      under settings.d/ and read the relevant section in README.admin for more
140
      info.
141

    
142

    
143
v0.6.1 -> v0.6.2
144
----------------
145

    
146
ADMIN INTERFACE
147
    * The models were changed so that Flavors and SynnefoUsers now have
148
      a deleted state. The admin tools were updated so that models are
149
      now marked as deleted instead of actually being deleted from the DB.
150
      A database migration is needed.
151

    
152
COMPONENTS
153
    * Only the Django webapp is affected, must restart the logic dispatcher
154
      due to DB migration taking place.
155

    
156

    
157
v0.5.5 -> v0.6
158
--------------
159

    
160
ADMIN INTERFACE
161
    * A new Web-based admin interface is available under /admin.
162
      It is accessible by users of type 'ADMIN' in the DB, with
163
      their authentication token. "snf-admin user modify" may be used
164
      to change the type of a specific user.
165

    
166
RECONCILIATION
167
    * Implemented new reconciliation management command, please see
168
      ./manage.py reconcile --help and README.admin for more info.
169
      Recommended to run ./manage.py reconcile --detect-all periodically,
170
      via cron.
171

    
172
GANETI-INSTANCE-IMAGE
173
    * A new version of ganeti-instance-image is required (v0.5.1-1-snf1).
174
      The new version is available for download as a debian package:
175
      https://code.grnet.gr/projects/gnt-instance-image/files
176

    
177
COMPONENTS
178
    * snf-ganeti-tools must be rebuilt, see snf-ganeti-tools/debian/
179
      for Debian packaging.
180

    
181
NEW SETTINGS
182
    * 30-ui.conf:SUGGESTED_FLAVORS
183
    * 30-ui.conf:VM_IMAGE_COMMON_METADATA
184

    
185

    
186
v0.5.4 -> v0.5.5
187
----------------
188

    
189
LOGGING
190
    * Changed the default logging settings for the dispatcher to also log
191
      to /var/log/synnefo/dispatcher.log, redirecting stderr and stdout there
192

    
193
QUEUES
194
    * Changed default routing key naming for queues. Queues must be redeclared.
195
      The suggested upgrade path is to delete ALL (even obsolete) existing
196
      queues and restart the dispatcher. To do so, download amqp-utils from
197

    
198
          https://github.com/dougbarth/amqp-utils
199

    
200
      and run the amqp-deleteq tool for each declared queue. Alternatively,
201
      amqp-utils can be installed with: sudo gem install amqp-utils.
202

    
203
UI
204
    * Feedback form now uses django native send_mail for sending emails.
205
      Proper django settings should be set for feedback mails to work
206
      (https://docs.djangoproject.com/en/dev/topics/email/)
207

    
208
COMPONENTS
209
    * snf-ganeti-tools must be rebuilt, see snf-ganeti-tools/debian/
210
      for Debian packaging.
211

    
212

    
213
v0.5.3 -> v0.5.4
214
----------------
215

    
216
REPOSITORY
217
    * Split Synnefo Ganeti tools to snf-ganeti-tools, with Debian packaging
218

    
219
REMOVED APPS
220
    * The ganeti/ app has been removed from the Django project completely.
221
      Any explicit references to it in Django settings must be removed.
222

    
223
DJANGO SETTINGS
224
    * snf-ganeti-tools is configured independently from Django,
225
      need to add proper /etc/synnefo/settings.conf
226
    * Removed 15-queues.conf: fix_amqp_settings (no need to call it anywhere)
227
    * Removed settings.d/98-ganeti-* due to split of snf-ganeti-tools
228
    * ~okeanos intro: OKEANOS_VIDEO_URL: Changed from string to dict
229
    * ~okeanos intro: OKEANOS_VIDEO_POSTER_IMAGE_URL: New setting
230
    * ~okeanos intro: OKEANOS_VIDEO_FLOWPLAYER_URL: New setting
231

    
232
DB MIGRATIONS
233
    * 0018_auto__add_field_virtualmachine_buildpercentage
234

    
235
PACKAGING
236
    * Split Synnefo Ganeti tools to separate snf-ganeti-tools Debian package
237

    
238
NEW DEPENDENCIES
239
    * python-prctl: Needed by the snf-progress-monitor,
240
      specified as a dependency of the snf-ganeti-tools Debian package.
241

    
242
EXTERNAL COMPONENTS
243
    * Ganeti Instance Image must be upgraded to support progress monitoring,
244
      please see README.deploy.
245

    
246

    
247
v0.5.2 -> v0.5.3
248
----------------
249

    
250
NEW SETTINGS
251
    * 30-ui.conf:LOGOUT_URL
252
    * 00-admins.conf:DEFAULT_FROM_EMAIL
253
    * 90-okeanos.conf.sample:LOGOUT_URL
254

    
255
REMOVED SETTINGS
256
    * 00-admins.conf:SYSTEM_EMAIL_ADDR
257
    * 90-okeanos.conf.sample:APP_INSTALL_URL
258

    
259

    
260
v0.5.1 -> v0.5.2
261
----------------
262

    
263
NEW SETTINGS
264
    * 10-backend.py:GANETI_CREATEINSTANCE_KWARGS
265

    
266
REMOVED SETTINGS
267
    * 10-backend.conf:GANETI_OS_PROVIDER
268
    * 20-api.conf:GANETI_DISK_TEMPLATE
269

    
270
BACKEND CHANGES
271
    * Need to patch Ganeti, file:
272
      lib/python2.6/site-packages/ganeti/rapi/rlib2.py
273
      to honor the wait_for_sync flag, see Synnefo #835.
274
      Patch provided under contrib/patches/ganeti-rlib2.py-v0.5.2
275