Statistics
| Branch: | Tag: | Revision:

root / README.upgrade @ 728e7d91

History | View | Annotate | Download (9.8 kB)

1
README.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
NEW APPS
9
    * The 'synnefo.ui.userdata' application has been added in
10
      settings.d/00-apps.conf.
11

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

    
37
UI
38
    * synnefo.ui.userdata application has been added in INSTALLED_APPS.
39
      Database migration is needed for the creation of application db tables.
40

    
41
API
42
    * A new 'disk_template' attribute has been added to Flavors.
43
      A database migration is needed.
44

    
45

    
46
v0.7.3 -> v0.8
47
API
48
    * A new 'disk_template' attribute has been added to Flavors.
49
      GANETI_DISK_TEMPLATES and DEFAULT_GANETI_DISK_TEMPLATE have been added
50
      in 20-api.conf to control its value. A database migration is needed.
51

    
52
ADMIN TOOLS
53
    * A new --disk-template flag has been added to snf-admin to choose a
54
      disk template when creating flavors. Similarly, disk_template support
55
      in flavors has beed added to the admin web interface.
56

    
57

    
58
v0.6.2 -> v0.7
59
HTML TEMPLATES
60
    * Included a generic service unavailable template based on
61
      generic_info_tpl.html, as ui/static/service_unavailable.html.
62

    
63
NEW DEPENDENCIES
64
    * python-unittest2, python-paramiko needed by the new integration
65
      test suite snf-tools/burnin. Paramiko shipped with Squeeze uses
66
      broken RandomPool, produces warnings, see #576697.
67
    * snf-image must be installed on all Ganeti hosts, see README.deploy,
68
      Step 13.
69

    
70
COMPONENTS
71
    * snf-admin has been updated with new functionality, be sure to upgrade any
72
      locally installed versions.
73
    * snf-image replaces snf-ganeti-instance-image as the Ganeti OS provider
74
      used by Synnefo, and can live alongside snf-ganeti-instance-image.
75
      Once snf-image has been deployed on all Ganeti nodes, be sure to modify
76
      the value of settings.d/10-backend.conf:GANETI_CREATEINSTANCE_KWARGS
77
      to use 'snf-image+default'.
78

    
79
UI STATIC FILES
80
    * A major reorganization of static files has been commited. All ui and
81
      invitations static files has been moved in their own separate directory
82
      (ui/static/snf, ui/static/invitations).
83
    * UI static files base url is now configurable via UI_MEDIA_URL.
84
    * A symlink named after the current version of the ui application has been
85
      committed in ui/static directory. The symlink will get updated after each
86
      version upgrade to allow us provide unique urls of static files between
87
      after each upgrade, see #1460.
88

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

    
128
LOGGING
129
    * A new logging mechanism has been implemeted. Please see 00-logging.conf
130
      under settings.d/ and read the relevant section in README.admin for more
131
      info.
132

    
133

    
134
v0.6.1 -> v0.6.2
135
ADMIN INTERFACE
136
    * The models were changed so that Flavors and SynnefoUsers now have
137
      a deleted state. The admin tools were updated so that models are
138
      now marked as deleted instead of actually being deleted from the DB.
139
      A database migration is needed.
140

    
141
COMPONENTS
142
    * Only the Django webapp is affected, must restart the logic dispatcher
143
      due to DB migration taking place.
144

    
145

    
146
v0.5.5 -> v0.6
147
ADMIN INTERFACE
148
    * A new Web-based admin interface is available under /admin.
149
      It is accessible by users of type 'ADMIN' in the DB, with
150
      their authentication token. "snf-admin user modify" may be used
151
      to change the type of a specific user.
152

    
153
RECONCILIATION
154
    * Implemented new reconciliation management command, please see
155
      ./manage.py reconcile --help and README.admin for more info.
156
      Recommended to run ./manage.py reconcile --detect-all periodically,
157
      via cron.
158

    
159
GANETI-INSTANCE-IMAGE
160
    * A new version of ganeti-instance-image is required (v0.5.1-1-snf1).
