Statistics
| Branch: | Tag: | Revision:

root / Changelog @ 033321fb

History | View | Annotate | Download (15 kB)

1
.. _Changelog:
2

    
3
Unified Changelog file for Synnefo versions >= 0.13
4
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
5

    
6
Since v0.13 most of the Synnefo components have been merged into a single
7
repository and have aligned versions.
8

    
9
.. _Changelog-0.14.9:
10

    
11
v0.14.9
12
=======
13

    
14
Released: UNRELEASED
15

    
16
Astakos
17
-------
18

    
19
* Astakos: Fix minor problems with logging in the Astakos module, which could
20
  lead to unexpected exceptions
21

    
22
.. _Changelog-0.14.8:
23

    
24
v0.14.8
25
=======
26

    
27
Released: Fri Nov  8 17:25:08 EET 2013
28

    
29
Synnefo-wide
30
------------
31

    
32
* This is the first release to support Debian Wheezy along with Squeeze. You
33
  can mix and match nodes freely.
34
* Update Django dependency to Django>=1.2,<1.5. Django 1.4.5 is available for
35
  Squeeze through squeeze-backports.
36
* Since this version, Synnefo ships an example Gunicorn configuration file
37
  that is automatically installed at ``/etc/gunicorn.d/synnefo.example``.
