Statistics
| Branch: | Tag: | Revision:

root / Changelog @ d328a525

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

    
11

    
12
v0.14next
13
=========
14

    
15
Released: UNRELEASED
16

    
17
Synnefo-wide
18
------------
19

    
20
* Integrate Pithos tests in continuous integration.
21

    
22
Cyclades
23
--------
24

    
25
* Implement Floating IP addresses, which are addresses that can be dynamically
26
  added and removed to a running server.
27

    
28
  * Implement the 'os-floating-ips' and 'os-floating-ip-pools' API extensions.
29
  * Implement 'snf-manage floating-ip-list' management command.
30
  * Add 'floating_ip_pool' attribute to networks. Such networks must exist to
31
    all Ganeti backends.
32

    
33
* Speed up server reconciliation, by performing parallel reconciliation for
34
  each backend.
35
* Implement IPv6 only networks.
36
* Implement 'resize' server action.
37

    
38
  * Implement the 'resize' server action, to change the flavor of a server.
39
  Only 'cpu' and 'memory' resizing is supported.
40

    
41
* Compute quotas for CPU and memory of running vms.
42
* Obsolete PUBLIC_USE_POOL setting, since Cyclades manages IP pool for all
43
  type of networks.
44
* Extend servers info API respones with 'SNF:fqdn' attribute, and introduce
45
  CYCLADES_SERVERS_FQDN to set the template for servers FDQN.
46

    
47
Pithos
48
------
49

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

    
53
* Enforce container-level atomicity in (most) Pithos API calls.
54

    
55

    
56
v0.14.4
57
=======
58

    
59
Released: Mon Jul 29 12:24:22 EEST 2013
60

    
61
Pithos
62
------
63

    
64
* Fix bug in reconcile resources management command.
65

    
66

    
67
.. _Changelog-0.14.3:
68

    
69
v0.14.3
70
=======
71

    
72
Released: Thu Jul 25 12:22:47 EEST 2013
73

    
74
Synnefo-wide
75
------------
76

    
77
* Use the SYNNEFO_TRACE environmental variable to control whether the greenlet
78
  tracing code will get loaded or not.
79
* Split the HIDDEN_COOKIES setting in HIDDEN_HEADERS and HIDDEN_COOKIES, and
80
  add the MAIL_MAX_LEN setting, to limit the mail size for unhandled
81
  exceptions.
82

    
83

    
84
.. _Changelog-0.14.2:
85

    
86
Released: Fri Jul 12 13:13:32 EEST 2013
87

    
88
v0.14.2
89
=======
90

    
91
Cyclades
92
--------
93

    
94
* Add new setting PITHOS_BACKEND_POOL_SIZE, which configures the size
95
  of the pool of Pithos backends that are used by plankton.
96

    
97

    
98
.. _Changelog-0.14:
99

    
100
v0.14
101
=====
102

    
103
Released: Tue Jun 25 14:01:19 EEST 2013
104

    
105
Synnefo-wide
106
------------
107

    
108
* Create 'snf_django' Python package to hold common code for all Synnefo
109
  components.
110

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

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

    
120
* Deprecate CLOUDBAR_ACTIVE_SERVICE setting from all apps. 
121

    
122
* Common synnefo 404/500 templates (located in snf-webproject)
123

    
124
Astakos
125
-------
126

    
127
* Redesign of the accounting system (quotaholder) and integration into
128
  Astakos.
129

    
130
  * Simplified the quotaholder model; removed tables Entity and Policy; now
131
    table Holding contains limit and usage for every holding.
132
  * Extended table Holding, so that we can keep track of quota for every
133
    valid combination of holder (e.g. user), resource, and source (e.g. the
134
    default system or some specific project).
135
  * Refactored code for issuing and resolving commissions for robustness;
136
    added a 'force' option to bypass the upper limit check when issuing a
137
    commission.
138
  * Simplified syncing to the quotaholder; removed fields from models
139
    Project and ProjectMembership, previously needed for syncing; removed
140
    state PROJECT_DEACTIVATED from ProjectMembership.