161
      The new version is available for download as a debian package:
162
      https://code.grnet.gr/projects/gnt-instance-image/files
163

    
164
COMPONENTS
165
    * snf-ganeti-tools must be rebuilt, see snf-ganeti-tools/debian/
166
      for Debian packaging.
167

    
168
NEW SETTINGS
169
    * 30-ui.conf:SUGGESTED_FLAVORS
170
    * 30-ui.conf:VM_IMAGE_COMMON_METADATA
171

    
172

    
173
v0.5.4 -> v0.5.5
174
LOGGING
175
    * Changed the default logging settings for the dispatcher to also log
176
      to /var/log/synnefo/dispatcher.log, redirecting stderr and stdout there
177

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

    
183
          https://github.com/dougbarth/amqp-utils
184

    
185
      and run the amqp-deleteq tool for each declared queue. Alternatively,
186
      amqp-utils can be installed with: sudo gem install amqp-utils.
187

    
188
UI
189
    * Feedback form now uses django native send_mail for sending emails.
190
      Proper django settings should be set for feedback mails to work
191
      (https://docs.djangoproject.com/en/dev/topics/email/)
192

    
193
COMPONENTS
194
    * snf-ganeti-tools must be rebuilt, see snf-ganeti-tools/debian/
195
      for Debian packaging.
196

    
197

    
198
v0.5.3 -> v0.5.4
199
REPOSITORY
200
    * Split Synnefo Ganeti tools to snf-ganeti-tools, with Debian packaging
201

    
202
REMOVED APPS
203
    * The ganeti/ app has been removed from the Django project completely.
204
      Any explicit references to it in Django settings must be removed.
205

    
206
DJANGO SETTINGS
207
    * snf-ganeti-tools is configured independently from Django,
208
      need to add proper /etc/synnefo/settings.conf
209
    * Removed 15-queues.conf: fix_amqp_settings (no need to call it anywhere)
210
    * Removed settings.d/98-ganeti-* due to split of snf-ganeti-tools
211
    * ~okeanos intro: OKEANOS_VIDEO_URL: Changed from string to dict
212
    * ~okeanos intro: OKEANOS_VIDEO_POSTER_IMAGE_URL: New setting
213
    * ~okeanos intro: OKEANOS_VIDEO_FLOWPLAYER_URL: New setting
214

    
215
DB MIGRATIONS
216
    * 0018_auto__add_field_virtualmachine_buildpercentage
217

    
218
PACKAGING
219
    * Split Synnefo Ganeti tools to separate snf-ganeti-tools Debian package
220

    
221
NEW DEPENDENCIES
222
    * python-prctl: Needed by the snf-progress-monitor,
223
      specified as a dependency of the snf-ganeti-tools Debian package.
224

    
225
EXTERNAL COMPONENTS
226
    * Ganeti Instance Image must be upgraded to support progress monitoring,
227
      please see README.deploy.
228

    
229

    
230
v0.5.2 -> v0.5.3
231
NEW SETTINGS
232
    * 30-ui.conf:LOGOUT_URL
233
    * 00-admins.conf:DEFAULT_FROM_EMAIL
234
    * 90-okeanos.conf.sample:LOGOUT_URL
235

    
236
REMOVED SETTINGS
237
    * 00-admins.conf:SYSTEM_EMAIL_ADDR
238
    * 90-okeanos.conf.sample:APP_INSTALL_URL
239

    
240

    
241
v0.5.1 -> v0.5.2
242
NEW SETTINGS
243
    * 10-backend.py:GANETI_CREATEINSTANCE_KWARGS
244

    
245
REMOVED SETTINGS
246
    * 10-backend.conf:GANETI_OS_PROVIDER
247
    * 20-api.conf:GANETI_DISK_TEMPLATE
248

    
249
BACKEND CHANGES
250
    * Need to patch Ganeti, file:
251
      lib/python2.6/site-packages/ganeti/rapi/rlib2.py
252
      to honor the wait_for_sync flag, see Synnefo #835.
253
      Patch provided under contrib/patches/ganeti-rlib2.py-v0.5.2