Statistics
| Branch: | Tag: | Revision:

root / Changelog @ 6335ad6f

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

    
12
Released: UNRELEASED
13

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

    
17
* Integrate Pithos tests in continuous integration.
18

    
19
Astakos
20
-------
21

    
22
* Changes in project schema:
23

    
24
  * A Project entry is created when submitting an application for a new
25
    project, rather than on approval. Its state is dependent on the state
26
    of its `reference' application (current definition). Lock Project rather
27
    than Chain (the latter is semantically obsolete).
28

    
29
  * Improve recording of membership actions.
30

    
31
Cyclades
32
--------
33

    
34
* Implement Floating IP addresses, which are addresses that can be dynamically
35
  added and removed to a running server.
36

    
37
  * Implement the 'os-floating-ips' and 'os-floating-ip-pools' API extensions.
38
  * Implement 'snf-manage floating-ip-list' management command.
39
  * Add 'floating_ip_pool' attribute to networks. Such networks must exist to
40
    all Ganeti backends.
41

    
42
* Speed up server reconciliation, by performing parallel reconciliation for
43
  each backend.
44
* Implement IPv6 only networks.
45
* Implement 'resize' server action.
46

    
47
  * Implement the 'resize' server action, to change the flavor of a server.
48
  Only 'cpu' and 'memory' resizing is supported.
49

    
50
* Compute quotas for CPU and memory of running vms.
51
* Obsolete PUBLIC_USE_POOL setting, since Cyclades manages IP pool for all
52
  type of networks.
53
* Extend servers info API response with 'SNF:fqdn' attribute, and introduce
54
  CYCLADES_SERVERS_FQDN to set the template for servers FDQN.
55
* Extend servers info API response with 'SNF:port_forwarding' attribute,
56
  describing port fowarding rules (DNAT) that are applied to vms. The
57
  description of such rules is done via the new CYCLADES_PORT_FORWARDING
58
  setting.
59

    
60
Pithos
61
------
62

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

    
66
* Enforce container-level atomicity in (most) Pithos API calls.
67

    
68

    
69
.. _Changelog-0.14.5:
70

    
71
v0.14.5
72
=======
73

    
74
Released: Wed Aug  7 11:19:49 EEST 2013
75

    
76
Pithos
77
------
78

    
79
* Fix security issue with handling Pithos versions.
80

    
81

    
82
.. _Changelog-0.14.4:
83

    
84
v0.14.4
85
=======
86

    
87
Released: Mon Jul 29 12:24:22 EEST 2013
88

    
89
Pithos
90
------
91

    
92
* Fix bug in reconcile resources management command.
93

    
94

    
95
.. _Changelog-0.14.3:
96

    
97
v0.14.3
98
=======
99

    
100
Released: Thu Jul 25 12:22:47 EEST 2013
101

    
102
Synnefo-wide
103
------------
104

    
105
* Use the SYNNEFO_TRACE environmental variable to control whether the greenlet
106
  tracing code will get loaded or not.
107
* Split the HIDDEN_COOKIES setting in HIDDEN_HEADERS and HIDDEN_COOKIES, and
108
  add the MAIL_MAX_LEN setting, to limit the mail size for unhandled
109
  exceptions.
110

    
111

    
112
.. _Changelog-0.14.2:
113

    
114
Released: Fri Jul 12 13:13:32 EEST 2013
115

    
116
v0.14.2
117
=======
118

    
119
Cyclades
120
--------
121

    
122
* Add new setting PITHOS_BACKEND_POOL_SIZE, which configures the size
123
  of the pool of Pithos backends that are used by plankton.
124

    
125

    
126
.. _Changelog-0.14:
127

    
128
v0.14
129
=====
130

    
131
Released: Tue Jun 25 14:01:19 EEST 2013
132

    
133
Synnefo-wide
134
------------
135

    
136
* Create 'snf_django' Python package to hold common code for all Synnefo
137
  components.
138

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

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

    
148
* Deprecate CLOUDBAR_ACTIVE_SERVICE setting from all apps. 
149

    
150
* Common synnefo 404/500 templates (located in snf-webproject)
151

    
152
Astakos
153
-------
154

    
155
* Redesign of the accounting system (quotaholder) and integration into
156
  Astakos.
157

    
158
  * Simplified the quotaholder model; removed tables Entity and Policy; now
159
    table Holding contains limit and usage for every holding.
160
  * Extended table Holding, so that we can keep track of quota for every
161
    valid combination of holder (e.g. user), resource, and source (e.g. the
162
    default system or some specific project).
163
  * Refactored code for issuing and resolving commissions for robustness;
164
    added a 'force' option to bypass the upper limit check when issuing a
165
    commission.
166
  * Simplified syncing to the quotaholder; removed fields from models
167
    Project and ProjectMembership, previously needed for syncing; removed
168
    state PROJECT_DEACTIVATED from ProjectMembership.
169
  * Removed settings ASTAKOS_QUOTAHOLDER_URL, ASTAKOS_QUOTAHOLDER_TOKEN,
170
    and ASTAKOS_QUOTAHOLDER_POOLSIZE.
171

    
172
* API-related changes:
173

    
174
  * Implemented API calls for quota, resources, and commissions.
175
  * Moved all API calls under '/account/v1.0'.
176
  * Implemented the keystone API call POST /tokens under '/identity/v2.0'.
177

    
178
* Service and resource specification and handling:
179

    
180
  * Specified a format for defining services along with the API endpoints
181
    and the resources they expose. Migrated internal resource name by
182
    prefixing it with service name (e.g. 'vm' becomes 'cyclades.vm');
183
    renamed registered service 'pithos+' to 'pithos'.
184
  * Specified a procedure to register a Synnefo component, its services and
185
    their resources in astakos and set the resources' default base quota
186
    limit. Removed resource definitions from settings.
187
  * Moved service and resource presentation data out of the respective db
188
    models into a separate file of UI constants.
189

    
190
* Converted the limit on pending applications from a setting to a quotable
191
  resource. Converted the related user setting to a user-specific base quota
192
  limit. Deprecated model UserSetting; removed setting
193
  ASTAKOS_PENDING_APPLICATION_LIMIT.
194

    
195
* Changes in locking strategy:
196

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

    
202
* Changes in views:
203

    
204
  * Replaced custom transaction context with a simple decorator for managing
205
    transactions and a context 'ExceptionHandler', which logs and suppresses
206
    exceptions
207

    
208
* Added fine grain user auth provider's policies.
209

    
210
  * Administrator can override default auth provider policies to a specific 
211
    user or group of users.
212
  * Optionally a user can be assigned to a list of groups, based on the
213
    authentication method he choosed to signup.
214

    
215
* Removed explicit handling of SMTP errors on each email delivery. Exceptions 
216
  are now propagated to base django exception handler.
217

    
218
* Email used in html/email tempaltes which prompt user to contact for service 
219
  support prompts is now defined in ``CONTACT_EMAIL`` setting introduced in 
220
  snf-common settings.
221

    
222
* Improvements in user activation flow
223

    
224
  * User moderation now takes place after the user has verified his email
225
    address.
226
  * User model enriched with additional user state fields
227
  * Split activation email from moderation process. Administrator is required 
228
    to moderate user explicitly using the `user-modify --accept` or
229
    `user-modify --reject` commands.
230
  * Improved logging throught out user activation procedures.
231

    
232
* Remove deprecated AstakosUser model fields: `provider`,
233
  `third_party_identifier`
234

    
235
* Allow override of authentication provider messages using the following 
236
  format in setting names: ``ASTAKOS_<PROVIDER_MODULE>_<MSGID>_MSG``
237

    
238
* Cloudbar automatically tries to identify the active service based on window 
239
  location.
240

    
241
* Removing authentication provider view is now CSRF protected.
242

    
243
* New `API access` view, containing useful information to users on how to 
244
  access available Synnefo services API's.
245

    
246
* Remove of ASTAKOS_*_EMAIL_SUBJECT settings. All email subjects are now 
247
  defined in astakos.im.messages module. Overriding default values can be 
248
  achieved using custom gettext files or using astakos messages settings::
249
	
250
	#change of greeting email subject
251
  	ASTAKOS_GREETING_EMAIL_SUBJECT_MESSAGE = 'Welcome to my cloud'
252

    
253
* Remove ``ASTAKOS_ACTIVATION_REDIRECT_URL`` and ``ASTAKOS_LOGIN_SUCCESS_URL`` 
254
  from astakos .conf file. Settings are dynamically computed based on 
255
  ``ASTAKOS_BASE_URL``.
256

    
257
* Management commands:
258

    
259
  * Introduced new commands:
260
     * authpolicy-{add, list, remove, set, show}
261
     * group-{add, list}
262
     * component-{add, list, modify, remove}
263
     * reconcile-resources-astakos
264
     * resource-{export-astakos, import, modify}
265
     * service-{export-astakos, import, show}
266
  * Renamed commands:
267
     * astakos-quota to quota
268
     * user-update to user-modify
269
     * full-cleanup to cleanup-full
270
  * Removed commands:
271
     * astakos-init
272
     * invitation-{details, list}
273
     * project-sync
274
     * resource-{add, remove}
275
     * service-{add, remove, token-renew, update}
276
     * user-invite
277
     * user-set-initial-quota (integrated its functionality in user-modify and quota)
278
  * Added quota and project-related information in user-show command; added
279
    membership information in project-show.
280

    
281
Cyclades
282
--------
283

    
284
* Make 'type' attribute required for network create API request.
285
* Networks not created to all Ganeti backends upon creation, they are instead
286
  created to a backend only when a VM connects to the network.
287
* Add 'CYCLADES_ASTAKOSCLIENT_POOLSIZE' setting which tunes the size of the
288
  http connection pool to astakos.
289
* Remove 'CYCLADES_USER_CATALOG_URL' and 'CYCLADES_USER_FEEDBACK_URL' settings
290
* Remove CYCLADES_USE_QUOTAHOLDER, CYCLADES_QUOTAHOLDER_TOKEN,
291
  CYCLADES_QUOTAHOLDER_URL, CYCLADES_QUOTAHOLDER_POOLSIZE settings
292
* Rename 'cyclades-usage-verify' management command to
293
  'reconcile-resources-cyclades'. Also, remove 'cyclades-usage-reset' command,
294
  which is equivalent to 'reconcile-resources-cyclades --fix'.
295
* Rename 'cyclades-reconcile-commissions' management command to
296
  'reconcile-commissions-cyclades'.
297
* Remove obsolete 'MAX_VMS_PER_USER', 'MAX_NETWORKS_PER_USER',
298
  "VMS_USER_QUOTA" and "NETWORKS_USER_QUOTA" settings, since their usage
299
  is covered by Quotaholder.
300
* Remove obsolete setting 'API_ROOT_URL', since it is being covered by
301
  the use of CYCLADES_BASE_URL* Remove obsolete setting 'API_ROOT_URL', since
302
  it is being covered by 'CYCLADES_BASE_URL'.
303
* Remove obsolete settings GANETI_DISK_TEMPLATES and
304
  DEFAULT_GANETI_DISK_TEMPLATE
305

    
306
Cyclades helpdesk
307
-----------------
308

    
309
* Additional start/stop vm action
310
* Display extend backend info in vm's view
311
* Fixed IP lookup
312

    
313
Pithos
314
------
315

    
316
* Remove PITHOS_AUTHENTICATION_USERS setting, which was used to override
317
  astakos users.
318
* Remove 'PITHOS_USER_CATALOG_URL', 'PITHOS_USER_FEEDBACK_URL' and
319
  'PITHOS_USER_LOGIN_URL' settings.
320
* Remove PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL,
321
  PITHOS_QUOTAHOLDER_TOKEN and PITHOS_ASTAKOSCLIENT_POOLSIZE
322

    
323
Tools
324
-----
325

    
326

    
327
.. _Changelog-0.13:
328

    
329
v0.13
330
=====
331

    
332
Released: Wed Apr 10 18:52:50 EEST 2013
333

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

    
340
Synnefo-wide
341
------------
342

    
343
* Support for pooling throughout Synnefo
344

    
345
  * Pooled Django DB connections, Pithos backend connections, HTTP
346
    connections using single `objpool` package
347

    
348
* Improved management commands
349

    
350
  * Unified codebase for output of tables in JSON, CSV
351

    
352
* Bring most of Synnefo code inside a single, unified repository
353

    
354
  * support automatic Python and Debian package builds for individual commits
355
  * with automatic version generation
356

    
357
* Overhauling of Synnefo settings: renames and refactoring, for increased
358
  uniformity (in progress)
359
* Deployment: Standardize on gunicorn, with gevent-based workers
360
  and use of Green threads throughout Synnefo
361
* Documentation: New scale-out guide, with distinct node roles,
362
  for mass Synnefo deployments
363

    
364
Astakos
365
-------
366

    
367
* Support multiple authentication methods
368

    
369
  * Classic (username/password), Shibboleth, LDAP/Active Directory,
370
    Google, Twitter, LinkedIn
371
  * Users can enable/disable auth methods, and switch between them
372

    
373
* Introduce a UUID as a global identifier for users, throughout Synnefo
374

    
375
  * The UUID remains constant as the user enables/disables login methods
376

    
377
* Allow users to modify their email address freely
378
* Per-user, per-resource accounting mechanism (quotaholder)
379
* Full quota support, with per-user, per-resource quotas, based on quotaholder
380
* Projects: Users can create and join Projects
381

    
382
  * Projects grant extra resources to their members
383

    
384
* UI Enhancements for quotas and projects
385

    
386
  * distinct Usage tab, showing usage of individual resources
387
  * Project management UI
388
  * New Overview page
389

    
390
* refactored/improved /login endpoint used by desktop/mobile clients.
391
  * endpoint url is now exposed by `weblogin` service
392
  * clients should use unauthenticated identity/tokens api to resolve the 
393
    endpoint url
394
  * view only allows redirects to `pithos://` scheme urls