141
  * Removed settings ASTAKOS_QUOTAHOLDER_URL, ASTAKOS_QUOTAHOLDER_TOKEN,
142
    and ASTAKOS_QUOTAHOLDER_POOLSIZE.
143

    
144
* API-related changes:
145

    
146
  * Implemented API calls for quota, resources, and commissions.
147
  * Moved all API calls under '/account/v1.0'.
148
  * Implemented the keystone API call POST /tokens under '/identity/v2.0'.
149

    
150
* Service and resource specification and handling:
151

    
152
  * Specified a format for defining services along with the API endpoints
153
    and the resources they expose. Migrated internal resource name by
154
    prefixing it with service name (e.g. 'vm' becomes 'cyclades.vm');
155
    renamed registered service 'pithos+' to 'pithos'.
156
  * Specified a procedure to register a Synnefo component, its services and
157
    their resources in astakos and set the resources' default base quota
158
    limit. Removed resource definitions from settings.
159
  * Moved service and resource presentation data out of the respective db
160
    models into a separate file of UI constants.
161

    
162
* Converted the limit on pending applications from a setting to a quotable
163
  resource. Converted the related user setting to a user-specific base quota
164
  limit. Deprecated model UserSetting; removed setting
165
  ASTAKOS_PENDING_APPLICATION_LIMIT.
166

    
167
* Changes in locking strategy:
168

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

    
174
* Changes in views:
175

    
176
  * Replaced custom transaction context with a simple decorator for managing
177
    transactions and a context 'ExceptionHandler', which logs and suppresses
178
    exceptions
179

    
180
* Added fine grain user auth provider's policies.
181

    
182
  * Administrator can override default auth provider policies to a specific 
183
    user or group of users.
184
  * Optionally a user can be assigned to a list of groups, based on the
185
    authentication method he choosed to signup.
186

    
187
* Removed explicit handling of SMTP errors on each email delivery. Exceptions 
188
  are now propagated to base django exception handler.
189

    
190
* Email used in html/email tempaltes which prompt user to contact for service 
191
  support prompts is now defined in ``CONTACT_EMAIL`` setting introduced in 
192
  snf-common settings.
193

    
194
* Improvements in user activation flow
195

    
196
  * User moderation now takes place after the user has verified his email
197
    address.
198
  * User model enriched with additional user state fields
199
  * Split activation email from moderation process. Administrator is required 
200
    to moderate user explicitly using the `user-modify --accept` or
201
    `user-modify --reject` commands.
202
  * Improved logging throught out user activation procedures.
203

    
204
* Remove deprecated AstakosUser model fields: `provider`,
205
  `third_party_identifier`
206

    
207
* Allow override of authentication provider messages using the following 
208
  format in setting names: ``ASTAKOS_<PROVIDER_MODULE>_<MSGID>_MSG``
209

    
210
* Cloudbar automatically tries to identify the active service based on window 
211
  location.
212

    
213
* Removing authentication provider view is now CSRF protected.
214

    
215
* New `API access` view, containing useful information to users on how to 
216
  access available Synnefo services API's.
217

    
218
* Remove of ASTAKOS_*_EMAIL_SUBJECT settings. All email subjects are now 
219
  defined in astakos.im.messages module. Overriding default values can be 
220
  achieved using custom gettext files or using astakos messages settings::
221
	
222
	#change of greeting email subject
223
  	ASTAKOS_GREETING_EMAIL_SUBJECT_MESSAGE = 'Welcome to my cloud'
224

    
225
* Remove ``ASTAKOS_ACTIVATION_REDIRECT_URL`` and ``ASTAKOS_LOGIN_SUCCESS_URL`` 
226
  from astakos .conf file. Settings are dynamically computed based on 
227
  ``ASTAKOS_BASE_URL``.
228

    
229
* Management commands:
230

    
231
  * Introduced new commands:
232
     * authpolicy-{add, list, remove, set, show}
233
     * group-{add, list}
234
     * component-{add, list, modify, remove}
235
     * reconcile-resources-astakos
236
     * resource-{export-astakos, import, modify}
