Statistics
| Branch: | Tag: | Revision:

root / Changelog @ 38be3b6e

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

    
11
v0.14.4
12
=======
13

    
14
Released: Mon Jul 29 12:24:22 EEST 2013
15

    
16
Pithos
17
------
18

    
19
* Fix bug in reconcile resources management command.
20

    
21

    
22
.. _Changelog-0.14.3:
23

    
24
v0.14.3
25
=======
26

    
27
Released: Thu Jul 25 12:22:47 EEST 2013
28

    
29
Synnefo-wide
30
------------
31

    
32
* Use the SYNNEFO_TRACE environmental variable to control whether the greenlet
33
  tracing code will get loaded or not.
34
* Split the HIDDEN_COOKIES setting in HIDDEN_HEADERS and HIDDEN_COOKIES, and
35
  add the MAIL_MAX_LEN setting, to limit the mail size for unhandled
36
  exceptions.
37

    
38

    
39
.. _Changelog-0.14.2:
40

    
41
v0.14.2
42
=======
43

    
44
Released: Fri Jul 12 13:13:32 EEST 2013
45

    
46
Cyclades
47
--------
48

    
49
* Add new setting PITHOS_BACKEND_POOL_SIZE, which configures the size
50
  of the pool of Pithos backends that are used by plankton.
51

    
52
.. _Changelog-0.14:
53

    
54
v0.14
55
=====
56

    
57
Released: Tue Jun 25 14:01:19 EEST 2013
58

    
59
Synnefo-wide
60
------------
61

    
62
* Create 'snf_django' Python package to hold common code for all Synnefo
63
  components.
64

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

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

    
74
* Deprecate CLOUDBAR_ACTIVE_SERVICE setting from all apps. 
75

    
76
* Common synnefo 404/500 templates (located in snf-webproject)
77

    
78
Astakos
79
-------
80

    
81
* Redesign of the accounting system (quotaholder) and integration into
82
  Astakos.
83

    
84
  * Simplified the quotaholder model; removed tables Entity and Policy; now
85
    table Holding contains limit and usage for every holding.
86
  * Extended table Holding, so that we can keep track of quota for every
87
    valid combination of holder (e.g. user), resource, and source (e.g. the
88
    default system or some specific project).
89
  * Refactored code for issuing and resolving commissions for robustness;
90
    added a 'force' option to bypass the upper limit check when issuing a
91
    commission.
92
  * Simplified syncing to the quotaholder; removed fields from models
93
    Project and ProjectMembership, previously needed for syncing; removed
94
    state PROJECT_DEACTIVATED from ProjectMembership.
95
  * Removed settings ASTAKOS_QUOTAHOLDER_URL, ASTAKOS_QUOTAHOLDER_TOKEN,
96
    and ASTAKOS_QUOTAHOLDER_POOLSIZE.
97

    
98
* API-related changes:
99

    
100
  * Implemented API calls for quota, resources, and commissions.
101
  * Moved all API calls under '/account/v1.0'.
102
  * Implemented the keystone API call POST /tokens under '/identity/v2.0'.
103

    
104
* Service and resource specification and handling:
105

    
106
  * Specified a format for defining services along with the API endpoints
107
    and the resources they expose. Migrated internal resource name by
108
    prefixing it with service name (e.g. 'vm' becomes 'cyclades.vm');
109
    renamed registered service 'pithos+' to 'pithos'.
110
  * Specified a procedure to register a Synnefo component, its services and
111
    their resources in astakos and set the resources' default base quota
112
    limit. Removed resource definitions from settings.
113
  * Moved service and resource presentation data out of the respective db
114
    models into a separate file of UI constants.
115

    
116
* Converted the limit on pending applications from a setting to a quotable
117
  resource. Converted the related user setting to a user-specific base quota
118
  limit. Deprecated model UserSetting; removed setting
119
  ASTAKOS_PENDING_APPLICATION_LIMIT.
120

    
121
* Changes in locking strategy:
122

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

    
128
* Changes in views:
129

    
130
  * Replaced custom transaction context with a simple decorator for managing
131
    transactions and a context 'ExceptionHandler', which logs and suppresses
132
    exceptions
133

    
134
* Added fine grain user auth provider's policies.
135

    
136
  * Administrator can override default auth provider policies to a specific 
137
    user or group of users.
138
  * Optionally a user can be assigned to a list of groups, based on the
139
    authentication method he choosed to signup.
140

    
141
* Removed explicit handling of SMTP errors on each email delivery. Exceptions 
142
  are now propagated to base django exception handler.
143

    
144
* Email used in html/email tempaltes which prompt user to contact for service 
145
  support prompts is now defined in ``CONTACT_EMAIL`` setting introduced in 
146
  snf-common settings.
147

    
148
* Improvements in user activation flow
149

    
150
  * User moderation now takes place after the user has verified his email
151
    address.
152
  * User model enriched with additional user state fields