395
  * removed uuid from redirect parameters. Client should use authenticated 
396
    request to identity/tokens to retrieve user uuid.
397

    
398

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

    
402
* Commission resources on quotaholder/Astakos
403
* Support mass creation of flavors
404
* Support for the ExtStorage disk template in Ganeti
405
* Query and report quotas in the UI
406
* Pass VM configuration parameters over a VM-side API (`vmapi`)
407

    
408
  * Do not pass sensitive data as Ganeti OS parameters
409
  * Keep sensitive data in memory caches (memcached) and
410
    never allow them to hit the disk
411

    
412
* Display additional backend information in helpdesk machines list
413
* Allow helpdesk users to search for an account using a known machine id
414
* Helpdesk actions are now logged using the synnefo's common login
415
  infrastructure
416

    
417
UI
418
^^
419
* Removed feedback endpoint. Feedback requests delegate to astakos feedback
420
  service. ``FEEDBACK_CONTACTS``, ``FEEDBACK_EMAIL_FROM`` settings removed, 
421
  and no longer used.
422
* ``UI_LOGIN_URL``, ``UI_GLANCE_URL``, ``COMPUTE_URL`` settings no longer 
423
  required to be set and are dynamically computed based on ``ASTAKOS_BASE_URL``
424
  and ``CYCLADES_BASE_URL`` settings.
