Statistics
| Branch: | Tag: | Revision:

root / README.upgrade @ 51bffc84

History | View | Annotate | Download (9 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/UPDATED SETTINGS
9
    * New config file 31-userdata.conf, containing userdata app settings
10
    * USERDATA_SSH_KEY_LENGTH in 31-userdata.conf:
11
      Genetared SSH key bits length
12
    * USERDATA_SSH_KEY_EXPONENT in 31-userdata.conf:
13
      Generated SSH key exponent
14
    * USERDATA_MAX_SSH_KEYS_PER_USER in 31-userdata.conf:
15
      Maximum number of ssh keys a user is allowed to have
16
    * UI_SUPPORT_SSH_OS_LIST, in 30-ui.conf:
17
      A list of os names that support ssh public key assignment
18
    * UI_OS_DEFAULT_USER_MAP, in 30-ui.conf:
19
      OS/username map to identify default user name for a specific os
20
    * VM_CREATE_NAME_TPL, in 30-ui.conf:
21
      Template to be used for suggesting the user a default name for newly created
22
      vms. {0} gets replaced by the image OS value
23
    * UI_FLAVORS_DISK_TEMPLATES_INFO added in 30-ui.conf:
24
      Name/description metadata for the available flavor disk templates
25
    * VM_CREATE_SUGGESTED_FLAVORS in 30-ui.conf:
26
      Updated flavor data to include disk_template value.
27
    * GANETI_DISK_TEMPLATES and DEFAULT_GANETI_DISK_TEMPLATE have been added
28
      in 20-api.conf to control its value.
29

    
30
UI
31
    * synnefo.ui.userdata application has been added in INSTALLED_APPS.
32
      Database migration is needed for the creation of application db tables.
33

    
34
API
35
    * A new 'disk_template' attribute has been added to Flavors.
36
      A database migration is needed.
37

    
38

    
39
v0.6.2 -> v0.7
40
HTML TEMPLATES
41
    * Included a generic service unavailable template based on
42
      generic_info_tpl.html, as ui/static/service_unavailable.html.
43

    
44
NEW DEPENDENCIES
45
    * python-unittest2, python-paramiko needed by the new integration
46
      test suite snf-tools/burnin. Paramiko shipped with Squeeze uses
47
      broken RandomPool, produces warnings, see #576697.
48
    * snf-image must be installed on all Ganeti hosts, see README.deploy,
49
      Step 13.
50

    
51
COMPONENTS
52
    * snf-admin has been updated with new functionality, be sure to upgrade any
53
      locally installed versions.
54
    * snf-image replaces snf-ganeti-instance-image as the Ganeti OS provider
55
      used by Synnefo, and can live alongside snf-ganeti-instance-image.
56
      Once snf-image has been deployed on all Ganeti nodes, be sure to modify
57
      the value of settings.d/10-backend.conf:GANETI_CREATEINSTANCE_KWARGS
58
      to use 'snf-image+default'.
59

    
60
UI STATIC FILES
61
    * A major reorganization of static files has been commited. All ui and
62
      invitations static files has been moved in their own separate directory
63
      (ui/static/snf, ui/static/invitations).
64
    * UI static files base url is now configurable via UI_MEDIA_URL.
65
    * A symlink named after the current version of the ui application has been
66
      committed in ui/static directory. The symlink will get updated after each
67
      version upgrade to allow us provide unique urls of static files between
68
      after each upgrade, see #1460.
69

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

    
109
LOGGING
110
    * A new logging mechanism has been implemeted. Please see 00-logging.conf
111
      under settings.d/ and read the relevant section in README.admin for more
112
      info.
113

    
114

    
115
v0.6.1 -> v0.6.2
116
ADMIN INTERFACE
117
    * The models were changed so that Flavors and SynnefoUsers now have
118
      a deleted state. The admin tools were updated so that models are
119
      now marked as deleted instead of actually being deleted from the DB.
120
      A database migration is needed.
121

    
122
COMPONENTS
123
    * Only the Django webapp is affected, must restart the logic dispatcher
124
      due to DB migration taking place.
125

    
126

    
127
v0.5.5 -> v0.6
128
ADMIN INTERFACE
129
    * A new Web-based admin interface is available under /admin.
130
      It is accessible by users of type 'ADMIN' in the DB, with
131
      their authentication token. "snf-admin user modify" may be used
132
      to change the type of a specific user.
133

    
134
RECONCILIATION
135
    * Implemented new reconciliation management command, please see
136
      ./manage.py reconcile --help and README.admin for more info.
137
      Recommended to run ./manage.py reconcile --detect-all periodically,
138
      via cron.
139

    
140
GANETI-INSTANCE-IMAGE
141
    * A new version of ganeti-instance-image is required (v0.5.1-1-snf1).
142
      The new version is available for download as a debian package:
143
      https://code.grnet.gr/projects/gnt-instance-image/files
144

    
145
COMPONENTS
146
    * snf-ganeti-tools must be rebuilt, see snf-ganeti-tools/debian/
147
      for Debian packaging.
148

    
149
NEW SETTINGS
150
    * 30-ui.conf:SUGGESTED_FLAVORS
151
    * 30-ui.conf:VM_IMAGE_COMMON_METADATA
152

    
153

    
154
v0.5.4 -> v0.5.5
155
LOGGING
156
    * Changed the default logging settings for the dispatcher to also log
157
      to /var/log/synnefo/dispatcher.log, redirecting stderr and stdout there
158

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

    
164
          https://github.com/dougbarth/amqp-utils
165

    
166
      and run the amqp-deleteq tool for each declared queue. Alternatively,
167
      amqp-utils can be installed with: sudo gem install amqp-utils.
168

    
169
UI
170
    * Feedback form now uses django native send_mail for sending emails.
171
      Proper django settings should be set for feedback mails to work
172
      (https://docs.djangoproject.com/en/dev/topics/email/)
173

    
174
COMPONENTS
175
    * snf-ganeti-tools must be rebuilt, see snf-ganeti-tools/debian/
176
      for Debian packaging.
177

    
178

    
179
v0.5.3 -> v0.5.4
180
REPOSITORY
181
    * Split Synnefo Ganeti tools to snf-ganeti-tools, with Debian packaging
182

    
183
REMOVED APPS
184
    * The ganeti/ app has been removed from the Django project completely.
185
      Any explicit references to it in Django settings must be removed.
186

    
187
DJANGO SETTINGS
188
    * snf-ganeti-tools is configured independently from Django,
189
      need to add proper /etc/synnefo/settings.conf
190
    * Removed 15-queues.conf: fix_amqp_settings (no need to call it anywhere)
191
    * Removed settings.d/98-ganeti-* due to split of snf-ganeti-tools
192
    * ~okeanos intro: OKEANOS_VIDEO_URL: Changed from string to dict
193
    * ~okeanos intro: OKEANOS_VIDEO_POSTER_IMAGE_URL: New setting
194
    * ~okeanos intro: OKEANOS_VIDEO_FLOWPLAYER_URL: New setting
195

    
196
DB MIGRATIONS
197
    * 0018_auto__add_field_virtualmachine_buildpercentage
198

    
199
PACKAGING
200
    * Split Synnefo Ganeti tools to separate snf-ganeti-tools Debian package
201

    
202
NEW DEPENDENCIES
203
    * python-prctl: Needed by the snf-progress-monitor,
204
      specified as a dependency of the snf-ganeti-tools Debian package.
205

    
206
EXTERNAL COMPONENTS
207
    * Ganeti Instance Image must be upgraded to support progress monitoring,
208
      please see README.deploy.
209

    
210

    
211
v0.5.2 -> v0.5.3
212
NEW SETTINGS
213
    * 30-ui.conf:LOGOUT_URL
214
    * 00-admins.conf:DEFAULT_FROM_EMAIL
215
    * 90-okeanos.conf.sample:LOGOUT_URL
216

    
217
REMOVED SETTINGS
218
    * 00-admins.conf:SYSTEM_EMAIL_ADDR
219
    * 90-okeanos.conf.sample:APP_INSTALL_URL
220

    
221

    
222
v0.5.1 -> v0.5.2
223
NEW SETTINGS
224
    * 10-backend.py:GANETI_CREATEINSTANCE_KWARGS
225

    
226
REMOVED SETTINGS
227
    * 10-backend.conf:GANETI_OS_PROVIDER
228
    * 20-api.conf:GANETI_DISK_TEMPLATE
229

    
230
BACKEND CHANGES
231
    * Need to patch Ganeti, file:
232
      lib/python2.6/site-packages/ganeti/rapi/rlib2.py
233
      to honor the wait_for_sync flag, see Synnefo #835.
234
      Patch provided under contrib/patches/ganeti-rlib2.py-v0.5.2