153
  * Split activation email from moderation process. Administrator is required 
154
    to moderate user explicitly using the `user-modify --accept` or
155
    `user-modify --reject` commands.
156
  * Improved logging throught out user activation procedures.
157

    
158
* Remove deprecated AstakosUser model fields: `provider`,
159
  `third_party_identifier`
160

    
161
* Allow override of authentication provider messages using the following 
162
  format in setting names: ``ASTAKOS_<PROVIDER_MODULE>_<MSGID>_MSG``
163

    
164
* Cloudbar automatically tries to identify the active service based on window 
165
  location.
166

    
167
* Removing authentication provider view is now CSRF protected.
168

    
169
* New `API access` view, containing useful information to users on how to 
170
  access available Synnefo services API's.
171

    
172
* Remove of ASTAKOS_*_EMAIL_SUBJECT settings. All email subjects are now 
173
  defined in astakos.im.messages module. Overriding default values can be 
174
  achieved using custom gettext files or using astakos messages settings::
175
	
176
	#change of greeting email subject
177
  	ASTAKOS_GREETING_EMAIL_SUBJECT_MESSAGE = 'Welcome to my cloud'
178

    
179
* Remove ``ASTAKOS_ACTIVATION_REDIRECT_URL`` and ``ASTAKOS_LOGIN_SUCCESS_URL`` 
180
  from astakos .conf file. Settings are dynamically computed based on 
181
  ``ASTAKOS_BASE_URL``.
182

    
183
* Management commands:
184

    
185
  * Introduced new commands:
186
     * authpolicy-{add, list, remove, set, show}
187
     * group-{add, list}
188
     * component-{add, list, modify, remove}
189
     * reconcile-resources-astakos
190
     * resource-{export-astakos, import, modify}
191
     * service-{export-astakos, import, show}
192
  * Renamed commands:
193
     * astakos-quota to quota
194
     * user-update to user-modify
195
     * full-cleanup to cleanup-full
196
  * Removed commands:
197
     * astakos-init
198
     * invitation-{details, list}
199
     * project-sync
200
     * resource-{add, remove}
201
     * service-{add, remove, token-renew, update}
202
     * user-invite
203
     * user-set-initial-quota (integrated its functionality in user-modify and quota)
204
  * Added quota and project-related information in user-show command; added
205
    membership information in project-show.
206

    
207
Cyclades
208
--------
209

    
210
* Make 'type' attribute required for network create API request.
211
* Networks not created to all Ganeti backends upon creation, they are instead
212
  created to a backend only when a VM connects to the network.
213
* Add 'CYCLADES_ASTAKOSCLIENT_POOLSIZE' setting which tunes the size of the
214
  http connection pool to astakos.
215
* Remove 'CYCLADES_USER_CATALOG_URL' and 'CYCLADES_USER_FEEDBACK_URL' settings
216
* Remove CYCLADES_USE_QUOTAHOLDER, CYCLADES_QUOTAHOLDER_TOKEN,
217
  CYCLADES_QUOTAHOLDER_URL, CYCLADES_QUOTAHOLDER_POOLSIZE settings
218
* Rename 'cyclades-usage-verify' management command to
219
  'reconcile-resources-cyclades'. Also, remove 'cyclades-usage-reset' command,
220
  which is equivalent to 'reconcile-resources-cyclades --fix'.
221
* Rename 'cyclades-reconcile-commissions' management command to
222
  'reconcile-commissions-cyclades'.
223
* Remove obsolete 'MAX_VMS_PER_USER', 'MAX_NETWORKS_PER_USER',
224
  "VMS_USER_QUOTA" and "NETWORKS_USER_QUOTA" settings, since their usage
225
  is covered by Quotaholder.
226
* Remove obsolete setting 'API_ROOT_URL', since it is being covered by
227
  the use of CYCLADES_BASE_URL* Remove obsolete setting 'API_ROOT_URL', since
228
  it is being covered by 'CYCLADES_BASE_URL'.
229
* Remove obsolete settings GANETI_DISK_TEMPLATES and
230
  DEFAULT_GANETI_DISK_TEMPLATE
231

    
232
Cyclades helpdesk
233
-----------------
234

    
235
* Additional start/stop vm action
236
* Display extend backend info in vm's view
237
* Fixed IP lookup
238

    
239
Pithos
240
------
241

    
242
* Remove PITHOS_AUTHENTICATION_USERS setting, which was used to override
243
  astakos users.
244
* Remove 'PITHOS_USER_CATALOG_URL', 'PITHOS_USER_FEEDBACK_URL' and
245
  'PITHOS_USER_LOGIN_URL' settings.
246
* Remove PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL,
247
  PITHOS_QUOTAHOLDER_TOKEN and PITHOS_ASTAKOSCLIENT_POOLSIZE