425
* File group is no longer included in ssh keys personality metadata sent in 
426
  create vm calls.
427
  
428

    
429
Pithos
430
------
431

    
432
* Support storage of blocks on a RADOS backend, for Archipelago
433

    
434
  * new settings:
435
    PITHOS_RADOS_STORAGE, PITHOS_RADOS_POOL_BLOCKS, PITHOS_RADOS_POOL_MAPS
436

    
437
* X-Object-Public now contains full url (domain + proper component prefix + 
438
  file path)
439

    
440
* Rewritten support for public URLs, with admin-selectable length
441

    
442
  * new settings:
443
    PITHOS_PUBLIC_URL_SECURITY, PITHOS_PUBLIC_URL_ALPHABET
444

    
445
* Enable pithos backend to use external quotaholder component
446

    
447
  * new settings:
448
    PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL, PITHOS_QUOTAHOLDER_TOKEN,
449
    PITHOS_QUOTAHOLDER_POOLSIZE
450

    
451
* Moderated version debiting mechanism
452

    
453
  * new setting:
454
    PITHOS_BACKEND_FREE_VERSIONING
455

    
456
* Proxy Astakos user-visible services
457

    
458
  * new settings:
459
    PITHOS_PROXY_USER_SERVICES, PITHOS_USER_CATALOG_URL,
460
    PITHOS_USER_FEEDBACK_URL, PITHOS_USER_LOGIN_URL
461

    
462
Tools
463
-----
464

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