Statistics
| Branch: | Tag: | Revision:

root / Changelog @ a1d0bacb

History | View | Annotate | Download (29.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
.. _Changelog-0.15rc6:
10

    
11
v0.15rc6
12
========
13

    
14
Released: Thu Feb 27 13:08:02 EET 2014
15

    
16
* Fix backend open hashfile bug:
17
  https://code.grnet.gr/issues/5011
18

    
19

    
20
.. _Changelog-0.15rc5:
21

    
22
v0.15rc5
23
========
24

    
25
Released: Wed Feb 26 15:27:10 EET 2014
26

    
27
Astakos
28
-------
29

    
30
* Fix request authorization code failures due to Unicode issue:
31
  https://code.grnet.gr/issues/4971
32
* Omit validation issues for non-required metadata values received from the
33
  third party authentication provider.
34

    
35

    
36
Pithos
37
------
38

    
39
* Extend API to optionally enforce a specific content disposition type
40
  in view and public requests: https://code.grnet.gr/issues/5019
41

    
42
* Fix bulk operation (delete/copy/move) failures in overpopulated
43
  containers/folders: https://code.grnet.gr/issues/5119
44

    
45
* Fix performance issue due to missing index
46

    
47
Cyclades
48
--------
49

    
50
* Extend flavors with 'allow_create' attribute. Flavors that have this
51
  attribute unset cannot be used by users to create new servers.
52
* Store each image property(metadata) as a separate Pithos metadata and check
53
  that the size of each property is valid.
54
* Fix a few occurrences of HTTP 500 errors being triggered due to insufficient
55
  validation of incoming requests in the Network API
56
* Speed up some API calls by fixing the relevant DB queries
57

    
58
.. _Changelog-0.15rc4:
59

    
60
v0.15rc4
61
========
62

    
63
Released: Wed Jan 15 10:56:10 EET 2014
64

    
65
Synnefo-wide
66
------------
67

    
68
* Integrate Pithos tests in continuous integration.
69

    
70
* Change astakosclient to accept AUTH_URL instead of BASE_URL
71
  ASTAKOS_BASE_URL settings has been removed from Pithos and Cyclades
72
  and has been replaced with ASTAKOS_AUTH_URL. Both Pithos and Cyclades
73
  proxy the Astakos services under ASTAKOS_PROXY_PREFIX path.
74
  ASTAKOS_PROXY_PREFIX by default has a value of '_astakos'.
75
  More specifically, Astakos' identity service is proxied under
76
  '_astakos/identity', Astakos' account service is under '_astakos/account'
77
  and Astakos' ui service is under '_astakos/ui'.
78

    
79
* Add 'mail_admins' handler to 'django.request' logger in order to send email
80
  notifications to users listed in 'ADMINS' setting about unhandled exceptions
81
  in the code.
82

    
83
* Extend astakosclient to request and validate OAuth 2.0 access tokens
84

    
85
* Change response status code from 400 (Bad Request) to 405 (Not allowed
86
  method) in case of an unexpected request method.
87

    
88
Astakos
89
-------
90

    
91
* Changes in project schema:
92

    
93
  * A Project entry is created when submitting an application for a new
94
    project, rather than on approval. Its state is dependent on the state
95
    of its `reference' application (current definition). Lock Project rather
96
    than Chain (the latter is semantically obsolete).
97

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

    
102
  * Improve recording of project, application, and membership actions.
103

    
104
* Implement API calls for projects.
105

    
106
* Store the base URL of a component. Deployer should provide it when adding
107
  a new component. Service endpoints originating from a component are
108
  expected to match its base URL; otherwise, a warning is issued.
109
  Re-registration with `snf-component-register' affects both the base and
110
  the ui URL.
111

    
112
* Changes in resource and quota handling:
113

    
114
  * New resources are registered with unlimited default base quota,
115
    represented by 2**63-1.
116
  * Each newly accepted user copies the default value for all resources
117
    as their own base quota. A base quota is considered 'custom' if its
118
    value differs from the default.
119
  * Changing resource's default quota affects the base quota *only* of
120
    future users.
121
  * Resource definition got flags 'api_visible' and 'ui_visible',
122
    replacing flag 'allow_in_projects'. They control whether a user can
123
    access these resources. The system internally always accounts for
124
    all resources, and a user can get off quota even for a resource that
125
    is not visible.
126

    
127
* Remove API call GET /account/v1.0/authenticate in favor of
128
  POST /identity/v2.0/tokens.
129

    
130
* Export basic statistics about Astakos service from '/admin/stats/detail' API
131
  endpoint. Access to this endpoint is only allowed to users that belong to
132
  the Astakos groups that are defined in the
133
  'ASTAKOS_ADMIN_STATS_PERMITTED_GROUPS' setting. Statistics are also available
134
  from 'snf-manage stats-astakos' management command.
135

    
136
* Implement OAuth 2.0 Authorization Code Grant
137
  Add API calls for authorization code and access token generation
138

    
139
* Add API call for validating OAuth 2.0 access tokens
140

    
141
* **Shibboleth module** Extract unique identifier from the
142
  ``REMOTE_USER`` header.
143

    
144
* Automatically fill third party signup form fields when available by the
145
  the third party provider.
146

    
147
* Management commands:
148

    
149
  * Introduced new commands:
150
	* component-show
151
	* quota-list (replacing quota, supports various filters)
152
	* quota-verify (replacing quota)
153
	* oauth2-client-add (register OAuth 2.0 client)
154
	* oauth2-client-list (list registered oauth 2.0 clients)
155
	* oauth2-client-remove (remove OAuth 2.0 client)
156
  * Changed commands:
157
	* component-add got options --base-url and --ui-url
158
	* resource-modify --limit became --default-quota
159
	* user-modify can operate on multiple users with --all and --exclude
160
	* user-modify --set-base-quota became --base-quota
161
  * Removed commands:
162
	* quota
163
	* resource-import (subsumed by service-import)
164
	* resource-export-astakos (subsumed by service-export-astakos)
165

    
166
Cyclades
167
--------
168

    
169
* Major changes to Cyclades networks:
170

    
171
  * Implement 'cyclades_network' service, containing the /networks, /ports,
172
    /subnets and /floatingips API endpoints under '/network/v2.0'. The old
173
    /networks API of 'cyclades_compute' (under /compute/v2.0) is
174
    removed.
175
  * Implement `snf-manage subnet-{create, list, modify, inspect}' management
176
    commands for handling of subnets.
177
  * Implement `snf-manage port-{create, list, remove, inspect}' management
178
    commands for handling of ports.
179
  * Add two new settings, 'CYCLADES_FORCED_SERVER_NETWORKS' and
180
    'CYCLADES_DEFAULT_SERVER_NETWORKS' to control the networks that newly
181
    created servers will be connected.
182

    
183
* Implement Floating IP addresses, which are IPv4 addresses that can be
184
  dynamically added and removed to a running server.
185

    
186
  * Add new 'cyclades.floating_ip' resource.
187
  * Implement 'snf-manage floating-ip-{create,list,remove,attach,detach}'
188
    management commands to handle floating IPs.
189
  * Add 'floating_ip_pool' attribute to networks to mark networks that can
190
    be used as floating IP pools.
191

    
192
* Implement 'resize' server action.
193

    
194
  * Implement the 'resize' server action, to change the flavor of a server.
195
    Only 'cpu' and 'memory' resizing is supported.
196

    
197
* Compute quotas for CPU and memory of running vms.
198

    
199
  * Change 'cyclades.cpu' and 'cyclades.ram' resources to represent the CPU
200
    and RAM for running VMs. Total CPU and RAM usage is represented by new
201
    'cyclades.total_cpu' and 'cyclades.total_ram' resources.
202

    
203
* Refer to Ganeti NICs by their name instead of their index.
204

    
205
  * Make cyclades give a unique name to each Ganeti NIC. NICs are refered by
206
    their unique name and not by their index inside the VM that are connected
207
    to.
208

    
209
* Support firewall profile for all NICs of an instance. Change firewall
210
  settings to be filled with the unique name of the NIC. The affected settings
211
  are the GANETI_FIREWALL_{ENABLED, DISABLED, PROTECTED}_TAG settings.
212
* Add accounting for public IP addresses that is accessible via `snf-manage
213
  ip-list` management command and via the helpdesk app.
214
* Implement IPv6 only networks.
215
* Extend servers info API response with 'SNF:fqdn' attribute, and introduce
216
  CYCLADES_SERVERS_FQDN to set the template for servers FDQN. Remove
217
  'UI_VM_HOSTNAME_FORMAT' setting.
218
* Extend servers info API response with 'SNF:port_forwarding' attribute,
219
  describing port forwarding rules (DNAT) that are applied to vms. The
220
  description of such rules is done via the new CYCLADES_PORT_FORWARDING
221
  setting.
222
* Speed up server reconciliation, by performing parallel reconciliation for
223
  each backend.
224
* Change --dhcp option of network management commands from a flag to a boolean
225
  value, e.g. --dhcp=True
226
* Remove 'ARCHIPELAGO_BACKENDS' setting used to distinguish between backends
227
  that hosted only archipelago backends. Instead allocation is based on which
228
  disk-templates are enabled in each backend.
229
* Implement 'snf-manage server-remove' management command.
230
* Move reconciliation of IP pools from 'reconcile-networks' to
231
  'reconcile-pools'. The IP pool reconciliation does not reconcile the IP
232
  pools with Ganeti. Instead it checks if the pool is consistent with the
233
  IPs that are used by instances.
234
* Do not automatically release externally reserved IPs if they are released
235
  from a Ganeti backend. Management of externally reserved IPs must be
236
  performed from Cyclades with 'network-modify' command.
237
* Export basic statistics about Cyclades Service from '/admin/stats/detail'
238
  API endpoint. Access to this endpoint is only allowed to users that belong
239
  to the Astakos groups that are defined in the 'ADMIN_STATS_PERMITTED_GROUPS'
240
  setting.  Statistics are also available from 'snf-manage stats-cyclades'
241
  management command.
242
* Support enforcing quota through command 'enforce-resources-cyclades'.
243
* Remove command 'resource-export-cyclades' subsumed by
244
  'service-export-cyclades'.
245
* Obsolete PUBLIC_USE_POOL setting, since Cyclades manages IP pool for all
246
  type of networks.
247
* Encrypt / decrypt the instance id / hostname in the  stats URL in
248
  snf-cyclades-app and snf-stats-app, using the 'CYCLADES_STATS_SECRET_KEY'
249
  and 'STATS_SECRET_KEY' respectively.
250
* Add support for snf-vncauthproxy-1.5 and the setting
251
  'CYCLADES_VNCAUTHPROXY_OPTS', which configures the extra options / arguments
252
  needed by the newer version of snf-vncauthproxy. Support for older versions
253
  of snf-vncauthproxy has been dropped. See also the upgrade notes for Synnefo
254
  and snf-vncauthproxy-1.5.
255
* Remove 'DEFAULT_ROUTING_TABLE' setting. If a link for an IP_LESS_ROUTED
256
  network is not specified, the link will be uniquely named
257
  'snf-link-$network_id'.
258

    
259

    
260
Cyclades UI
261
-----------
262

    
263
- Retrieve all networks information from the introduced cyclades network
264
  service.
265
- New IPs pane from which user can manage floating IPs.
266
- Redesign public keys overlay as an additional pane view.
267
- Split networking configuration into an additional step in machine create
268
  wizard.
269
- Display forced networks and choices of the available floating IPs which will
270
  be assigned to the created machine.
271
- Support for machine resize action. Explicit handling when machine is started
272
  by displaying an utility shutdown button within the resize overlay.
273
- Machine IPs toggling subview in icon/single views.
274
- Replace IPv4/IPv6 with machine's FQDN in icon/single view. When no FQDN can
275
  be resolved display a message. Message can be configured using the introduced
276
  ``UI_NO_FQDN_MESSAGE``. Setting ``UI_VM_HOSTNAME_FORMAT`` has been removed
277
  and no longer used.
278
- Respect ``SNF:task_state`` machine attribute in order to improve machine
279
  status display.
280
- Append software version as a url parameter in HTML static files in order
281
  to force browser cache invalidation between versions.
282
- Configurable Google fonts base url. Fonts base url can be changed usint the
283
  ``SYNNEFO_FONTS_BASE_URL`` setting.
284
- Regression fix: Display reboot required notification on machine firewall
285
  parameters.
286
- Handling of ``GANETI_USE_HOTPLUG`` setting. Do not allow live network actions
287
  when setting is set to ``False``.
288
- Double escaping fix in machine create wizard images list and machine details
289
  subview.
290
- Fix image ordering in machine create wizard.
291
- New setting ``UI_SSH_SUPPORT_OSFAMILY_EXCLUDE_LIST``. A list of image OS
292
  families for which ui will disable ssh key injection in machine wizard.
293
- Setting ``UI_SUPPORT_SSH_OS_LIST`` removed and no longer used.
294
- Group public networks by name if setting ``UI_GROUP_PUBLIC_NETWORKS`` is set 
295
  to True.
296
- Setting ``UI_GROUPED_PUBLIC_NETWORK_NAME`` has been deprecated and no longer 
297
  used.
298

    
299

    
300
Cyclades Userdata
301
-----------------
302

    
303
- Maximum allowed length of ssh key content. Configurable from the 
304
  ``USERDATA_SSH_KEY_MAX_CONTENT_SIZE`` setting.
305

    
306

    
307
Pithos
308
------
309

    
310
* Rewrite tests.
311
* Performance optimizations in object listing.
312
* Introduce backend method decorator for handling transaction management if no
313
  transaction is initiated from the frontend.
314
* Fix Internal Server Errors https://code.grnet.gr/issues/4501 &
315
  https://code.grnet.gr/issues/4502.
316
* Fix REQUEST ENTITY TOO LARGE request failure during move operations
317
  https://code.grnet.gr/issues/4154.
318
* Fix FORBIDDEN request failure while listing implicitly shared objects
319
  https://code.grnet.gr/issues/4131.
320
* Fix issue with the computed size of an updated object.
321
* Reply with the Merkle hash in the ETag header if MD5 is deactivated.
322
* Reply with FORBIDDEN (403) to public listing requests performed by non path
323
  owners.
324
* Change response status to NOT FOUND (404) while trying to delete an
325
  already deleted object.
326
* Change SQLAlchemy version to 0.7
327
* Change view authorization
328
  The pithos views do not use the cookie information for user authentication.
329
  They request (from Astakos) and use a short-term access token for a
330
  specific resource.
331
* Remove PITHOS_ASTAKOS_COOKIE_NAME setting, since it is no longer useful
332
* Add PITHOS_OAUTH2_CLIENT_CREDENTIALS setting to authenticate the views with
333
  astakos during the resource access token generation procedure
334
* Add PITHOS_UNSAFE_DOMAIN setting to restrict file serving endpoints to a
335
  specific host
336
* Added new 'file-show' management command
337
* Remove command 'resource-export-pithos' subsumed by 'service-export-pithos'.
338

    
339
.. _Changelog-0.14.10:
340

    
341
v0.14.10
342
=======
343

    
344
Released: Tue Nov 26 11:03:37 EET 2013
345

    
346
Cyclades
347
-------
348

    
349
* This is the first release to support Ganeti 2.8. Support for older versions
350
  of Ganeti is dropped.
351
* Use Ganeti opportunistic locking to achive parallelized instance creations
352
  in the same backend. Add setting 'GANETI_USE_OPPORTUNISTIC_LOCKING' to
353
  enable the use of this feature.
354
* Fix warning message while getting object permissions to appear only when
355
  path is None and the object has permissions
356
* Add name to newly created NICs and the corresponding firewall tags.
357

    
358
.. _Changelog-0.14.9:
359

    
360
v0.14.9
361
=======
362

    
363
Released: Mon Nov 11 12:13:31 EET 2013
364

    
365
* Astakos: Fix minor problems with logging in the Astakos module, which could
366
  lead to unexpected exceptions
367

    
368
.. _Changelog-0.14.8:
369

    
370
v0.14.8
371
=======
372

    
373
Released: Fri Nov  8 17:25:08 EET 2013
374

    
375
Synnefo-wide
376
------------
377

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

    
385
Cyclades
386
--------
387

    
388
* On VM creation, pass the hashmap of the image (pithosmap://) instead of the
389
  image URL (pithos://). Access to the Pithos DB by Ganeti nodes is no longer
390
  required.
391
* Workaround race between server creation and server deletion. This will be
392
  fixed properly by updating Ganeti to support the 'depends' attribute for
393
  OP_INSTANCE_REMOVE.
394

    
395
Astakos
396
-------
397

    
398
* For Shibboleth logins, store all attributes along with the user in the DB.
399

    
400
.. _Changelog-0.14.7:
401

    
402
v0.14.7
403
=======
404

    
405
Released: Wed Sep 18 17:50:12 EEST 2013
406

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

    
410
* Fix bug in helpdesk view
411

    
412
.. _Changelog-0.14.6:
413

    
414
v0.14.6
415
=======
416

    
417
Released: Wed Sep 18 16:18:58 EEST 2013
418

    
419
Pithos
420
------
421

    
422
* Substitute the PITHOS_BACKEND_QUOTA setting with two
423
  distinct settings: PITHOS_BACKEND_ACCOUNT_QUOTA &
424
  PITHOS_BACKEND_CONTAINER_QUOTA
425
* Set PITHOS_BACKEND_CONTAINER_QUOTA default value to 0 (unlimited)
426
* Fix bug that resulted in DB deadlocks.
427

    
428
Cyclades
429
--------
430

    
431
* Fix bug in snf-dispatcher that resulted in servers to be deleted from the
432
  DB even if the corresponding Ganeti job failed.
433

    
434
Branding
435
--------
436

    
437
* Add new BRANDING_FOOTER_EXTRA_MESSAGE setting.
438

    
439

    
440
.. _Changelog-0.14.5:
441

    
442
v0.14.5
443
=======
444

    
445
Released: Wed Aug  7 11:19:49 EEST 2013
446

    
447
Pithos
448
------
449

    
450
* Fix security issue with handling Pithos versions.
451

    
452

    
453
.. _Changelog-0.14.4:
454

    
455
v0.14.4
456
=======
457

    
458
Released: Mon Jul 29 12:24:22 EEST 2013
459

    
460
Pithos
461
------
462

    
463
* Fix bug in reconcile resources management command.
464

    
465

    
466
.. _Changelog-0.14.3:
467

    
468
v0.14.3
469
=======
470

    
471
Released: Thu Jul 25 12:22:47 EEST 2013
472

    
473
Synnefo-wide
474
------------
475

    
476
* Use the SYNNEFO_TRACE environmental variable to control whether the greenlet
477
  tracing code will get loaded or not.
478
* Split the HIDDEN_COOKIES setting in HIDDEN_HEADERS and HIDDEN_COOKIES, and
479
  add the MAIL_MAX_LEN setting, to limit the mail size for unhandled
480
  exceptions.
481

    
482

    
483
.. _Changelog-0.14.2:
484

    
485
Released: Fri Jul 12 13:13:32 EEST 2013
486

    
487
v0.14.2
488
=======
489

    
490
Cyclades
491
--------
492

    
493
* Add new setting PITHOS_BACKEND_POOL_SIZE, which configures the size
494
  of the pool of Pithos backends that are used by plankton.
495

    
496
Pithos
497
------
498

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

    
502

    
503
.. _Changelog-0.14:
504

    
505
v0.14
506
=====
507

    
508
Released: Tue Jun 25 14:01:19 EEST 2013
509

    
510
Synnefo-wide
511
------------
512

    
513
* Create 'snf_django' Python package to hold common code for all Synnefo
514
  components.
515

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

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

    
525
* Deprecate CLOUDBAR_ACTIVE_SERVICE setting from all apps.
526

    
527
* Common synnefo 404/500 templates (located in snf-webproject)
528

    
529
Astakos
530
-------
531

    
532
* Redesign of the accounting system (quotaholder) and integration into
533
  Astakos.
534

    
535
  * Simplified the quotaholder model; removed tables Entity and Policy; now
536
    table Holding contains limit and usage for every holding.
537
  * Extended table Holding, so that we can keep track of quota for every
538
    valid combination of holder (e.g. user), resource, and source (e.g. the
539
    default system or some specific project).
540
  * Refactored code for issuing and resolving commissions for robustness;
541
    added a 'force' option to bypass the upper limit check when issuing a
542
    commission.
543
  * Simplified syncing to the quotaholder; removed fields from models
544
    Project and ProjectMembership, previously needed for syncing; removed
545
    state PROJECT_DEACTIVATED from ProjectMembership.
546
  * Removed settings ASTAKOS_QUOTAHOLDER_URL, ASTAKOS_QUOTAHOLDER_TOKEN,
547
    and ASTAKOS_QUOTAHOLDER_POOLSIZE.
548

    
549
* API-related changes:
550

    
551
  * Implemented API calls for quota, resources, and commissions.
552
  * Moved all API calls under '/account/v1.0'.
553
  * Implemented the keystone API call POST /tokens under '/identity/v2.0'.
554

    
555
* Service and resource specification and handling:
556

    
557
  * Specified a format for defining services along with the API endpoints
558
    and the resources they expose. Migrated internal resource name by
559
    prefixing it with service name (e.g. 'vm' becomes 'cyclades.vm');
560
    renamed registered service 'pithos+' to 'pithos'.
561
  * Specified a procedure to register a Synnefo component, its services and
562
    their resources in astakos and set the resources' default base quota
563
    limit. Removed resource definitions from settings.
564
  * Moved service and resource presentation data out of the respective db
565
    models into a separate file of UI constants.
566

    
567
* Converted the limit on pending applications from a setting to a quotable
568
  resource. Converted the related user setting to a user-specific base quota
569
  limit. Deprecated model UserSetting; removed setting
570
  ASTAKOS_PENDING_APPLICATION_LIMIT.
571

    
572
* Changes in locking strategy:
573

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

    
579
* Changes in views:
580

    
581
  * Replaced custom transaction context with a simple decorator for managing
582
    transactions and a context 'ExceptionHandler', which logs and suppresses
583
    exceptions
584

    
585
* Added fine grain user auth provider's policies.
586

    
587
  * Administrator can override default auth provider policies to a specific
588
    user or group of users.
589
  * Optionally a user can be assigned to a list of groups, based on the
590
    authentication method he choosed to signup.
591

    
592
* Removed explicit handling of SMTP errors on each email delivery. Exceptions
593
  are now propagated to base django exception handler.
594

    
595
* Email used in html/email tempaltes which prompt user to contact for service
596
  support prompts is now defined in ``CONTACT_EMAIL`` setting introduced in
597
  snf-common settings.
598

    
599
* Improvements in user activation flow
600

    
601
  * User moderation now takes place after the user has verified his email
602
    address.
603
  * User model enriched with additional user state fields
604
  * Split activation email from moderation process. Administrator is required
605
    to moderate user explicitly using the `user-modify --accept` or
606
    `user-modify --reject` commands.
607
  * Improved logging throught out user activation procedures.
608

    
609
* Remove deprecated AstakosUser model fields: `provider`,
610
  `third_party_identifier`
611

    
612
* Allow override of authentication provider messages using the following
613
  format in setting names: ``ASTAKOS_<PROVIDER_MODULE>_<MSGID>_MSG``
614

    
615
* Cloudbar automatically tries to identify the active service based on window
616
  location.
617

    
618
* Removing authentication provider view is now CSRF protected.
619

    
620
* New `API access` view, containing useful information to users on how to
621
  access available Synnefo services API's.
622

    
623
* Remove of ASTAKOS_*_EMAIL_SUBJECT settings. All email subjects are now
624
  defined in astakos.im.messages module. Overriding default values can be
625
  achieved using custom gettext files or using astakos messages settings::
626

    
627
	#change of greeting email subject
628
  	ASTAKOS_GREETING_EMAIL_SUBJECT_MESSAGE = 'Welcome to my cloud'
629

    
630
* Remove ``ASTAKOS_ACTIVATION_REDIRECT_URL`` and ``ASTAKOS_LOGIN_SUCCESS_URL``
631
  from astakos .conf file. Settings are dynamically computed based on
632
  ``ASTAKOS_BASE_URL``.
633

    
634
* Management commands:
635

    
636
  * Introduced new commands:
637
     * authpolicy-{add, list, remove, set, show}
638
     * group-{add, list}
639
     * component-{add, list, modify, remove}
640
     * reconcile-resources-astakos
641
     * resource-{export-astakos, import, modify}
642
     * service-{export-astakos, import, show}
643
  * Renamed commands:
644
     * astakos-quota to quota
645
     * user-update to user-modify
646
     * full-cleanup to cleanup-full
647
  * Removed commands:
648
     * astakos-init
649
     * invitation-{details, list}
650
     * project-sync
651
     * resource-{add, remove}
652
     * service-{add, remove, token-renew, update}
653
     * user-invite
654
     * user-set-initial-quota (integrated its functionality in user-modify and quota)
655
  * Added quota and project-related information in user-show command; added
656
    membership information in project-show.
657

    
658
Cyclades
659
--------
660

    
661
* Make 'type' attribute required for network create API request.
662
* Networks not created to all Ganeti backends upon creation, they are instead
663
  created to a backend only when a VM connects to the network.
664
* Add 'CYCLADES_ASTAKOSCLIENT_POOLSIZE' setting which tunes the size of the
665
  http connection pool to astakos.
666
* Remove 'CYCLADES_USER_CATALOG_URL' and 'CYCLADES_USER_FEEDBACK_URL' settings
667
* Remove CYCLADES_USE_QUOTAHOLDER, CYCLADES_QUOTAHOLDER_TOKEN,
668
  CYCLADES_QUOTAHOLDER_URL, CYCLADES_QUOTAHOLDER_POOLSIZE settings
669
* Rename 'cyclades-usage-verify' management command to
670
  'reconcile-resources-cyclades'. Also, remove 'cyclades-usage-reset' command,
671
  which is equivalent to 'reconcile-resources-cyclades --fix'.
672
* Rename 'cyclades-reconcile-commissions' management command to
673
  'reconcile-commissions-cyclades'.
674
* Remove obsolete 'MAX_VMS_PER_USER', 'MAX_NETWORKS_PER_USER',
675
  "VMS_USER_QUOTA" and "NETWORKS_USER_QUOTA" settings, since their usage
676
  is covered by Quotaholder.
677
* Remove obsolete setting 'API_ROOT_URL', since it is being covered by
678
  the use of CYCLADES_BASE_URL* Remove obsolete setting 'API_ROOT_URL', since
679
  it is being covered by 'CYCLADES_BASE_URL'.
680
* Remove obsolete settings GANETI_DISK_TEMPLATES and
681
  DEFAULT_GANETI_DISK_TEMPLATE
682

    
683
Cyclades helpdesk
684
-----------------
685

    
686
* Additional start/stop vm action
687
* Display extend backend info in vm's view
688
* Fixed IP lookup
689

    
690
Pithos
691
------
692

    
693
* Remove PITHOS_AUTHENTICATION_USERS setting, which was used to override
694
  astakos users.
695
* Remove 'PITHOS_USER_CATALOG_URL', 'PITHOS_USER_FEEDBACK_URL' and
696
  'PITHOS_USER_LOGIN_URL' settings.
697
* Remove PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL,
698
  PITHOS_QUOTAHOLDER_TOKEN and PITHOS_ASTAKOSCLIENT_POOLSIZE
699

    
700
* Enforce container-level atomicity in (most) Pithos API calls.
701

    
702

    
703
Tools
704
-----
705

    
706

    
707
.. _Changelog-0.13:
708

    
709
v0.13
710
=====
711

    
712
Released: Wed Apr 10 18:52:50 EEST 2013
713

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

    
720
Synnefo-wide
721
------------
722

    
723
* Support for pooling throughout Synnefo
724

    
725
  * Pooled Django DB connections, Pithos backend connections, HTTP
726
    connections using single `objpool` package
727

    
728
* Improved management commands
729

    
730
  * Unified codebase for output of tables in JSON, CSV
731

    
732
* Bring most of Synnefo code inside a single, unified repository
733

    
734
  * support automatic Python and Debian package builds for individual commits
735
  * with automatic version generation
736

    
737
* Overhauling of Synnefo settings: renames and refactoring, for increased
738
  uniformity (in progress)
739
* Deployment: Standardize on gunicorn, with gevent-based workers
740
  and use of Green threads throughout Synnefo
741
* Documentation: New scale-out guide, with distinct node roles,
742
  for mass Synnefo deployments
743

    
744
Astakos
745
-------
746

    
747
* Support multiple authentication methods
748

    
749
  * Classic (username/password), Shibboleth, LDAP/Active Directory,
750
    Google, Twitter, LinkedIn
751
  * Users can enable/disable auth methods, and switch between them
752

    
753
* Introduce a UUID as a global identifier for users, throughout Synnefo
754

    
755
  * The UUID remains constant as the user enables/disables login methods
756

    
757
* Allow users to modify their email address freely
758
* Per-user, per-resource accounting mechanism (quotaholder)
759
* Full quota support, with per-user, per-resource quotas, based on quotaholder
760
* Projects: Users can create and join Projects
761

    
762
  * Projects grant extra resources to their members
763

    
764
* UI Enhancements for quotas and projects
765

    
766
  * distinct Usage tab, showing usage of individual resources
767
  * Project management UI
768
  * New Overview page
769

    
770
* refactored/improved /login endpoint used by desktop/mobile clients.
771
  * endpoint url is now exposed by `weblogin` service
772
  * clients should use unauthenticated identity/tokens api to resolve the
773
    endpoint url
774
  * view only allows redirects to `pithos://` scheme urls
775
  * removed uuid from redirect parameters. Client should use authenticated
776
    request to identity/tokens to retrieve user uuid.
777

    
778

    
779
Cyclades
780
--------
781

    
782
* Commission resources on quotaholder/Astakos
783
* Support mass creation of flavors
784
* Support for the ExtStorage disk template in Ganeti
785
* Query and report quotas in the UI
786
* Pass VM configuration parameters over a VM-side API (`vmapi`)
787

    
788
  * Do not pass sensitive data as Ganeti OS parameters
789
  * Keep sensitive data in memory caches (memcached) and
790
    never allow them to hit the disk
791

    
792
* Display additional backend information in helpdesk machines list
793
* Allow helpdesk users to search for an account using a known machine id
794
* Helpdesk actions are now logged using the synnefo's common login
795
  infrastructure
796

    
797
UI
798
^^
799
* Removed feedback endpoint. Feedback requests delegate to astakos feedback
800
  service. ``FEEDBACK_CONTACTS``, ``FEEDBACK_EMAIL_FROM`` settings removed,
801
  and no longer used.
802
* ``UI_LOGIN_URL``, ``UI_GLANCE_URL``, ``COMPUTE_URL`` settings no longer
803
  required to be set and are dynamically computed based on ``ASTAKOS_BASE_URL``
804
  and ``CYCLADES_BASE_URL`` settings.
805
* File group is no longer included in ssh keys personality metadata sent in
806
  create vm calls.
807

    
808

    
809
Pithos
810
------
811

    
812
* Support storage of blocks on a RADOS backend, for Archipelago
813

    
814
  * new settings:
815
    PITHOS_RADOS_STORAGE, PITHOS_RADOS_POOL_BLOCKS, PITHOS_RADOS_POOL_MAPS
816

    
817
* X-Object-Public now contains full url (domain + proper component prefix +
818
  file path)
819

    
820
* Rewritten support for public URLs, with admin-selectable length
821

    
822
  * new settings:
823
    PITHOS_PUBLIC_URL_SECURITY, PITHOS_PUBLIC_URL_ALPHABET
824

    
825
* Enable pithos backend to use external quotaholder component
826

    
827
  * new settings:
828
    PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL, PITHOS_QUOTAHOLDER_TOKEN,
829
    PITHOS_QUOTAHOLDER_POOLSIZE
830

    
831
* Moderated version debiting mechanism
832

    
833
  * new setting:
834
    PITHOS_BACKEND_FREE_VERSIONING
835

    
836
* Proxy Astakos user-visible services
837

    
838
  * new settings:
839
    PITHOS_PROXY_USER_SERVICES, PITHOS_USER_CATALOG_URL,
840
    PITHOS_USER_FEEDBACK_URL, PITHOS_USER_LOGIN_URL
841

    
842
Tools
843
-----
844

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