Statistics
| Branch: | Tag: | Revision:

root / Changelog @ 329c8145

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
Cyclades
37
--------
38

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

    
47
.. _Changelog-0.15rc4:
48

    
49
v0.15rc4
50
========
51

    
52
Released: Wed Jan 15 10:56:10 EET 2014
53

    
54
Synnefo-wide
55
------------
56

    
57
* Integrate Pithos tests in continuous integration.
58

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

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

    
72
* Extend astakosclient to request and validate OAuth 2.0 access tokens
73

    
74
* Change response status code from 400 (Bad Request) to 405 (Not allowed
75
  method) in case of an unexpected request method.
76

    
77
Astakos
78
-------
79

    
80
* Changes in project schema:
81

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

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

    
91
  * Improve recording of project, application, and membership actions.
92

    
93
* Implement API calls for projects.
94

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

    
101
* Changes in resource and quota handling:
102

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

    
116
* Remove API call GET /account/v1.0/authenticate in favor of
117
  POST /identity/v2.0/tokens.
118

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

    
125
* Implement OAuth 2.0 Authorization Code Grant
126
  Add API calls for authorization code and access token generation
127

    
128
* Add API call for validating OAuth 2.0 access tokens
129

    
130
* **Shibboleth module** Extract unique identifier from the
131
  ``REMOTE_USER`` header.
132

    
133
* Automatically fill third party signup form fields when available by the
134
  the third party provider.
135

    
136
* Management commands:
137

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

    
155
Cyclades
156
--------
157

    
158
* Major changes to Cyclades networks:
159

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

    
172
* Implement Floating IP addresses, which are IPv4 addresses that can be
173
  dynamically added and removed to a running server.
174

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

    
181
* Implement 'resize' server action.
182

    
183
  * Implement the 'resize' server action, to change the flavor of a server.
184
    Only 'cpu' and 'memory' resizing is supported.
185

    
186
* Compute quotas for CPU and memory of running vms.
187

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

    
192
* Refer to Ganeti NICs by their name instead of their index.
193

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

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

    
248

    
249
Cyclades UI
250
-----------
251

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

    
288

    
289
Cyclades Userdata
290
-----------------
291

    
292
- Maximum allowed length of ssh key content. Configurable from the 
293
  ``USERDATA_SSH_KEY_MAX_CONTENT_SIZE`` setting.
294

    
295

    
296
Pithos
297
------
298

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

    
328
.. _Changelog-0.14.10:
329

    
330
v0.14.10
331
=======
332

    
333
Released: Tue Nov 26 11:03:37 EET 2013
334

    
335
Cyclades
336
-------
337

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

    
347
.. _Changelog-0.14.9:
348

    
349
v0.14.9
350
=======
351

    
352
Released: Mon Nov 11 12:13:31 EET 2013
353

    
354
* Astakos: Fix minor problems with logging in the Astakos module, which could
355
  lead to unexpected exceptions
356

    
357
.. _Changelog-0.14.8:
358

    
359
v0.14.8
360
=======
361

    
362
Released: Fri Nov  8 17:25:08 EET 2013
363

    
364
Synnefo-wide
365
------------
366

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

    
374
Cyclades
375
--------
376

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

    
384
Astakos
385
-------
386

    
387
* For Shibboleth logins, store all attributes along with the user in the DB.
388

    
389
.. _Changelog-0.14.7:
390

    
391
v0.14.7
392
=======
393

    
394
Released: Wed Sep 18 17:50:12 EEST 2013
395

    
396
Cyclades
397
--------
398

    
399
* Fix bug in helpdesk view
400

    
401
.. _Changelog-0.14.6:
402

    
403
v0.14.6
404
=======
405

    
406
Released: Wed Sep 18 16:18:58 EEST 2013
407

    
408
Pithos
409
------
410

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

    
417
Cyclades
418
--------
419

    
420
* Fix bug in snf-dispatcher that resulted in servers to be deleted from the
421
  DB even if the corresponding Ganeti job failed.
422

    
423
Branding
424
--------
425

    
426
* Add new BRANDING_FOOTER_EXTRA_MESSAGE setting.
427

    
428

    
429
.. _Changelog-0.14.5:
430

    
431
v0.14.5
432
=======
433

    
434
Released: Wed Aug  7 11:19:49 EEST 2013
435

    
436
Pithos
437
------
438

    
439
* Fix security issue with handling Pithos versions.
440

    
441

    
442
.. _Changelog-0.14.4:
443

    
444
v0.14.4
445
=======
446

    
447
Released: Mon Jul 29 12:24:22 EEST 2013
448

    
449
Pithos
450
------
451

    
452
* Fix bug in reconcile resources management command.
453

    
454

    
455
.. _Changelog-0.14.3:
456

    
457
v0.14.3
458
=======
459

    
460
Released: Thu Jul 25 12:22:47 EEST 2013
461

    
462
Synnefo-wide
463
------------
464

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

    
471

    
472
.. _Changelog-0.14.2:
473

    
474
Released: Fri Jul 12 13:13:32 EEST 2013
475

    
476
v0.14.2
477
=======
478

    
479
Cyclades
480
--------
481

    
482
* Add new setting PITHOS_BACKEND_POOL_SIZE, which configures the size
483
  of the pool of Pithos backends that are used by plankton.
