Statistics
| Branch: | Tag: | Revision:

root / Changelog @ 10e02f56

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

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

    
14
Released: UNRELEASED
15

    
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

    
45
Pithos
46
------
47

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

    
51
* Enforce container-level atomicity in (most) Pithos API calls.
52

    
53
.. _Changelog-0.14.2:
54

    
55
Released: Fri Jul 12 13:13:32 EEST 2013
56

    
57
v0.14.2
58
=======
59

    
60
Cyclades
61
--------
62

    
63
* Add new setting PITHOS_BACKEND_POOL_SIZE, which configures the size
64
  of the pool of Pithos backends that are used by plankton.
65

    
66

    
67
.. _Changelog-0.14:
68

    
69
v0.14
70
=====
71

    
72
Released: Tue Jun 25 14:01:19 EEST 2013
73

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

    
77
* Create 'snf_django' Python package to hold common code for all Synnefo
78
  components.
79

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

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

    
89
* Deprecate CLOUDBAR_ACTIVE_SERVICE setting from all apps. 
90

    
91
* Common synnefo 404/500 templates (located in snf-webproject)
92

    
93
Astakos
94
-------
95

    
96
* Redesign of the accounting system (quotaholder) and integration into
97
  Astakos.
98

    
99
  * Simplified the quotaholder model; removed tables Entity and Policy; now
100
    table Holding contains limit and usage for every holding.
101
  * Extended table Holding, so that we can keep track of quota for every
102
    valid combination of holder (e.g. user), resource, and source (e.g. the
103
    default system or some specific project).
104
  * Refactored code for issuing and resolving commissions for robustness;
105
    added a 'force' option to bypass the upper limit check when issuing a
106
    commission.
107
  * Simplified syncing to the quotaholder; removed fields from models
108
    Project and ProjectMembership, previously needed for syncing; removed
109
    state PROJECT_DEACTIVATED from ProjectMembership.
110
  * Removed settings ASTAKOS_QUOTAHOLDER_URL, ASTAKOS_QUOTAHOLDER_TOKEN,
111
    and ASTAKOS_QUOTAHOLDER_POOLSIZE.
112

    
113
* API-related changes:
114

    
115
  * Implemented API calls for quota, resources, and commissions.
116
  * Moved all API calls under '/account/v1.0'.
117
  * Implemented the keystone API call POST /tokens under '/identity/v2.0'.
118

    
119
* Service and resource specification and handling:
120

    
121
  * Specified a format for defining services along with the API endpoints
122
    and the resources they expose. Migrated internal resource name by
123
    prefixing it with service name (e.g. 'vm' becomes 'cyclades.vm');
124
    renamed registered service 'pithos+' to 'pithos'.
125
  * Specified a procedure to register a Synnefo component, its services and
126
    their resources in astakos and set the resources' default base quota
127
    limit. Removed resource definitions from settings.
128
  * Moved service and resource presentation data out of the respective db
129
    models into a separate file of UI constants.
130

    
131
* Converted the limit on pending applications from a setting to a quotable
132
  resource. Converted the related user setting to a user-specific base quota
133
  limit. Deprecated model UserSetting; removed setting
134
  ASTAKOS_PENDING_APPLICATION_LIMIT.
135

    
136
* Changes in locking strategy:
137

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

    
143
* Changes in views:
144

    
145
  * Replaced custom transaction context with a simple decorator for managing
146
    transactions and a context 'ExceptionHandler', which logs and suppresses
147
    exceptions
148

    
149
* Added fine grain user auth provider's policies.
150

    
151
  * Administrator can override default auth provider policies to a specific 
152
    user or group of users.
153
  * Optionally a user can be assigned to a list of groups, based on the
154
    authentication method he choosed to signup.
155

    
156
* Removed explicit handling of SMTP errors on each email delivery. Exceptions 
157
  are now propagated to base django exception handler.
158

    
159
* Email used in html/email tempaltes which prompt user to contact for service 
160
  support prompts is now defined in ``CONTACT_EMAIL`` setting introduced in 
161
  snf-common settings.
162

    
163
* Improvements in user activation flow
164

    
165
  * User moderation now takes place after the user has verified his email
166
    address.
167
  * User model enriched with additional user state fields
168
  * Split activation email from moderation process. Administrator is required 
169
    to moderate user explicitly using the `user-modify --accept` or
170
    `user-modify --reject` commands.
171
  * Improved logging throught out user activation procedures.
172

    
173
* Remove deprecated AstakosUser model fields: `provider`,
174
  `third_party_identifier`
175

    
176
* Allow override of authentication provider messages using the following 
177
  format in setting names: ``ASTAKOS_<PROVIDER_MODULE>_<MSGID>_MSG``