237
     * service-{export-astakos, import, show}
238
  * Renamed commands:
239
     * astakos-quota to quota
240
     * user-update to user-modify
241
     * full-cleanup to cleanup-full
242
  * Removed commands:
243
     * astakos-init
244
     * invitation-{details, list}
245
     * project-sync
246
     * resource-{add, remove}
247
     * service-{add, remove, token-renew, update}
248
     * user-invite
249
     * user-set-initial-quota (integrated its functionality in user-modify and quota)
250
  * Added quota and project-related information in user-show command; added
251
    membership information in project-show.
252

    
253
Cyclades
254
--------
255

    
256
* Make 'type' attribute required for network create API request.
257
* Networks not created to all Ganeti backends upon creation, they are instead
258
  created to a backend only when a VM connects to the network.
259
* Add 'CYCLADES_ASTAKOSCLIENT_POOLSIZE' setting which tunes the size of the
260
  http connection pool to astakos.
261
* Remove 'CYCLADES_USER_CATALOG_URL' and 'CYCLADES_USER_FEEDBACK_URL' settings
262
* Remove CYCLADES_USE_QUOTAHOLDER, CYCLADES_QUOTAHOLDER_TOKEN,
263
  CYCLADES_QUOTAHOLDER_URL, CYCLADES_QUOTAHOLDER_POOLSIZE settings
264
* Rename 'cyclades-usage-verify' management command to
265
  'reconcile-resources-cyclades'. Also, remove 'cyclades-usage-reset' command,
266
  which is equivalent to 'reconcile-resources-cyclades --fix'.
267
* Rename 'cyclades-reconcile-commissions' management command to
268
  'reconcile-commissions-cyclades'.
269
* Remove obsolete 'MAX_VMS_PER_USER', 'MAX_NETWORKS_PER_USER',
270
  "VMS_USER_QUOTA" and "NETWORKS_USER_QUOTA" settings, since their usage
271
  is covered by Quotaholder.
272
* Remove obsolete setting 'API_ROOT_URL', since it is being covered by
273
  the use of CYCLADES_BASE_URL* Remove obsolete setting 'API_ROOT_URL', since
274
  it is being covered by 'CYCLADES_BASE_URL'.
275
* Remove obsolete settings GANETI_DISK_TEMPLATES and
276
  DEFAULT_GANETI_DISK_TEMPLATE
277

    
278
Cyclades helpdesk
279
-----------------
280

    
281
* Additional start/stop vm action
282
* Display extend backend info in vm's view
283
* Fixed IP lookup
284

    
285
Pithos
286
------
287

    
288
* Remove PITHOS_AUTHENTICATION_USERS setting, which was used to override
289
  astakos users.
290
* Remove 'PITHOS_USER_CATALOG_URL', 'PITHOS_USER_FEEDBACK_URL' and
291
  'PITHOS_USER_LOGIN_URL' settings.
292
* Remove PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL,
293
  PITHOS_QUOTAHOLDER_TOKEN and PITHOS_ASTAKOSCLIENT_POOLSIZE
294

    
295
Tools
296
-----
297

    
298

    
299
.. _Changelog-0.13:
300

    
301
v0.13
302
=====
303

    
304
Released: Wed Apr 10 18:52:50 EEST 2013
305

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

    
312
Synnefo-wide
313
------------
314

    
315
* Support for pooling throughout Synnefo
316

    
317
  * Pooled Django DB connections, Pithos backend connections, HTTP
318
    connections using single `objpool` package
319

    
320
* Improved management commands
321

    
322
  * Unified codebase for output of tables in JSON, CSV
323

    
324
* Bring most of Synnefo code inside a single, unified repository
325

    
326
  * support automatic Python and Debian package builds for individual commits
327
  * with automatic version generation
328

    
329
* Overhauling of Synnefo settings: renames and refactoring, for increased
330
  uniformity (in progress)
331
* Deployment: Standardize on gunicorn, with gevent-based workers
332
  and use of Green threads throughout Synnefo
333
* Documentation: New scale-out guide, with distinct node roles,
334
  for mass Synnefo deployments