484

    
485
Pithos
486
------
487

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

    
491

    
492
.. _Changelog-0.14:
493

    
494
v0.14
495
=====
496

    
497
Released: Tue Jun 25 14:01:19 EEST 2013
498

    
499
Synnefo-wide
500
------------
501

    
502
* Create 'snf_django' Python package to hold common code for all Synnefo
503
  components.
504

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

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

    
514
* Deprecate CLOUDBAR_ACTIVE_SERVICE setting from all apps.
515

    
516
* Common synnefo 404/500 templates (located in snf-webproject)
517

    
518
Astakos
519
-------
520

    
521
* Redesign of the accounting system (quotaholder) and integration into
522
  Astakos.
523

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

    
538
* API-related changes:
539

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

    
544
* Service and resource specification and handling:
545

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

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

    
561
* Changes in locking strategy:
562

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

    
568
* Changes in views:
569

    
570
  * Replaced custom transaction context with a simple decorator for managing
571
    transactions and a context 'ExceptionHandler', which logs and suppresses
572
    exceptions
573

    
574
* Added fine grain user auth provider's policies.
575

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

    
581
* Removed explicit handling of SMTP errors on each email delivery. Exceptions
582
  are now propagated to base django exception handler.
583

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

    
588
* Improvements in user activation flow
589

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

    
598
* Remove deprecated AstakosUser model fields: `provider`,
599
  `third_party_identifier`
600

    
601
* Allow override of authentication provider messages using the following
602
  format in setting names: ``ASTAKOS_<PROVIDER_MODULE>_<MSGID>_MSG``
603

    
604
* Cloudbar automatically tries to identify the active service based on window
605
  location.
606

    
607
* Removing authentication provider view is now CSRF protected.
608

    
609
* New `API access` view, containing useful information to users on how to
610
  access available Synnefo services API's.
611

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

    
616
	#change of greeting email subject
617
  	ASTAKOS_GREETING_EMAIL_SUBJECT_MESSAGE = 'Welcome to my cloud'
618

    
619
* Remove ``ASTAKOS_ACTIVATION_REDIRECT_URL`` and ``ASTAKOS_LOGIN_SUCCESS_URL``
620
  from astakos .conf file. Settings are dynamically computed based on
621
  ``ASTAKOS_BASE_URL``.
622

    
623
* Management commands:
624

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

    
647
Cyclades
648
--------
649

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

    
672
Cyclades helpdesk
673
-----------------
674

    
675
* Additional start/stop vm action
676
* Display extend backend info in vm's view
677
* Fixed IP lookup
678

    
679
Pithos
680
------
681

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

    
689
* Enforce container-level atomicity in (most) Pithos API calls.
690

    
691

    
692
Tools
693
-----
694

    
695

    
696
.. _Changelog-0.13:
697

    
698
v0.13
699
=====
700

    
701
Released: Wed Apr 10 18:52:50 EEST 2013
702

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

    
709
Synnefo-wide
710
------------
711

    
712
* Support for pooling throughout Synnefo
713

    
714
  * Pooled Django DB connections, Pithos backend connections, HTTP
715
    connections using single `objpool` package
716

    
717
* Improved management commands
718

    
719
  * Unified codebase for output of tables in JSON, CSV
720

    
721
* Bring most of Synnefo code inside a single, unified repository
722

    
723
  * support automatic Python and Debian package builds for individual commits
724
  * with automatic version generation
725

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

    
733
Astakos
734
-------
735

    
736
* Support multiple authentication methods
737

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

    
742
* Introduce a UUID as a global identifier for users, throughout Synnefo
743

    
744
  * The UUID remains constant as the user enables/disables login methods
745

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

    
751
  * Projects grant extra resources to their members
752

    
753
* UI Enhancements for quotas and projects
754

    
755
  * distinct Usage tab, showing usage of individual resources
756
  * Project management UI
757
  * New Overview page
758

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

    
767

    
768
Cyclades
769
--------
770

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

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

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

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

    
797

    
798
Pithos
799
------
800

    
801
* Support storage of blocks on a RADOS backend, for Archipelago
802

    
803
  * new settings:
804
    PITHOS_RADOS_STORAGE, PITHOS_RADOS_POOL_BLOCKS, PITHOS_RADOS_POOL_MAPS
805

    
806
* X-Object-Public now contains full url (domain + proper component prefix +
807
  file path)
808

    
809
* Rewritten support for public URLs, with admin-selectable length
810

    
811
  * new settings:
812
    PITHOS_PUBLIC_URL_SECURITY, PITHOS_PUBLIC_URL_ALPHABET
813

    
814
* Enable pithos backend to use external quotaholder component
815

    
816
  * new settings:
817
    PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL, PITHOS_QUOTAHOLDER_TOKEN,
818
    PITHOS_QUOTAHOLDER_POOLSIZE
819

    
820
* Moderated version debiting mechanism
821

    
822
  * new setting:
823
    PITHOS_BACKEND_FREE_VERSIONING
824

    
825
* Proxy Astakos user-visible services
826

    
827
  * new settings:
828
    PITHOS_PROXY_USER_SERVICES, PITHOS_USER_CATALOG_URL,
829
    PITHOS_USER_FEEDBACK_URL, PITHOS_USER_LOGIN_URL
830

    
831
Tools
832
-----
833

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