178

    
179
* Cloudbar automatically tries to identify the active service based on window 
180
  location.
181

    
182
* Removing authentication provider view is now CSRF protected.
183

    
184
* New `API access` view, containing useful information to users on how to 
185
  access available Synnefo services API's.
186

    
187
* Remove of ASTAKOS_*_EMAIL_SUBJECT settings. All email subjects are now 
188
  defined in astakos.im.messages module. Overriding default values can be 
189
  achieved using custom gettext files or using astakos messages settings::
190
	
191
	#change of greeting email subject
192
  	ASTAKOS_GREETING_EMAIL_SUBJECT_MESSAGE = 'Welcome to my cloud'
193

    
194
* Remove ``ASTAKOS_ACTIVATION_REDIRECT_URL`` and ``ASTAKOS_LOGIN_SUCCESS_URL`` 
195
  from astakos .conf file. Settings are dynamically computed based on 
196
  ``ASTAKOS_BASE_URL``.
197

    
198
* Management commands:
199

    
200
  * Introduced new commands:
201
     * authpolicy-{add, list, remove, set, show}
202
     * group-{add, list}
203
     * component-{add, list, modify, remove}
204
     * reconcile-resources-astakos
205
     * resource-{export-astakos, import, modify}
206
     * service-{export-astakos, import, show}
207
  * Renamed commands:
208
     * astakos-quota to quota
209
     * user-update to user-modify
210
     * full-cleanup to cleanup-full
211
  * Removed commands:
212
     * astakos-init
213
     * invitation-{details, list}
214
     * project-sync
215
     * resource-{add, remove}
216
     * service-{add, remove, token-renew, update}
217
     * user-invite
218
     * user-set-initial-quota (integrated its functionality in user-modify and quota)
219
  * Added quota and project-related information in user-show command; added
220
    membership information in project-show.
221

    
222
Cyclades
223
--------
224

    
225
* Make 'type' attribute required for network create API request.
226
* Networks not created to all Ganeti backends upon creation, they are instead
227
  created to a backend only when a VM connects to the network.
228
* Add 'CYCLADES_ASTAKOSCLIENT_POOLSIZE' setting which tunes the size of the
229
  http connection pool to astakos.
230
* Remove 'CYCLADES_USER_CATALOG_URL' and 'CYCLADES_USER_FEEDBACK_URL' settings
231
* Remove CYCLADES_USE_QUOTAHOLDER, CYCLADES_QUOTAHOLDER_TOKEN,
232
  CYCLADES_QUOTAHOLDER_URL, CYCLADES_QUOTAHOLDER_POOLSIZE settings
233
* Rename 'cyclades-usage-verify' management command to
234
  'reconcile-resources-cyclades'. Also, remove 'cyclades-usage-reset' command,
235
  which is equivalent to 'reconcile-resources-cyclades --fix'.
236
* Rename 'cyclades-reconcile-commissions' management command to
237
  'reconcile-commissions-cyclades'.
238
* Remove obsolete 'MAX_VMS_PER_USER', 'MAX_NETWORKS_PER_USER',
239
  "VMS_USER_QUOTA" and "NETWORKS_USER_QUOTA" settings, since their usage
240
  is covered by Quotaholder.
241
* Remove obsolete setting 'API_ROOT_URL', since it is being covered by
242
  the use of CYCLADES_BASE_URL* Remove obsolete setting 'API_ROOT_URL', since
243
  it is being covered by 'CYCLADES_BASE_URL'.
244
* Remove obsolete settings GANETI_DISK_TEMPLATES and
245
  DEFAULT_GANETI_DISK_TEMPLATE
246

    
247
Cyclades helpdesk
248
-----------------
249

    
250
* Additional start/stop vm action
251
* Display extend backend info in vm's view
252
* Fixed IP lookup
253

    
254
Pithos
255
------
256

    
257
* Remove PITHOS_AUTHENTICATION_USERS setting, which was used to override
258
  astakos users.
259
* Remove 'PITHOS_USER_CATALOG_URL', 'PITHOS_USER_FEEDBACK_URL' and
260
  'PITHOS_USER_LOGIN_URL' settings.
261
* Remove PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL,
262
  PITHOS_QUOTAHOLDER_TOKEN and PITHOS_ASTAKOSCLIENT_POOLSIZE
263

    
264
Tools
265
-----
266

    
267

    
268
.. _Changelog-0.13:
269

    
270
v0.13
271
=====
272

    
273
Released: Wed Apr 10 18:52:50 EEST 2013
274

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

    
281
Synnefo-wide
282
------------
283

    
284
* Support for pooling throughout Synnefo
285

    
286
  * Pooled Django DB connections, Pithos backend connections, HTTP