335

    
336
Astakos
337
-------
338

    
339
* Support multiple authentication methods
340

    
341
  * Classic (username/password), Shibboleth, LDAP/Active Directory,
342
    Google, Twitter, LinkedIn
343
  * Users can enable/disable auth methods, and switch between them
344

    
345
* Introduce a UUID as a global identifier for users, throughout Synnefo
346

    
347
  * The UUID remains constant as the user enables/disables login methods
348

    
349
* Allow users to modify their email address freely
350
* Per-user, per-resource accounting mechanism (quotaholder)
351
* Full quota support, with per-user, per-resource quotas, based on quotaholder
352
* Projects: Users can create and join Projects
353

    
354
  * Projects grant extra resources to their members
355

    
356
* UI Enhancements for quotas and projects
357

    
358
  * distinct Usage tab, showing usage of individual resources
359
  * Project management UI
360
  * New Overview page
361

    
362
* refactored/improved /login endpoint used by desktop/mobile clients.
363
  * endpoint url is now exposed by `weblogin` service
364
  * clients should use unauthenticated identity/tokens api to resolve the 
365
    endpoint url
366
  * view only allows redirects to `pithos://` scheme urls
367
  * removed uuid from redirect parameters. Client should use authenticated 
368
    request to identity/tokens to retrieve user uuid.
369

    
370

    
371
Cyclades
372
--------
373

    
374
* Commission resources on quotaholder/Astakos
375
* Support mass creation of flavors
376
* Support for the ExtStorage disk template in Ganeti
377
* Query and report quotas in the UI
378
* Pass VM configuration parameters over a VM-side API (`vmapi`)
379

    
380
  * Do not pass sensitive data as Ganeti OS parameters
381
  * Keep sensitive data in memory caches (memcached) and
382
    never allow them to hit the disk
383

    
384
* Display additional backend information in helpdesk machines list
385
* Allow helpdesk users to search for an account using a known machine id
386
* Helpdesk actions are now logged using the synnefo's common login
387
  infrastructure
388

    
389
UI
390
^^
391
* Removed feedback endpoint. Feedback requests delegate to astakos feedback
392
  service. ``FEEDBACK_CONTACTS``, ``FEEDBACK_EMAIL_FROM`` settings removed, 
393
  and no longer used.
394
* ``UI_LOGIN_URL``, ``UI_GLANCE_URL``, ``COMPUTE_URL`` settings no longer 
395
  required to be set and are dynamically computed based on ``ASTAKOS_BASE_URL``
396
  and ``CYCLADES_BASE_URL`` settings.
397
* File group is no longer included in ssh keys personality metadata sent in 
398
  create vm calls.
399
  
400

    
401
Pithos
402
------
403

    
404
* Support storage of blocks on a RADOS backend, for Archipelago
405

    
406
  * new settings:
407
    PITHOS_RADOS_STORAGE, PITHOS_RADOS_POOL_BLOCKS, PITHOS_RADOS_POOL_MAPS
408

    
409
* X-Object-Public now contains full url (domain + proper component prefix + 
410
  file path)
411

    
412
* Rewritten support for public URLs, with admin-selectable length
413

    
414
  * new settings:
415
    PITHOS_PUBLIC_URL_SECURITY, PITHOS_PUBLIC_URL_ALPHABET
416

    
417
* Enable pithos backend to use external quotaholder component
418

    
419
  * new settings:
420
    PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL, PITHOS_QUOTAHOLDER_TOKEN,
421
    PITHOS_QUOTAHOLDER_POOLSIZE
422

    
423
* Moderated version debiting mechanism
424

    
425
  * new setting:
426
    PITHOS_BACKEND_FREE_VERSIONING
427

    
428
* Proxy Astakos user-visible services
429

    
430
  * new settings:
431
    PITHOS_PROXY_USER_SERVICES, PITHOS_USER_CATALOG_URL,
432
    PITHOS_USER_FEEDBACK_URL, PITHOS_USER_LOGIN_URL
433

    
434
Tools
435
-----
436

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