38

    
39
Cyclades
40
--------
41

    
42
* On VM creation, pass the hashmap of the image (pithosmap://) instead of the
43
  image URL (pithos://). Access to the Pithos DB by Ganeti nodes is no longer
44
  required.
45
* Workaround race between server creation and server deletion. This will be
46
  fixed properly by updating Ganeti to support the 'depends' attribute for
47
  OP_INSTANCE_REMOVE.
48

    
49
Astakos
50
-------
51

    
52
* For Shibboleth logins, store all attributes along with the user in the DB.
53

    
54
.. _Changelog-0.14.7:
55

    
56
v0.14.7
57
=======
58

    
59
Released: Wed Sep 18 17:50:12 EEST 2013
60

    
61
Cyclades
62
--------
63

    
64
* Fix bug in helpdesk view
65

    
66

    
67
.. _Changelog-0.14.6:
68

    
69
v0.14.6
70
=======
71

    
72
Released: Wed Sep 18 16:18:58 EEST 2013
73

    
74
Pithos
75
------
76

    
77
* Substitute the PITHOS_BACKEND_QUOTA setting with two
78
  distinct settings: PITHOS_BACKEND_ACCOUNT_QUOTA &
79
  PITHOS_BACKEND_CONTAINER_QUOTA
80
* Set PITHOS_BACKEND_CONTAINER_QUOTA default value to 0 (unlimited)
81
* Fix bug that resulted in DB deadlocks.
82

    
83
Cyclades
84
--------
85

    
86
* Fix bug in snf-dispatcher that resulted in servers to be deleted from the
87
  DB even if the corresponding Ganeti job failed.
88

    
89
Branding
90
--------
91

    
92
* Add new BRANDING_FOOTER_EXTRA_MESSAGE setting.
93

    
94
.. _Changelog-0.14.5:
95

    
96
v0.14.5
97
=======
98

    
99
Released: Wed Aug  7 11:19:49 EEST 2013
100

    
101
Pithos
102
------
103

    
104
* Fix security issue with handling Pithos versions.
105

    
106
.. _Changelog-0.14.4:
107

    
108
v0.14.4
109
=======
110

    
111
Released: Mon Jul 29 12:24:22 EEST 2013
112

    
113
Pithos
114
------
115

    
116
* Fix bug in reconcile resources management command.
117

    
118

    
119
.. _Changelog-0.14.3:
120

    
121
v0.14.3
122
=======
123

    
124
Released: Thu Jul 25 12:22:47 EEST 2013
125

    
126
Synnefo-wide
127
------------
128

    
129
* Use the SYNNEFO_TRACE environmental variable to control whether the greenlet
130
  tracing code will get loaded or not.
131
* Split the HIDDEN_COOKIES setting in HIDDEN_HEADERS and HIDDEN_COOKIES, and
132
  add the MAIL_MAX_LEN setting, to limit the mail size for unhandled
133
  exceptions.
134

    
135

    
136
.. _Changelog-0.14.2:
137

    
138
v0.14.2
139
=======
140

    
141
Released: Fri Jul 12 13:13:32 EEST 2013
142

    
143
Cyclades
144
--------
145

    
146
* Add new setting PITHOS_BACKEND_POOL_SIZE, which configures the size
147
  of the pool of Pithos backends that are used by plankton.
148

    
149
.. _Changelog-0.14:
150

    
151
v0.14
152
=====
153

    
154
Released: Tue Jun 25 14:01:19 EEST 2013
155

    
156
Synnefo-wide
157
------------
158

    
159
* Create 'snf_django' Python package to hold common code for all Synnefo
160
  components.
161

    
162
* Create a JSON-exportable definition document for each Synnefo Components
163
  (Astakos, Cyclades, Pithos, etc.) that consolidates APIs (services),
164
  resources, and other standardized properties (e.g. default URL prefixes).
165

    
166
* Standardize URLs for Synnefo Components, impose structure and naming
167
  conventions to related settings. Make each component deployable under
168
  a user-configurable <COMPONENT>_BASE_URL. Each API (compute, image, etc.)
169
  is deployable under a developer-configurable prefix beneath BASE_URL.
170

    
171
* Deprecate CLOUDBAR_ACTIVE_SERVICE setting from all apps. 
172

    
173
* Common synnefo 404/500 templates (located in snf-webproject)
174

    
175
Astakos
176
-------
177

    
178
* Redesign of the accounting system (quotaholder) and integration into
179
  Astakos.
180

    
181
  * Simplified the quotaholder model; removed tables Entity and Policy; now
182
    table Holding contains limit and usage for every holding.
183
  * Extended table Holding, so that we can keep track of quota for every
184
    valid combination of holder (e.g. user), resource, and source (e.g. the
185
    default system or some specific project).
186
  * Refactored code for issuing and resolving commissions for robustness;
187
    added a 'force' option to bypass the upper limit check when issuing a
188
    commission.
189
  * Simplified syncing to the quotaholder; removed fields from models
190
    Project and ProjectMembership, previously needed for syncing; removed
191
    state PROJECT_DEACTIVATED from ProjectMembership.
192
  * Removed settings ASTAKOS_QUOTAHOLDER_URL, ASTAKOS_QUOTAHOLDER_TOKEN,
193
    and ASTAKOS_QUOTAHOLDER_POOLSIZE.
194

    
195
* API-related changes:
196

    
197
  * Implemented API calls for quota, resources, and commissions.
198
  * Moved all API calls under '/account/v1.0'.
199
  * Implemented the keystone API call POST /tokens under '/identity/v2.0'.
200

    
201
* Service and resource specification and handling:
202

    
203
  * Specified a format for defining services along with the API endpoints
204
    and the resources they expose. Migrated internal resource name by
205
    prefixing it with service name (e.g. 'vm' becomes 'cyclades.vm');
206
    renamed registered service 'pithos+' to 'pithos'.
207
  * Specified a procedure to register a Synnefo component, its services and
208
    their resources in astakos and set the resources' default base quota
209
    limit. Removed resource definitions from settings.
210
  * Moved service and resource presentation data out of the respective db
211
    models into a separate file of UI constants.
212

    
213
* Converted the limit on pending applications from a setting to a quotable
214
  resource. Converted the related user setting to a user-specific base quota
215
  limit. Deprecated model UserSetting; removed setting
216
  ASTAKOS_PENDING_APPLICATION_LIMIT.
217

    
218
* Changes in locking strategy:
219

    
220
  * Lock only project's chain for all project operations; lock user before
221
    syncing to quotaholder.
222
  * When locking multiple rows (e.g. users or holdings) include an ORDER BY
223
    clause in the query to impose ordering on locking.
224

    
225
* Changes in views:
226

    
227
  * Replaced custom transaction context with a simple decorator for managing
228
    transactions and a context 'ExceptionHandler', which logs and suppresses
229
    exceptions
230

    
231
* Added fine grain user auth provider's policies.
232

    
233
  * Administrator can override default auth provider policies to a specific 
234
    user or group of users.
235
  * Optionally a user can be assigned to a list of groups, based on the
236
    authentication method he choosed to signup.
237

    
238
* Removed explicit handling of SMTP errors on each email delivery. Exceptions 
239
  are now propagated to base django exception handler.
240

    
241
* Email used in html/email tempaltes which prompt user to contact for service 
242
  support prompts is now defined in ``CONTACT_EMAIL`` setting introduced in 
243
  snf-common settings.
244

    
245
* Improvements in user activation flow
246

    
247
  * User moderation now takes place after the user has verified his email
248
    address.
249
  * User model enriched with additional user state fields
250
  * Split activation email from moderation process. Administrator is required 
251
    to moderate user explicitly using the `user-modify --accept` or
252
    `user-modify --reject` commands.
253
  * Improved logging throught out user activation procedures.
254

    
255
* Remove deprecated AstakosUser model fields: `provider`,
256
  `third_party_identifier`
257

    
258
* Allow override of authentication provider messages using the following 
259
  format in setting names: ``ASTAKOS_<PROVIDER_MODULE>_<MSGID>_MSG``
260

    
261
* Cloudbar automatically tries to identify the active service based on window 
262
  location.
263

    
264
* Removing authentication provider view is now CSRF protected.
265

    
266
* New `API access` view, containing useful information to users on how to 
267
  access available Synnefo services API's.
268

    
269
* Remove of ASTAKOS_*_EMAIL_SUBJECT settings. All email subjects are now 
270
  defined in astakos.im.messages module. Overriding default values can be 
271
  achieved using custom gettext files or using astakos messages settings::
272
	
273
	#change of greeting email subject
274
  	ASTAKOS_GREETING_EMAIL_SUBJECT_MESSAGE = 'Welcome to my cloud'
275

    
276
* Remove ``ASTAKOS_ACTIVATION_REDIRECT_URL`` and ``ASTAKOS_LOGIN_SUCCESS_URL`` 
277
  from astakos .conf file. Settings are dynamically computed based on 
278
  ``ASTAKOS_BASE_URL``.
279

    
280
* Management commands:
281

    
282
  * Introduced new commands:
283
     * authpolicy-{add, list, remove, set, show}
284
     * group-{add, list}
285
     * component-{add, list, modify, remove}
286
     * reconcile-resources-astakos
287
     * resource-{export-astakos, import, modify}
288
     * service-{export-astakos, import, show}
289
  * Renamed commands:
290
     * astakos-quota to quota
291
     * user-update to user-modify
292
     * full-cleanup to cleanup-full
293
  * Removed commands:
294
     * astakos-init
295
     * invitation-{details, list}
296
     * project-sync
297
     * resource-{add, remove}
298
     * service-{add, remove, token-renew, update}
299
     * user-invite
300
     * user-set-initial-quota (integrated its functionality in user-modify and quota)
301
  * Added quota and project-related information in user-show command; added
302
    membership information in project-show.
303

    
304
Cyclades
305
--------
306

    
307
* Make 'type' attribute required for network create API request.
308
* Networks not created to all Ganeti backends upon creation, they are instead
309
  created to a backend only when a VM connects to the network.
310
* Add 'CYCLADES_ASTAKOSCLIENT_POOLSIZE' setting which tunes the size of the
311
  http connection pool to astakos.
312
* Remove 'CYCLADES_USER_CATALOG_URL' and 'CYCLADES_USER_FEEDBACK_URL' settings
313
* Remove CYCLADES_USE_QUOTAHOLDER, CYCLADES_QUOTAHOLDER_TOKEN,
314
  CYCLADES_QUOTAHOLDER_URL, CYCLADES_QUOTAHOLDER_POOLSIZE settings
315
* Rename 'cyclades-usage-verify' management command to
316
  'reconcile-resources-cyclades'. Also, remove 'cyclades-usage-reset' command,
317
  which is equivalent to 'reconcile-resources-cyclades --fix'.
318
* Rename 'cyclades-reconcile-commissions' management command to
319
  'reconcile-commissions-cyclades'.
320
* Remove obsolete 'MAX_VMS_PER_USER', 'MAX_NETWORKS_PER_USER',
321
  "VMS_USER_QUOTA" and "NETWORKS_USER_QUOTA" settings, since their usage
322
  is covered by Quotaholder.
323
* Remove obsolete setting 'API_ROOT_URL', since it is being covered by
324
  the use of CYCLADES_BASE_URL* Remove obsolete setting 'API_ROOT_URL', since
325
  it is being covered by 'CYCLADES_BASE_URL'.
326
* Remove obsolete settings GANETI_DISK_TEMPLATES and
327
  DEFAULT_GANETI_DISK_TEMPLATE
328

    
329
Cyclades helpdesk
330
-----------------
331

    
332
* Additional start/stop vm action
333
* Display extend backend info in vm's view
334
* Fixed IP lookup
335

    
336
Pithos
337
------
338

    
339
* Remove PITHOS_AUTHENTICATION_USERS setting, which was used to override
340
  astakos users.
341
* Remove 'PITHOS_USER_CATALOG_URL', 'PITHOS_USER_FEEDBACK_URL' and
342
  'PITHOS_USER_LOGIN_URL' settings.
343
* Remove PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL,
344
  PITHOS_QUOTAHOLDER_TOKEN and PITHOS_ASTAKOSCLIENT_POOLSIZE
345

    
346
Tools
347
-----
348

    
349

    
350
.. _Changelog-0.13:
351

    
352
v0.13
353
=====
354

    
355
Released: Wed Apr 10 18:52:50 EEST 2013
356

    
357
In v0.13 the code was very heavily refactored for increased uniformity since
358
most of the Synnefo components have been merged into a single repository. Thus,
359
**just for this version** we will not document a complete Changelog (features,
360
fixes, improvements, issues, setting changes), but rather just copy from the
361
`NEWS` file with minor additions wherever needed.
362

    
363
Synnefo-wide
364
------------
365

    
366
* Support for pooling throughout Synnefo
367

    
368
  * Pooled Django DB connections, Pithos backend connections, HTTP
369
    connections using single `objpool` package
370

    
371
* Improved management commands
372

    
373
  * Unified codebase for output of tables in JSON, CSV
374

    
375
* Bring most of Synnefo code inside a single, unified repository
376

    
377
  * support automatic Python and Debian package builds for individual commits
378
  * with automatic version generation
379

    
380
* Overhauling of Synnefo settings: renames and refactoring, for increased
381
  uniformity (in progress)
382
* Deployment: Standardize on gunicorn, with gevent-based workers
383
  and use of Green threads throughout Synnefo
384
* Documentation: New scale-out guide, with distinct node roles,
385
  for mass Synnefo deployments
386

    
387
Astakos
388
-------
389

    
390
* Support multiple authentication methods
391

    
392
  * Classic (username/password), Shibboleth, LDAP/Active Directory,
393
    Google, Twitter, LinkedIn
394
  * Users can enable/disable auth methods, and switch between them
395

    
396
* Introduce a UUID as a global identifier for users, throughout Synnefo
397

    
398
  * The UUID remains constant as the user enables/disables login methods
399

    
400
* Allow users to modify their email address freely
401
* Per-user, per-resource accounting mechanism (quotaholder)
402
* Full quota support, with per-user, per-resource quotas, based on quotaholder
403
* Projects: Users can create and join Projects
404

    
405
  * Projects grant extra resources to their members
406

    
407
* UI Enhancements for quotas and projects
408

    
409
  * distinct Usage tab, showing usage of individual resources
410
  * Project management UI
411
  * New Overview page
412

    
413
* refactored/improved /login endpoint used by desktop/mobile clients.
414
  * endpoint url is now exposed by `weblogin` service
415
  * clients should use unauthenticated identity/tokens api to resolve the 
416
    endpoint url
417
  * view only allows redirects to `pithos://` scheme urls
418
  * removed uuid from redirect parameters. Client should use authenticated 
419
    request to identity/tokens to retrieve user uuid.
420

    
421

    
422
Cyclades
423
--------
424

    
425
* Commission resources on quotaholder/Astakos
426
* Support mass creation of flavors
427
* Support for the ExtStorage disk template in Ganeti
428
* Query and report quotas in the UI
429
* Pass VM configuration parameters over a VM-side API (`vmapi`)
430

    
431
  * Do not pass sensitive data as Ganeti OS parameters
432
  * Keep sensitive data in memory caches (memcached) and
433
    never allow them to hit the disk
434

    
435
* Display additional backend information in helpdesk machines list
436
* Allow helpdesk users to search for an account using a known machine id
437
* Helpdesk actions are now logged using the synnefo's common login
438
  infrastructure
439

    
440
UI
441
^^
442
* Removed feedback endpoint. Feedback requests delegate to astakos feedback
443
  service. ``FEEDBACK_CONTACTS``, ``FEEDBACK_EMAIL_FROM`` settings removed, 
444
  and no longer used.
445
* ``UI_LOGIN_URL``, ``UI_GLANCE_URL``, ``COMPUTE_URL`` settings no longer 
446
  required to be set and are dynamically computed based on ``ASTAKOS_BASE_URL``
447
  and ``CYCLADES_BASE_URL`` settings.
448
* File group is no longer included in ssh keys personality metadata sent in 
449
  create vm calls.
450
  
451

    
452
Pithos
453
------
454

    
455
* Support storage of blocks on a RADOS backend, for Archipelago
456

    
457
  * new settings:
458
    PITHOS_RADOS_STORAGE, PITHOS_RADOS_POOL_BLOCKS, PITHOS_RADOS_POOL_MAPS
459

    
460
* X-Object-Public now contains full url (domain + proper component prefix + 
461
  file path)
462

    
463
* Rewritten support for public URLs, with admin-selectable length
464

    
465
  * new settings:
466
    PITHOS_PUBLIC_URL_SECURITY, PITHOS_PUBLIC_URL_ALPHABET
467

    
468
* Enable pithos backend to use external quotaholder component
469

    
470
  * new settings:
471
    PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL, PITHOS_QUOTAHOLDER_TOKEN,
472
    PITHOS_QUOTAHOLDER_POOLSIZE
473

    
474
* Moderated version debiting mechanism
475

    
476
  * new setting:
477
    PITHOS_BACKEND_FREE_VERSIONING
478

    
479
* Proxy Astakos user-visible services
480

    
481
  * new settings:
482
    PITHOS_PROXY_USER_SERVICES, PITHOS_USER_CATALOG_URL,
483
    PITHOS_USER_FEEDBACK_URL, PITHOS_USER_LOGIN_URL
484

    
485
Tools
486
-----
487

    
488
* Extend snf-burnin to include testing of Pithos functionality