Statistics
| Branch: | Tag: | Revision:

root / Changelog @ 14ea344e

History | View | Annotate | Download (29.1 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.15rc5:
10

    
11
v0.15rc5
12
========
13

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

    
16
Astakos
17
-------
18

    
19
* Fix request authorization code failures due to Unicode issue:
20
  https://code.grnet.gr/issues/4971
21
* Omit validation issues for non-required metadata values received from the
22
  third party authentication provider.
23

    
24

    
25
Pithos
26
------
27

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

    
31
* Fix bulk operation (delete/copy/move) failures in overpopulated
32
  containers/folders: https://code.grnet.gr/issues/5119
33

    
34
* Fix performance issue due to missing index
35

    
36
* Fix backend open hashfile bug
37
  https://code.grnet.gr/issues/5011
38

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

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

    
50
.. _Changelog-0.15rc4:
51

    
52
v0.15rc4
53
========
54

    
55
Released: Wed Jan 15 10:56:10 EET 2014
56

    
57
Synnefo-wide
58
------------
59

    
60
* Integrate Pithos tests in continuous integration.
61

    
62
* Change astakosclient to accept AUTH_URL instead of BASE_URL
63
  ASTAKOS_BASE_URL settings has been removed from Pithos and Cyclades
64
  and has been replaced with ASTAKOS_AUTH_URL. Both Pithos and Cyclades
65
  proxy the Astakos services under ASTAKOS_PROXY_PREFIX path.
66
  ASTAKOS_PROXY_PREFIX by default has a value of '_astakos'.
67
  More specifically, Astakos' identity service is proxied under
68
  '_astakos/identity', Astakos' account service is under '_astakos/account'
69
  and Astakos' ui service is under '_astakos/ui'.
70

    
71
* Add 'mail_admins' handler to 'django.request' logger in order to send email
72
  notifications to users listed in 'ADMINS' setting about unhandled exceptions
73
  in the code.
74

    
75
* Extend astakosclient to request and validate OAuth 2.0 access tokens
76

    
77
* Change response status code from 400 (Bad Request) to 405 (Not allowed
78
  method) in case of an unexpected request method.
79

    
80
Astakos
81
-------
82

    
83
* Changes in project schema:
84

    
85
  * A Project entry is created when submitting an application for a new
86
    project, rather than on approval. Its state is dependent on the state
87
    of its `reference' application (current definition). Lock Project rather
88
    than Chain (the latter is semantically obsolete).
89

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

    
94
  * Improve recording of project, application, and membership actions.
95

    
96
* Implement API calls for projects.
97

    
98
* Store the base URL of a component. Deployer should provide it when adding
99
  a new component. Service endpoints originating from a component are
100
  expected to match its base URL; otherwise, a warning is issued.
101
  Re-registration with `snf-component-register' affects both the base and
102
  the ui URL.
103

    
104
* Changes in resource and quota handling:
105

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

    
119
* Remove API call GET /account/v1.0/authenticate in favor of
120
  POST /identity/v2.0/tokens.
121

    
122
* Export basic statistics about Astakos service from '/admin/stats/detail' API
123
  endpoint. Access to this endpoint is only allowed to users that belong to
124
  the Astakos groups that are defined in the
125
  'ASTAKOS_ADMIN_STATS_PERMITTED_GROUPS' setting. Statistics are also available
126
  from 'snf-manage stats-astakos' management command.
127

    
128
* Implement OAuth 2.0 Authorization Code Grant
129
  Add API calls for authorization code and access token generation
130

    
131
* Add API call for validating OAuth 2.0 access tokens
132

    
133
* **Shibboleth module** Extract unique identifier from the
134
  ``REMOTE_USER`` header.
135

    
136
* Automatically fill third party signup form fields when available by the
137
  the third party provider.
138

    
139
* Management commands:
140

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

    
158
Cyclades
159
--------
160

    
161
* Major changes to Cyclades networks:
162

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

    
175
* Implement Floating IP addresses, which are IPv4 addresses that can be
176
  dynamically added and removed to a running server.
177

    
178
  * Add new 'cyclades.floating_ip' resource.
179
  * Implement 'snf-manage floating-ip-{create,list,remove,attach,detach}'
180
    management commands to handle floating IPs.
181
  * Add 'floating_ip_pool' attribute to networks to mark networks that can
182
    be used as floating IP pools.
183

    
184
* Implement 'resize' server action.
185

    
186
  * Implement the 'resize' server action, to change the flavor of a server.
187
    Only 'cpu' and 'memory' resizing is supported.
188

    
189
* Compute quotas for CPU and memory of running vms.
190

    
191
  * Change 'cyclades.cpu' and 'cyclades.ram' resources to represent the CPU
192
    and RAM for running VMs. Total CPU and RAM usage is represented by new
193
    'cyclades.total_cpu' and 'cyclades.total_ram' resources.
194

    
195
* Refer to Ganeti NICs by their name instead of their index.
196

    
197
  * Make cyclades give a unique name to each Ganeti NIC. NICs are refered by
198
    their unique name and not by their index inside the VM that are connected
199
    to.
200

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

    
251

    
252
Cyclades UI
253
-----------
254

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

    
291

    
292
Cyclades Userdata
293
-----------------
294

    
295
- Maximum allowed length of ssh key content. Configurable from the 
296
  ``USERDATA_SSH_KEY_MAX_CONTENT_SIZE`` setting.
297

    
298

    
299
Pithos
300
------
301

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

    
331
.. _Changelog-0.14.10:
332

    
333
v0.14.10
334
=======
335

    
336
Released: Tue Nov 26 11:03:37 EET 2013
337

    
338
Cyclades
339
-------
340

    
341
* This is the first release to support Ganeti 2.8. Support for older versions
342
  of Ganeti is dropped.
343
* Use Ganeti opportunistic locking to achive parallelized instance creations
344
  in the same backend. Add setting 'GANETI_USE_OPPORTUNISTIC_LOCKING' to
345
  enable the use of this feature.
346
* Fix warning message while getting object permissions to appear only when
347
  path is None and the object has permissions
348
* Add name to newly created NICs and the corresponding firewall tags.
349

    
350
.. _Changelog-0.14.9:
351

    
352
v0.14.9
353
=======
354

    
355
Released: Mon Nov 11 12:13:31 EET 2013
356

    
357
* Astakos: Fix minor problems with logging in the Astakos module, which could
358
  lead to unexpected exceptions
359

    
360
.. _Changelog-0.14.8:
361

    
362
v0.14.8
363
=======
364

    
365
Released: Fri Nov  8 17:25:08 EET 2013
366

    
367
Synnefo-wide
368
------------
369

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

    
377
Cyclades
378
--------
379

    
380
* On VM creation, pass the hashmap of the image (pithosmap://) instead of the
381
  image URL (pithos://). Access to the Pithos DB by Ganeti nodes is no longer
382
  required.
383
* Workaround race between server creation and server deletion. This will be
384
  fixed properly by updating Ganeti to support the 'depends' attribute for
385
  OP_INSTANCE_REMOVE.
386

    
387
Astakos
388
-------
389

    
390
* For Shibboleth logins, store all attributes along with the user in the DB.
391

    
392
.. _Changelog-0.14.7:
393

    
394
v0.14.7
395
=======
396

    
397
Released: Wed Sep 18 17:50:12 EEST 2013
398

    
399
Cyclades
400
--------
401

    
402
* Fix bug in helpdesk view
403

    
404
.. _Changelog-0.14.6:
405

    
406
v0.14.6
407
=======
408

    
409
Released: Wed Sep 18 16:18:58 EEST 2013
410

    
411
Pithos
412
------
413

    
414
* Substitute the PITHOS_BACKEND_QUOTA setting with two
415
  distinct settings: PITHOS_BACKEND_ACCOUNT_QUOTA &
416
  PITHOS_BACKEND_CONTAINER_QUOTA
417
* Set PITHOS_BACKEND_CONTAINER_QUOTA default value to 0 (unlimited)
418
* Fix bug that resulted in DB deadlocks.
419

    
420
Cyclades
421
--------
422

    
423
* Fix bug in snf-dispatcher that resulted in servers to be deleted from the
424
  DB even if the corresponding Ganeti job failed.
425

    
426
Branding
427
--------
428

    
429
* Add new BRANDING_FOOTER_EXTRA_MESSAGE setting.
430

    
431

    
432
.. _Changelog-0.14.5:
433

    
434
v0.14.5
435
=======
436

    
437
Released: Wed Aug  7 11:19:49 EEST 2013
438

    
439
Pithos
440
------
441

    
442
* Fix security issue with handling Pithos versions.
443

    
444

    
445
.. _Changelog-0.14.4:
446

    
447
v0.14.4
448
=======
449

    
450
Released: Mon Jul 29 12:24:22 EEST 2013
451

    
452
Pithos
453
------
454

    
455
* Fix bug in reconcile resources management command.
456

    
457

    
458
.. _Changelog-0.14.3:
459

    
460
v0.14.3
461
=======
462

    
463
Released: Thu Jul 25 12:22:47 EEST 2013
464

    
465
Synnefo-wide
466
------------
467

    
468
* Use the SYNNEFO_TRACE environmental variable to control whether the greenlet
469
  tracing code will get loaded or not.
470
* Split the HIDDEN_COOKIES setting in HIDDEN_HEADERS and HIDDEN_COOKIES, and
471
  add the MAIL_MAX_LEN setting, to limit the mail size for unhandled
472
  exceptions.
473

    
474

    
475
.. _Changelog-0.14.2:
476

    
477
Released: Fri Jul 12 13:13:32 EEST 2013
478

    
479
v0.14.2
480
=======
481

    
482
Cyclades
483
--------
484

    
485
* Add new setting PITHOS_BACKEND_POOL_SIZE, which configures the size
486
  of the pool of Pithos backends that are used by plankton.
487

    
488
Pithos
489
------
490

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

    
494

    
495
.. _Changelog-0.14:
496

    
497
v0.14
498
=====
499

    
500
Released: Tue Jun 25 14:01:19 EEST 2013
501

    
502
Synnefo-wide
503
------------
504

    
505
* Create 'snf_django' Python package to hold common code for all Synnefo
506
  components.
507

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

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

    
517
* Deprecate CLOUDBAR_ACTIVE_SERVICE setting from all apps.
518

    
519
* Common synnefo 404/500 templates (located in snf-webproject)
520

    
521
Astakos
522
-------
523

    
524
* Redesign of the accounting system (quotaholder) and integration into
525
  Astakos.
526

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

    
541
* API-related changes:
542

    
543
  * Implemented API calls for quota, resources, and commissions.
544
  * Moved all API calls under '/account/v1.0'.
545
  * Implemented the keystone API call POST /tokens under '/identity/v2.0'.
546

    
547
* Service and resource specification and handling:
548

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

    
559
* Converted the limit on pending applications from a setting to a quotable
560
  resource. Converted the related user setting to a user-specific base quota
561
  limit. Deprecated model UserSetting; removed setting
562
  ASTAKOS_PENDING_APPLICATION_LIMIT.
563

    
564
* Changes in locking strategy:
565

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

    
571
* Changes in views:
572

    
573
  * Replaced custom transaction context with a simple decorator for managing
574
    transactions and a context 'ExceptionHandler', which logs and suppresses
575
    exceptions
576

    
577
* Added fine grain user auth provider's policies.
578

    
579
  * Administrator can override default auth provider policies to a specific
580
    user or group of users.
581
  * Optionally a user can be assigned to a list of groups, based on the
582
    authentication method he choosed to signup.
583

    
584
* Removed explicit handling of SMTP errors on each email delivery. Exceptions
585
  are now propagated to base django exception handler.
586

    
587
* Email used in html/email tempaltes which prompt user to contact for service
588
  support prompts is now defined in ``CONTACT_EMAIL`` setting introduced in
589
  snf-common settings.
590

    
591
* Improvements in user activation flow
592

    
593
  * User moderation now takes place after the user has verified his email
594
    address.
595
  * User model enriched with additional user state fields
596
  * Split activation email from moderation process. Administrator is required
597
    to moderate user explicitly using the `user-modify --accept` or
598
    `user-modify --reject` commands.
599
  * Improved logging throught out user activation procedures.
600

    
601
* Remove deprecated AstakosUser model fields: `provider`,
602
  `third_party_identifier`
603

    
604
* Allow override of authentication provider messages using the following
605
  format in setting names: ``ASTAKOS_<PROVIDER_MODULE>_<MSGID>_MSG``
606

    
607
* Cloudbar automatically tries to identify the active service based on window
608
  location.
609

    
610
* Removing authentication provider view is now CSRF protected.
611

    
612
* New `API access` view, containing useful information to users on how to
613
  access available Synnefo services API's.
614

    
615
* Remove of ASTAKOS_*_EMAIL_SUBJECT settings. All email subjects are now
616
  defined in astakos.im.messages module. Overriding default values can be
617
  achieved using custom gettext files or using astakos messages settings::
618

    
619
	#change of greeting email subject
620
  	ASTAKOS_GREETING_EMAIL_SUBJECT_MESSAGE = 'Welcome to my cloud'
621

    
622
* Remove ``ASTAKOS_ACTIVATION_REDIRECT_URL`` and ``ASTAKOS_LOGIN_SUCCESS_URL``
623
  from astakos .conf file. Settings are dynamically computed based on
624
  ``ASTAKOS_BASE_URL``.
625

    
626
* Management commands:
627

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

    
650
Cyclades
651
--------
652

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

    
675
Cyclades helpdesk
676
-----------------
677

    
678
* Additional start/stop vm action
679
* Display extend backend info in vm's view
680
* Fixed IP lookup
681

    
682
Pithos
683
------
684

    
685
* Remove PITHOS_AUTHENTICATION_USERS setting, which was used to override
686
  astakos users.
687
* Remove 'PITHOS_USER_CATALOG_URL', 'PITHOS_USER_FEEDBACK_URL' and
688
  'PITHOS_USER_LOGIN_URL' settings.
689
* Remove PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL,
690
  PITHOS_QUOTAHOLDER_TOKEN and PITHOS_ASTAKOSCLIENT_POOLSIZE
691

    
692
* Enforce container-level atomicity in (most) Pithos API calls.
693

    
694

    
695
Tools
696
-----
697

    
698

    
699
.. _Changelog-0.13:
700

    
701
v0.13
702
=====
703

    
704
Released: Wed Apr 10 18:52:50 EEST 2013
705

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

    
712
Synnefo-wide
713
------------
714

    
715
* Support for pooling throughout Synnefo
716

    
717
  * Pooled Django DB connections, Pithos backend connections, HTTP
718
    connections using single `objpool` package
719

    
720
* Improved management commands
721

    
722
  * Unified codebase for output of tables in JSON, CSV
723

    
724
* Bring most of Synnefo code inside a single, unified repository
725

    
726
  * support automatic Python and Debian package builds for individual commits
727
  * with automatic version generation
728

    
729
* Overhauling of Synnefo settings: renames and refactoring, for increased
730
  uniformity (in progress)
731
* Deployment: Standardize on gunicorn, with gevent-based workers
732
  and use of Green threads throughout Synnefo
733
* Documentation: New scale-out guide, with distinct node roles,
734
  for mass Synnefo deployments
735

    
736
Astakos
737
-------
738

    
739
* Support multiple authentication methods
740

    
741
  * Classic (username/password), Shibboleth, LDAP/Active Directory,
742
    Google, Twitter, LinkedIn
743
  * Users can enable/disable auth methods, and switch between them
744

    
745
* Introduce a UUID as a global identifier for users, throughout Synnefo
746

    
747
  * The UUID remains constant as the user enables/disables login methods
748

    
749
* Allow users to modify their email address freely
750
* Per-user, per-resource accounting mechanism (quotaholder)
751
* Full quota support, with per-user, per-resource quotas, based on quotaholder
752
* Projects: Users can create and join Projects
753

    
754
  * Projects grant extra resources to their members
755

    
756
* UI Enhancements for quotas and projects
757

    
758
  * distinct Usage tab, showing usage of individual resources
759
  * Project management UI
760
  * New Overview page
761

    
762
* refactored/improved /login endpoint used by desktop/mobile clients.
763
  * endpoint url is now exposed by `weblogin` service
764
  * clients should use unauthenticated identity/tokens api to resolve the
765
    endpoint url
766
  * view only allows redirects to `pithos://` scheme urls
767
  * removed uuid from redirect parameters. Client should use authenticated
768
    request to identity/tokens to retrieve user uuid.
769

    
770

    
771
Cyclades
772
--------
773

    
774
* Commission resources on quotaholder/Astakos
775
* Support mass creation of flavors
776
* Support for the ExtStorage disk template in Ganeti
777
* Query and report quotas in the UI
778
* Pass VM configuration parameters over a VM-side API (`vmapi`)
779

    
780
  * Do not pass sensitive data as Ganeti OS parameters
781
  * Keep sensitive data in memory caches (memcached) and
782
    never allow them to hit the disk
783

    
784
* Display additional backend information in helpdesk machines list
785
* Allow helpdesk users to search for an account using a known machine id
786
* Helpdesk actions are now logged using the synnefo's common login
787
  infrastructure
788

    
789
UI
790
^^
791
* Removed feedback endpoint. Feedback requests delegate to astakos feedback
792
  service. ``FEEDBACK_CONTACTS``, ``FEEDBACK_EMAIL_FROM`` settings removed,
793
  and no longer used.
794
* ``UI_LOGIN_URL``, ``UI_GLANCE_URL``, ``COMPUTE_URL`` settings no longer
795
  required to be set and are dynamically computed based on ``ASTAKOS_BASE_URL``
796
  and ``CYCLADES_BASE_URL`` settings.
797
* File group is no longer included in ssh keys personality metadata sent in
798
  create vm calls.
799

    
800

    
801
Pithos
802
------
803

    
804
* Support storage of blocks on a RADOS backend, for Archipelago
805

    
806
  * new settings:
807
    PITHOS_RADOS_STORAGE, PITHOS_RADOS_POOL_BLOCKS, PITHOS_RADOS_POOL_MAPS
808

    
809
* X-Object-Public now contains full url (domain + proper component prefix +
810
  file path)
811

    
812
* Rewritten support for public URLs, with admin-selectable length
813

    
814
  * new settings:
815
    PITHOS_PUBLIC_URL_SECURITY, PITHOS_PUBLIC_URL_ALPHABET
816

    
817
* Enable pithos backend to use external quotaholder component
818

    
819
  * new settings:
820
    PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL, PITHOS_QUOTAHOLDER_TOKEN,
821
    PITHOS_QUOTAHOLDER_POOLSIZE
822

    
823
* Moderated version debiting mechanism
824

    
825
  * new setting:
826
    PITHOS_BACKEND_FREE_VERSIONING
827

    
828
* Proxy Astakos user-visible services
829

    
830
  * new settings:
831
    PITHOS_PROXY_USER_SERVICES, PITHOS_USER_CATALOG_URL,
832
    PITHOS_USER_FEEDBACK_URL, PITHOS_USER_LOGIN_URL
833

    
834
Tools
835
-----
836

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