287
    connections using single `objpool` package
288

    
289
* Improved management commands
290

    
291
  * Unified codebase for output of tables in JSON, CSV
292

    
293
* Bring most of Synnefo code inside a single, unified repository
294

    
295
  * support automatic Python and Debian package builds for individual commits
296
  * with automatic version generation
297

    
298
* Overhauling of Synnefo settings: renames and refactoring, for increased
299
  uniformity (in progress)
300
* Deployment: Standardize on gunicorn, with gevent-based workers
301
  and use of Green threads throughout Synnefo
302
* Documentation: New scale-out guide, with distinct node roles,
303
  for mass Synnefo deployments
304

    
305
Astakos
306
-------
307

    
308
* Support multiple authentication methods
309

    
310
  * Classic (username/password), Shibboleth, LDAP/Active Directory,
311
    Google, Twitter, LinkedIn
312
  * Users can enable/disable auth methods, and switch between them
313

    
314
* Introduce a UUID as a global identifier for users, throughout Synnefo
315

    
316
  * The UUID remains constant as the user enables/disables login methods
317

    
318
* Allow users to modify their email address freely
319
* Per-user, per-resource accounting mechanism (quotaholder)
320
* Full quota support, with per-user, per-resource quotas, based on quotaholder
321
* Projects: Users can create and join Projects
322

    
323
  * Projects grant extra resources to their members
324

    
325
* UI Enhancements for quotas and projects
326

    
327
  * distinct Usage tab, showing usage of individual resources
328
  * Project management UI
329
  * New Overview page
330

    
331
* refactored/improved /login endpoint used by desktop/mobile clients.
332
  * endpoint url is now exposed by `weblogin` service
333
  * clients should use unauthenticated identity/tokens api to resolve the 
334
    endpoint url
335
  * view only allows redirects to `pithos://` scheme urls
336
  * removed uuid from redirect parameters. Client should use authenticated 
337
    request to identity/tokens to retrieve user uuid.
338

    
339

    
340
Cyclades
341
--------
342

    
343
* Commission resources on quotaholder/Astakos
344
* Support mass creation of flavors
345
* Support for the ExtStorage disk template in Ganeti
346
* Query and report quotas in the UI
347
* Pass VM configuration parameters over a VM-side API (`vmapi`)
348

    
349
  * Do not pass sensitive data as Ganeti OS parameters
350
  * Keep sensitive data in memory caches (memcached) and
351
    never allow them to hit the disk
352

    
353
* Display additional backend information in helpdesk machines list
354
* Allow helpdesk users to search for an account using a known machine id
355
* Helpdesk actions are now logged using the synnefo's common login
356
  infrastructure
357

    
358
UI
359
^^
360
* Removed feedback endpoint. Feedback requests delegate to astakos feedback
361
  service. ``FEEDBACK_CONTACTS``, ``FEEDBACK_EMAIL_FROM`` settings removed, 
362
  and no longer used.
363
* ``UI_LOGIN_URL``, ``UI_GLANCE_URL``, ``COMPUTE_URL`` settings no longer 
364
  required to be set and are dynamically computed based on ``ASTAKOS_BASE_URL``
365
  and ``CYCLADES_BASE_URL`` settings.
366
* File group is no longer included in ssh keys personality metadata sent in 
367
  create vm calls.
368
  
369

    
370
Pithos
371
------
372

    
373
* Support storage of blocks on a RADOS backend, for Archipelago
374

    
375
  * new settings:
376
    PITHOS_RADOS_STORAGE, PITHOS_RADOS_POOL_BLOCKS, PITHOS_RADOS_POOL_MAPS
377

    
378
* X-Object-Public now contains full url (domain + proper component prefix + 
379
  file path)
380

    
381
* Rewritten support for public URLs, with admin-selectable length
382

    
383
  * new settings:
384
    PITHOS_PUBLIC_URL_SECURITY, PITHOS_PUBLIC_URL_ALPHABET
385

    
386
* Enable pithos backend to use external quotaholder component
387

    
388
  * new settings:
389
    PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL, PITHOS_QUOTAHOLDER_TOKEN,
390
    PITHOS_QUOTAHOLDER_POOLSIZE
391

    
392
* Moderated version debiting mechanism
393

    
394
  * new setting:
395
    PITHOS_BACKEND_FREE_VERSIONING
396

    
397
* Proxy Astakos user-visible services
398

    
399
  * new settings:
400
    PITHOS_PROXY_USER_SERVICES, PITHOS_USER_CATALOG_URL,
401
    PITHOS_USER_FEEDBACK_URL, PITHOS_USER_LOGIN_URL
402

    
403
Tools
404
-----
405

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