Statistics
| Branch: | Tag: | Revision:

root / Changelog @ c820a1e4

History | View | Annotate | Download (26.2 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
v0.14next
10
=========
11

    
12
Released: UNRELEASED
13

    
14
Synnefo-wide
15
------------
16

    
17
* Integrate Pithos tests in continuous integration.
18

    
19
* Change astakosclient to accept AUTH_URL instead of BASE_URL
20
  ASTAKOS_BASE_URL settings has been removed from Pithos and Cyclades
21
  and has been replaced with ASTAKOS_AUTH_URL. Both Pithos and Cyclades
22
  proxy the Astakos services under ASTAKOS_PROXY_PREFIX path.
23
  ASTAKOS_PROXY_PREFIX by default has a value of '_astakos'.
24
  More specifically, Astakos' identity service is proxied under
25
  '_astakos/identity', Astakos' account service is under '_astakos/account'
26
  and Astakos' ui service is under '_astakos/ui'.
27

    
28
* Add 'mail_admins' handler to 'django.request' logger in order to send email
29
  notifactions to users listed in 'ADMINS' setting about unhandled exceptions
30
  in the code.
31

    
32
* Extend astakosclient to request and validate OAuth 2.0 access tokens
33

    
34
Astakos
35
-------
36

    
37
* Changes in project schema:
38

    
39
  * A Project entry is created when submitting an application for a new
40
    project, rather than on approval. Its state is dependent on the state
41
    of its `reference' application (current definition). Lock Project rather
42
    than Chain (the latter is semantically obsolete).
43

    
44
  * Project states "Active - Pending" and "Suspended - Pending" have been
45
    removed. In management command `project-list', the existence of a pending
46
    modification is indicated by a non-blank `Pending AppID'.
47

    
48
  * Improve recording of project, application, and membership actions.
49

    
50
* Implement API calls for projects.
51

    
52
* Store the base URL of a component. Deployer should provide it when adding
53
  a new component. Service endpoints originating from a component are
54
  expected to match its base URL; otherwise, a warning is issued.
55
  Re-registration with `snf-component-register' affects both the base and
56
  the ui URL.
57

    
58
* Changes in resource and quota handling:
59

    
60
  * New resources are registered with unlimited default base quota,
61
    represented by 2**63-1.
62
  * Each newly accepted user copies the default value for all resources
63
    as their own base quota. A base quota is considered 'custom' if its
64
    value differs from the default.
65
  * Changing resource's default quota affects the base quota *only* of
66
    future users.
67
  * Resource definition got flags 'api_visible' and 'ui_visible',
68
    replacing flag 'allow_in_projects'. They control whether a user can
69
    access these resources. The system internally always accounts for
70
    all resources, and a user can get off quota even for a resource that
71
    is not visible.
72

    
73
* Remove API call GET /account/v1.0/authenticate in favor of
74
  POST /identity/v2.0/tokens.
75

    
76
* Export basic statistics about Astakos service from '/admin/stats/detail' API
77
  endpoint. Access to this endpoint is only allowed to users that belong to
78
  the Astakos groups that are defined in the
79
  'ASTAKOS_ADMIN_STATS_PERMITTED_GROUPS' setting. Statistics are also availble
80
  from 'snf-manage stats-astakos' management command.
81

    
82
* Implement OAuth 2.0 Authorization Code Grant
83
  Add API calls for authorization code and access token generation
84

    
85
* Add API call for validating OAuth 2.0 access tokens
86

    
87
* Management commands:
88
  * Introduced new commands:
89
     * component-show
90
     * quota-list (replacing quota, supports various filters)
91
     * quota-verify (replacing quota)
92
	 * oauth2-client-add (register OAuth 2.0 client)
93
	 * oauth2-client-list (list registered oauth 2.0 clients)
94
	 * oauth2-client-remove (remove OAuth 2.0 client)
95
  * Changed commands:
96
     * component-add got options --base-url and --ui-url
97
     * resource-modify --limit became --default-quota
98
     * user-modify can operate on multiple users with --all and --exclude
99
     * user-modify --set-base-quota became --base-quota
100
  * Removed commands:
101
     * quota
102
     * resource-import (subsumed by service-import)
103
     * resource-export-astakos (subsumed by service-export-astakos)
104

    
105
Cyclades
106
--------
107

    
108
* Major changes to Cyclades networks:
109

    
110
  * Implement 'cyclades_network' service, containing the /networks, /ports,
111
    /subnets and /floatingips API endpoints under '/network/v2.0'.
112
	The old /networks API of 'cyclades_compute' (under /compute/v2.0) is
113
	removed.
114
  * Implement `snf-manage subnet-{create, list, modify, inspect}' management
115
    commands for handling of subnets.
116
  * Implement `snf-manage port-{create, list, remove, inspect}' management
117
    commands for handling of ports.
118
  * Add two new settings, 'CYCLADES_FORCED_SERVER_NETWORKS' and
119
	'CYCLADES_DEFAULT_SERVER_NETWORKS' to control the networks that newly
120
	created servers will be connected.
121

    
122
* Implement Floating IP addresses, which are IPv4 addresses that can be
123
  dynamically added and removed to a running server.
124

    
125
  * Add new 'cyclades.floating_ip' resource.
126
  * Implement 'snf-manage floating-ip-{create,list,remove,attach,detach}'
127
	management commands to handle floating IPs.
128
  * Add 'floating_ip_pool' attribute to networks to mark networks that can
129
    be used as floating IP pools.
130

    
131
* Implement 'resize' server action.
132

    
133
  * Implement the 'resize' server action, to change the flavor of a server.
134
  Only 'cpu' and 'memory' resizing is supported.
135

    
136
* Compute quotas for CPU and memory of running vms.
137

    
138
  * Change 'cyclades.cpu' and 'cyclades.ram' resources to represent the CPU
139
    and RAM for running VMs. Total CPU and RAM usage is represented by new
140
    'cyclades.total_cpu' and 'cyclades.total_ram' resources.
141

    
142
* Refer to Ganeti NICs by their name instead of their index.
143

    
144
  * Make cyclades give a unique name to each Ganeti NIC. NICs are refered by
145
    their unique name and not by their index inside the VM that are connected
146
	to.
147

    
148
* Support firewall profile for all NICs of an instance. Change firewall
149
  settings to be filled with the unique name of the NIC. The affected settings
150
  are the GANETI_FIREWALL_{ENABLED, DISABLED, PROTECTED}_TAG settings.
151
* Add accounting for public IP addresses that is accessible via `snf-manage
152
  ip-list` management command and via the helpdesk app.
153
* Implement IPv6 only networks.
154
* Extend servers info API response with 'SNF:fqdn' attribute, and introduce
155
  CYCLADES_SERVERS_FQDN to set the template for servers FDQN. Remove
156
  'UI_VM_HOSTNAME_FORMAT' setting.
157
* Extend servers info API response with 'SNF:port_forwarding' attribute,
158
  describing port fowarding rules (DNAT) that are applied to vms. The
159
  description of such rules is done via the new CYCLADES_PORT_FORWARDING
160
  setting.
161
* Speed up server reconciliation, by performing parallel reconciliation for
162
  each backend.
163
* Change --dhcp option of network management commands from a flag to a boolean
164
  value, e.g. --dhcp=True
165
* Remove 'ARCHIPELAGO_BACKENDS' setting used to distinquish between backends
166
  that hosted only archipelago backends. Instead allocation is based on which
167
  disk-templates are enabled in each backend.
168
* Implement 'snf-manage server-remove' management command.
169
* Move reconciliation of IP pools from 'reconcile-networks' to
170
  'reconcile-pools'. The IP pool reconciliation does not reconcile the IP
171
  pools with Ganeti. Instead it checks if the pool is consistent with the
172
  IPs that are used by instances.
173
* Do not automatically release externally reserved IPs if they are released
174
  from a Ganeti backend. Management of externally reserved IPs must be
175
  performed from Cyclades with 'network-modify' command.
176
* Export basic statistics about Cyclades Service from '/admin/stats/detail'
177
  API endpoint. Access to this endpoint is only allowed to users that belong
178
  to the Astakos groups that are defined in the 'ADMIN_STATS_PERMITTED_GROUPS'
179
  setting.  Statistics are also availble from 'snf-manage stats-cyclades'
180
  management command.
181
* Support enforcing quota through command 'enforce-resources-cyclades'.
182
* Remove command 'resource-export-cyclades' subsumed by
183
  'service-export-cyclades'.
184
* Obsolete PUBLIC_USE_POOL setting, since Cyclades manages IP pool for all
185
  type of networks.
186
* Encrypt / decrypt the instance id / hostname in the  stats URL in
187
  snf-cyclades-app and snf-stats-app, using the 'CYCLADES_STATS_SECRET_KEY'
188
  and 'STATS_SECRET_KEY' respectively.
189
* Add support for snf-vncauthproxy-1.5 and the setting
190
  'CYCLADES_VNCAUTHPROXY_OPTS', which configures the extra options / arguments
191
  needed by the newer version of snf-vncauthproxy. Support for older versions
192
  of snf-vncauthproxy has been dropped. See also the upgrade notes for Synnefo
193
  and snf-vncauthproxy-1.5.
194

    
195

    
196
Cyclades UI
197
-----------
198

    
199
- Retrieve all networks information from the introduced cyclades network
200
  service.
201
- New IPs pane from which user can manage floating IPs.
202
- Redesign public keys overlay as an additional pane view.
203
- Split networking configuration into an additional step in machine create 
204
  wizard.
205
- Display forced networks and choices of the available floating IPs which will 
206
  be assigned to the created machine.
207
- Support for machine resize action. Explicit handling when machine is started
208
  by displaying an utility shutdown button within the resize overlay.
209
- Machine IPs toggling subview in icon/single views.
210
- Replace IPv4/IPv6 with machine's FQDN in icon/single view. When no FQDN can 
211
  be resolved display a message. Message can be configured using the introduced 
212
  ``UI_NO_FQDN_MESSAGE``. Setting ``UI_VM_HOSTNAME_FORMAT`` has been removed 
213
  and no longer used.
214
- Respect ``SNF:task_state`` machine attribute in order to improve machine
215
  status display.
216
- Append software version as a url parameter in HTML static files in order 
217
  to force browser cache invalidation between versions.
218
- Configurable Google fonts base url. Fonts base url can be changed usint the 
219
  ``SYNNEFO_FONTS_BASE_URL`` setting.
220
- Regression fix: Display reboot required notification on machine firewall
221
  parameters.
222
- Handling of ``GANETI_USE_HOTPLUG`` setting. Do not allow live network actions 
223
  when setting is set to ``False``.
224
- Double escaping fix in machine create wizard images list and machine details 
225
  subview.
226
- Fix image ordering in machine create wizard.
227

    
228

    
229
Pithos
230
------
231

    
232
* Management commands:
233
  * Introduced new command:
234
     * file-show
235

    
236
* Change view authentication
237
  The pithos views do not use the cookie information for user authentication.
238
  They request (from Astakos) and use a short-term access token for a
239
  specific resource.
240

    
241
* Remove PITHOS_ASTAKOS_COOKIE_NAME setting, since it is no longer useful
242

    
243
* Add PITHOS_OAUTH2_CLIENT_CREDENTIALS setting to authenticate the views with
244
  astakos during the resource access token generation procedure
245

    
246
* Add PITHOS_SERVE_API_DOMAIN setting to restrict file serving endpoints to a
247
  specific host
248

    
249
* Refactor metadata schema (table attributes) in Pithos DB to speedup current
250
objects by domain attribute. This is used by Plankton for listing VM images.
251

    
252
* Enforce container-level atomicity in (most) Pithos API calls.
253

    
254
* Remove command 'resource-export-pithos' subsumed by 'service-export-pithos'.
255

    
256
.. _Changelog-0.14.10:
257

    
258
v0.14.10
259
=======
260

    
261
Released: Tue Nov 26 11:03:37 EET 2013
262

    
263
Cyclades
264
-------
265

    
266
* This is the first release to support Ganeti 2.8. Support for older versions
267
  of Ganeti is dropped.
268
* Use Ganeti opportunistic locking to achive parallelized instance creations
269
  in the same backend. Add setting 'GANETI_USE_OPPORTUNISTIC_LOCKING' to
270
  enable the use of this feature.
271
* Fix warning message while getting object permissions to appear only when
272
  path is None and the object has permissions
273
* Add name to newly created NICs and the corresponding firewall tags.
274

    
275
.. _Changelog-0.14.9:
276

    
277
v0.14.9
278
=======
279

    
280
Released: Mon Nov 11 12:13:31 EET 2013
281

    
282
* Astakos: Fix minor problems with logging in the Astakos module, which could
283
  lead to unexpected exceptions
284

    
285
.. _Changelog-0.14.8:
286

    
287
v0.14.8
288
=======
289

    
290
Released: Fri Nov  8 17:25:08 EET 2013
291

    
292
Synnefo-wide
293
------------
294

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

    
302
Cyclades
303
--------
304

    
305
* On VM creation, pass the hashmap of the image (pithosmap://) instead of the
306
  image URL (pithos://). Access to the Pithos DB by Ganeti nodes is no longer
307
  required.
308
* Workaround race between server creation and server deletion. This will be
309
  fixed properly by updating Ganeti to support the 'depends' attribute for
310
  OP_INSTANCE_REMOVE.
311

    
312
Astakos
313
-------
314

    
315
* For Shibboleth logins, store all attributes along with the user in the DB.
316

    
317
.. _Changelog-0.14.7:
318

    
319
v0.14.7
320
=======
321

    
322
Released: Wed Sep 18 17:50:12 EEST 2013
323

    
324
Cyclades
325
--------
326

    
327
* Fix bug in helpdesk view
328

    
329
.. _Changelog-0.14.6:
330

    
331
v0.14.6
332
=======
333

    
334
Released: Wed Sep 18 16:18:58 EEST 2013
335

    
336
Pithos
337
------
338

    
339
* Substitute the PITHOS_BACKEND_QUOTA setting with two
340
  distinct settings: PITHOS_BACKEND_ACCOUNT_QUOTA &
341
  PITHOS_BACKEND_CONTAINER_QUOTA
342
* Set PITHOS_BACKEND_CONTAINER_QUOTA default value to 0 (unlimited)
343
* Fix bug that resulted in DB deadlocks.
344

    
345
Cyclades
346
--------
347

    
348
* Fix bug in snf-dispatcher that resulted in servers to be deleted from the
349
  DB even if the corresponding Ganeti job failed.
350

    
351
Branding
352
--------
353

    
354
* Add new BRANDING_FOOTER_EXTRA_MESSAGE setting.
355

    
356

    
357
.. _Changelog-0.14.5:
358

    
359
v0.14.5
360
=======
361

    
362
Released: Wed Aug  7 11:19:49 EEST 2013
363

    
364
Pithos
365
------
366

    
367
* Fix security issue with handling Pithos versions.
368

    
369

    
370
.. _Changelog-0.14.4:
371

    
372
v0.14.4
373
=======
374

    
375
Released: Mon Jul 29 12:24:22 EEST 2013
376

    
377
Pithos
378
------
379

    
380
* Fix bug in reconcile resources management command.
381

    
382

    
383
.. _Changelog-0.14.3:
384

    
385
v0.14.3
386
=======
387

    
388
Released: Thu Jul 25 12:22:47 EEST 2013
389

    
390
Synnefo-wide
391
------------
392

    
393
* Use the SYNNEFO_TRACE environmental variable to control whether the greenlet
394
  tracing code will get loaded or not.
395
* Split the HIDDEN_COOKIES setting in HIDDEN_HEADERS and HIDDEN_COOKIES, and
396
  add the MAIL_MAX_LEN setting, to limit the mail size for unhandled
397
  exceptions.
398

    
399

    
400
.. _Changelog-0.14.2:
401

    
402
Released: Fri Jul 12 13:13:32 EEST 2013
403

    
404
v0.14.2
405
=======
406

    
407
Cyclades
408
--------
409

    
410
* Add new setting PITHOS_BACKEND_POOL_SIZE, which configures the size
411
  of the pool of Pithos backends that are used by plankton.
412

    
413

    
414

    
415
.. _Changelog-0.14:
416

    
417
v0.14
418
=====
419

    
420
Released: Tue Jun 25 14:01:19 EEST 2013
421

    
422
Synnefo-wide
423
------------
424

    
425
* Create 'snf_django' Python package to hold common code for all Synnefo
426
  components.
427

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

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

    
437
* Deprecate CLOUDBAR_ACTIVE_SERVICE setting from all apps. 
438

    
439
* Common synnefo 404/500 templates (located in snf-webproject)
440

    
441
Astakos
442
-------
443

    
444
* Redesign of the accounting system (quotaholder) and integration into
445
  Astakos.
446

    
447
  * Simplified the quotaholder model; removed tables Entity and Policy; now
448
    table Holding contains limit and usage for every holding.
449
  * Extended table Holding, so that we can keep track of quota for every
450
    valid combination of holder (e.g. user), resource, and source (e.g. the
451
    default system or some specific project).
452
  * Refactored code for issuing and resolving commissions for robustness;
453
    added a 'force' option to bypass the upper limit check when issuing a
454
    commission.
455
  * Simplified syncing to the quotaholder; removed fields from models
456
    Project and ProjectMembership, previously needed for syncing; removed
457
    state PROJECT_DEACTIVATED from ProjectMembership.
458
  * Removed settings ASTAKOS_QUOTAHOLDER_URL, ASTAKOS_QUOTAHOLDER_TOKEN,
459
    and ASTAKOS_QUOTAHOLDER_POOLSIZE.
460

    
461
* API-related changes:
462

    
463
  * Implemented API calls for quota, resources, and commissions.
464
  * Moved all API calls under '/account/v1.0'.
465
  * Implemented the keystone API call POST /tokens under '/identity/v2.0'.
466

    
467
* Service and resource specification and handling:
468

    
469
  * Specified a format for defining services along with the API endpoints
470
    and the resources they expose. Migrated internal resource name by
471
    prefixing it with service name (e.g. 'vm' becomes 'cyclades.vm');
472
    renamed registered service 'pithos+' to 'pithos'.
473
  * Specified a procedure to register a Synnefo component, its services and
474
    their resources in astakos and set the resources' default base quota
475
    limit. Removed resource definitions from settings.
476
  * Moved service and resource presentation data out of the respective db
477
    models into a separate file of UI constants.
478

    
479
* Converted the limit on pending applications from a setting to a quotable
480
  resource. Converted the related user setting to a user-specific base quota
481
  limit. Deprecated model UserSetting; removed setting
482
  ASTAKOS_PENDING_APPLICATION_LIMIT.
483

    
484
* Changes in locking strategy:
485

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

    
491
* Changes in views:
492

    
493
  * Replaced custom transaction context with a simple decorator for managing
494
    transactions and a context 'ExceptionHandler', which logs and suppresses
495
    exceptions
496

    
497
* Added fine grain user auth provider's policies.
498

    
499
  * Administrator can override default auth provider policies to a specific 
500
    user or group of users.
501
  * Optionally a user can be assigned to a list of groups, based on the
502
    authentication method he choosed to signup.
503

    
504
* Removed explicit handling of SMTP errors on each email delivery. Exceptions 
505
  are now propagated to base django exception handler.
506

    
507
* Email used in html/email tempaltes which prompt user to contact for service 
508
  support prompts is now defined in ``CONTACT_EMAIL`` setting introduced in 
509
  snf-common settings.
510

    
511
* Improvements in user activation flow
512

    
513
  * User moderation now takes place after the user has verified his email
514
    address.
515
  * User model enriched with additional user state fields
516
  * Split activation email from moderation process. Administrator is required 
517
    to moderate user explicitly using the `user-modify --accept` or
518
    `user-modify --reject` commands.
519
  * Improved logging throught out user activation procedures.
520

    
521
* Remove deprecated AstakosUser model fields: `provider`,
522
  `third_party_identifier`
523

    
524
* Allow override of authentication provider messages using the following 
525
  format in setting names: ``ASTAKOS_<PROVIDER_MODULE>_<MSGID>_MSG``
526

    
527
* Cloudbar automatically tries to identify the active service based on window 
528
  location.
529

    
530
* Removing authentication provider view is now CSRF protected.
531

    
532
* New `API access` view, containing useful information to users on how to 
533
  access available Synnefo services API's.
534

    
535
* Remove of ASTAKOS_*_EMAIL_SUBJECT settings. All email subjects are now 
536
  defined in astakos.im.messages module. Overriding default values can be 
537
  achieved using custom gettext files or using astakos messages settings::
538
	
539
	#change of greeting email subject
540
  	ASTAKOS_GREETING_EMAIL_SUBJECT_MESSAGE = 'Welcome to my cloud'
541

    
542
* Remove ``ASTAKOS_ACTIVATION_REDIRECT_URL`` and ``ASTAKOS_LOGIN_SUCCESS_URL`` 
543
  from astakos .conf file. Settings are dynamically computed based on 
544
  ``ASTAKOS_BASE_URL``.
545

    
546
* Management commands:
547

    
548
  * Introduced new commands:
549
     * authpolicy-{add, list, remove, set, show}
550
     * group-{add, list}
551
     * component-{add, list, modify, remove}
552
     * reconcile-resources-astakos
553
     * resource-{export-astakos, import, modify}
554
     * service-{export-astakos, import, show}
555
  * Renamed commands:
556
     * astakos-quota to quota
557
     * user-update to user-modify
558
     * full-cleanup to cleanup-full
559
  * Removed commands:
560
     * astakos-init
561
     * invitation-{details, list}
562
     * project-sync
563
     * resource-{add, remove}
564
     * service-{add, remove, token-renew, update}
565
     * user-invite
566
     * user-set-initial-quota (integrated its functionality in user-modify and quota)
567
  * Added quota and project-related information in user-show command; added
568
    membership information in project-show.
569

    
570
Cyclades
571
--------
572

    
573
* Make 'type' attribute required for network create API request.
574
* Networks not created to all Ganeti backends upon creation, they are instead
575
  created to a backend only when a VM connects to the network.
576
* Add 'CYCLADES_ASTAKOSCLIENT_POOLSIZE' setting which tunes the size of the
577
  http connection pool to astakos.
578
* Remove 'CYCLADES_USER_CATALOG_URL' and 'CYCLADES_USER_FEEDBACK_URL' settings
579
* Remove CYCLADES_USE_QUOTAHOLDER, CYCLADES_QUOTAHOLDER_TOKEN,
580
  CYCLADES_QUOTAHOLDER_URL, CYCLADES_QUOTAHOLDER_POOLSIZE settings
581
* Rename 'cyclades-usage-verify' management command to
582
  'reconcile-resources-cyclades'. Also, remove 'cyclades-usage-reset' command,
583
  which is equivalent to 'reconcile-resources-cyclades --fix'.
584
* Rename 'cyclades-reconcile-commissions' management command to
585
  'reconcile-commissions-cyclades'.
586
* Remove obsolete 'MAX_VMS_PER_USER', 'MAX_NETWORKS_PER_USER',
587
  "VMS_USER_QUOTA" and "NETWORKS_USER_QUOTA" settings, since their usage
588
  is covered by Quotaholder.
589
* Remove obsolete setting 'API_ROOT_URL', since it is being covered by
590
  the use of CYCLADES_BASE_URL* Remove obsolete setting 'API_ROOT_URL', since
591
  it is being covered by 'CYCLADES_BASE_URL'.
592
* Remove obsolete settings GANETI_DISK_TEMPLATES and
593
  DEFAULT_GANETI_DISK_TEMPLATE
594

    
595
Cyclades helpdesk
596
-----------------
597

    
598
* Additional start/stop vm action
599
* Display extend backend info in vm's view
600
* Fixed IP lookup
601

    
602
Pithos
603
------
604

    
605
* Remove PITHOS_AUTHENTICATION_USERS setting, which was used to override
606
  astakos users.
607
* Remove 'PITHOS_USER_CATALOG_URL', 'PITHOS_USER_FEEDBACK_URL' and
608
  'PITHOS_USER_LOGIN_URL' settings.
609
* Remove PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL,
610
  PITHOS_QUOTAHOLDER_TOKEN and PITHOS_ASTAKOSCLIENT_POOLSIZE
611

    
612
Tools
613
-----
614

    
615

    
616
.. _Changelog-0.13:
617

    
618
v0.13
619
=====
620

    
621
Released: Wed Apr 10 18:52:50 EEST 2013
622

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

    
629
Synnefo-wide
630
------------
631

    
632
* Support for pooling throughout Synnefo
633

    
634
  * Pooled Django DB connections, Pithos backend connections, HTTP
635
    connections using single `objpool` package
636

    
637
* Improved management commands
638

    
639
  * Unified codebase for output of tables in JSON, CSV
640

    
641
* Bring most of Synnefo code inside a single, unified repository
642

    
643
  * support automatic Python and Debian package builds for individual commits
644
  * with automatic version generation
645

    
646
* Overhauling of Synnefo settings: renames and refactoring, for increased
647
  uniformity (in progress)
648
* Deployment: Standardize on gunicorn, with gevent-based workers
649
  and use of Green threads throughout Synnefo
650
* Documentation: New scale-out guide, with distinct node roles,
651
  for mass Synnefo deployments
652

    
653
Astakos
654
-------
655

    
656
* Support multiple authentication methods
657

    
658
  * Classic (username/password), Shibboleth, LDAP/Active Directory,
659
    Google, Twitter, LinkedIn
660
  * Users can enable/disable auth methods, and switch between them
661

    
662
* Introduce a UUID as a global identifier for users, throughout Synnefo
663

    
664
  * The UUID remains constant as the user enables/disables login methods
665

    
666
* Allow users to modify their email address freely
667
* Per-user, per-resource accounting mechanism (quotaholder)
668
* Full quota support, with per-user, per-resource quotas, based on quotaholder
669
* Projects: Users can create and join Projects
670

    
671
  * Projects grant extra resources to their members
672

    
673
* UI Enhancements for quotas and projects
674

    
675
  * distinct Usage tab, showing usage of individual resources
676
  * Project management UI
677
  * New Overview page
678

    
679
* refactored/improved /login endpoint used by desktop/mobile clients.
680
  * endpoint url is now exposed by `weblogin` service
681
  * clients should use unauthenticated identity/tokens api to resolve the 
682
    endpoint url
683
  * view only allows redirects to `pithos://` scheme urls
684
  * removed uuid from redirect parameters. Client should use authenticated 
685
    request to identity/tokens to retrieve user uuid.
686

    
687

    
688
Cyclades
689
--------
690

    
691
* Commission resources on quotaholder/Astakos
692
* Support mass creation of flavors
693
* Support for the ExtStorage disk template in Ganeti
694
* Query and report quotas in the UI
695
* Pass VM configuration parameters over a VM-side API (`vmapi`)
696

    
697
  * Do not pass sensitive data as Ganeti OS parameters
698
  * Keep sensitive data in memory caches (memcached) and
699
    never allow them to hit the disk
700

    
701
* Display additional backend information in helpdesk machines list
702
* Allow helpdesk users to search for an account using a known machine id
703
* Helpdesk actions are now logged using the synnefo's common login
704
  infrastructure
705

    
706
UI
707
^^
708
* Removed feedback endpoint. Feedback requests delegate to astakos feedback
709
  service. ``FEEDBACK_CONTACTS``, ``FEEDBACK_EMAIL_FROM`` settings removed, 
710
  and no longer used.
711
* ``UI_LOGIN_URL``, ``UI_GLANCE_URL``, ``COMPUTE_URL`` settings no longer 
712
  required to be set and are dynamically computed based on ``ASTAKOS_BASE_URL``
713
  and ``CYCLADES_BASE_URL`` settings.
714
* File group is no longer included in ssh keys personality metadata sent in 
715
  create vm calls.
716
  
717

    
718
Pithos
719
------
720

    
721
* Support storage of blocks on a RADOS backend, for Archipelago
722

    
723
  * new settings:
724
    PITHOS_RADOS_STORAGE, PITHOS_RADOS_POOL_BLOCKS, PITHOS_RADOS_POOL_MAPS
725

    
726
* X-Object-Public now contains full url (domain + proper component prefix + 
727
  file path)
728

    
729
* Rewritten support for public URLs, with admin-selectable length
730

    
731
  * new settings:
732
    PITHOS_PUBLIC_URL_SECURITY, PITHOS_PUBLIC_URL_ALPHABET
733

    
734
* Enable pithos backend to use external quotaholder component
735

    
736
  * new settings:
737
    PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL, PITHOS_QUOTAHOLDER_TOKEN,
738
    PITHOS_QUOTAHOLDER_POOLSIZE
739

    
740
* Moderated version debiting mechanism
741

    
742
  * new setting:
743
    PITHOS_BACKEND_FREE_VERSIONING
744

    
745
* Proxy Astakos user-visible services
746

    
747
  * new settings:
748
    PITHOS_PROXY_USER_SERVICES, PITHOS_USER_CATALOG_URL,
749
    PITHOS_USER_FEEDBACK_URL, PITHOS_USER_LOGIN_URL
750

    
751
Tools
752
-----
753

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