248

    
249
Tools
250
-----
251

    
252

    
253
.. _Changelog-0.13:
254

    
255
v0.13
256
=====
257

    
258
Released: Wed Apr 10 18:52:50 EEST 2013
259

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

    
266
Synnefo-wide
267
------------
268

    
269
* Support for pooling throughout Synnefo
270

    
271
  * Pooled Django DB connections, Pithos backend connections, HTTP
272
    connections using single `objpool` package
273

    
274
* Improved management commands
275

    
276
  * Unified codebase for output of tables in JSON, CSV
277

    
278
* Bring most of Synnefo code inside a single, unified repository
279

    
280
  * support automatic Python and Debian package builds for individual commits
281
  * with automatic version generation
282

    
283
* Overhauling of Synnefo settings: renames and refactoring, for increased
284
  uniformity (in progress)
285
* Deployment: Standardize on gunicorn, with gevent-based workers
286
  and use of Green threads throughout Synnefo
287
* Documentation: New scale-out guide, with distinct node roles,
288
  for mass Synnefo deployments
289

    
290
Astakos
291
-------
292

    
293
* Support multiple authentication methods
294

    
295
  * Classic (username/password), Shibboleth, LDAP/Active Directory,
296
    Google, Twitter, LinkedIn
297
  * Users can enable/disable auth methods, and switch between them
298

    
299
* Introduce a UUID as a global identifier for users, throughout Synnefo
300

    
301
  * The UUID remains constant as the user enables/disables login methods
302

    
303
* Allow users to modify their email address freely
304
* Per-user, per-resource accounting mechanism (quotaholder)
305
* Full quota support, with per-user, per-resource quotas, based on quotaholder
306
* Projects: Users can create and join Projects
307

    
308
  * Projects grant extra resources to their members
309

    
310
* UI Enhancements for quotas and projects
311

    
312
  * distinct Usage tab, showing usage of individual resources
313
  * Project management UI
314
  * New Overview page
315

    
316
* refactored/improved /login endpoint used by desktop/mobile clients.
317
  * endpoint url is now exposed by `weblogin` service
318
  * clients should use unauthenticated identity/tokens api to resolve the 
319
    endpoint url
320
  * view only allows redirects to `pithos://` scheme urls
321
  * removed uuid from redirect parameters. Client should use authenticated 
322
    request to identity/tokens to retrieve user uuid.
323

    
324

    
325
Cyclades
326
--------
327

    
328
* Commission resources on quotaholder/Astakos
329
* Support mass creation of flavors
330
* Support for the ExtStorage disk template in Ganeti
331
* Query and report quotas in the UI
332
* Pass VM configuration parameters over a VM-side API (`vmapi`)
333

    
334
  * Do not pass sensitive data as Ganeti OS parameters
335
  * Keep sensitive data in memory caches (memcached) and
336
    never allow them to hit the disk
337

    
338
* Display additional backend information in helpdesk machines list
339
* Allow helpdesk users to search for an account using a known machine id
340
* Helpdesk actions are now logged using the synnefo's common login
341
  infrastructure
342

    
343
UI
344
^^
345
* Removed feedback endpoint. Feedback requests delegate to astakos feedback
346
  service. ``FEEDBACK_CONTACTS``, ``FEEDBACK_EMAIL_FROM`` settings removed, 
347
  and no longer used.
348
* ``UI_LOGIN_URL``, ``UI_GLANCE_URL``, ``COMPUTE_URL`` settings no longer 
349
  required to be set and are dynamically computed based on ``ASTAKOS_BASE_URL``
350
  and ``CYCLADES_BASE_URL`` settings.
351
* File group is no longer included in ssh keys personality metadata sent in 
352
  create vm calls.
353
  
354

    
355
Pithos
356
------
357

    
358
* Support storage of blocks on a RADOS backend, for Archipelago
359

    
360
  * new settings:
361
    PITHOS_RADOS_STORAGE, PITHOS_RADOS_POOL_BLOCKS, PITHOS_RADOS_POOL_MAPS
362

    
363
* X-Object-Public now contains full url (domain + proper component prefix + 
364
  file path)
365

    
366
* Rewritten support for public URLs, with admin-selectable length
367

    
368
  * new settings:
369
    PITHOS_PUBLIC_URL_SECURITY, PITHOS_PUBLIC_URL_ALPHABET
370

    
371
* Enable pithos backend to use external quotaholder component
372

    
373
  * new settings:
374
    PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL, PITHOS_QUOTAHOLDER_TOKEN,
375
    PITHOS_QUOTAHOLDER_POOLSIZE
376

    
377
* Moderated version debiting mechanism
378

    
379
  * new setting:
380
    PITHOS_BACKEND_FREE_VERSIONING
381

    
382
* Proxy Astakos user-visible services
383

    
384
  * new settings:
385
    PITHOS_PROXY_USER_SERVICES, PITHOS_USER_CATALOG_URL,
386
    PITHOS_USER_FEEDBACK_URL, PITHOS_USER_LOGIN_URL
387

    
388
Tools
389
-----
390

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