Statistics
| Branch: | Tag: | Revision:

root / Changelog @ cda13b21

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

    
11
v0.14.3
12
=======
13

    
14
Released: Thu Jul 25 12:22:47 EEST 2013
15

    
16
Synnefo-wide
17
------------
18

    
19
* Use the SYNNEFO_TRACE environmental variable to control whether the greenlet
20
  tracing code will get loaded or not.
21
* Split the HIDDEN_COOKIES setting in HIDDEN_HEADERS and HIDDEN_COOKIES, and
22
  add the MAIL_MAX_LEN setting, to limit the mail size for unhandled
23
  exceptions.
24

    
25

    
26
.. _Changelog-0.14.2:
27

    
28
v0.14.2
29
=======
30

    
31
Released: Fri Jul 12 13:13:32 EEST 2013
32

    
33
Cyclades
34
--------
35

    
36
* Add new setting PITHOS_BACKEND_POOL_SIZE, which configures the size
37
  of the pool of Pithos backends that are used by plankton.
38

    
39
.. _Changelog-0.14:
40

    
41
v0.14
42
=====
43

    
44
Released: Tue Jun 25 14:01:19 EEST 2013
45

    
46
Synnefo-wide
47
------------
48

    
49
* Create 'snf_django' Python package to hold common code for all Synnefo
50
  components.
51

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

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

    
61
* Deprecate CLOUDBAR_ACTIVE_SERVICE setting from all apps. 
62

    
63
* Common synnefo 404/500 templates (located in snf-webproject)
64

    
65
Astakos
66
-------
67

    
68
* Redesign of the accounting system (quotaholder) and integration into
69
  Astakos.
70

    
71
  * Simplified the quotaholder model; removed tables Entity and Policy; now
72
    table Holding contains limit and usage for every holding.
73
  * Extended table Holding, so that we can keep track of quota for every
74
    valid combination of holder (e.g. user), resource, and source (e.g. the
75
    default system or some specific project).
76
  * Refactored code for issuing and resolving commissions for robustness;
77
    added a 'force' option to bypass the upper limit check when issuing a
78
    commission.
79
  * Simplified syncing to the quotaholder; removed fields from models
80
    Project and ProjectMembership, previously needed for syncing; removed
81
    state PROJECT_DEACTIVATED from ProjectMembership.
82
  * Removed settings ASTAKOS_QUOTAHOLDER_URL, ASTAKOS_QUOTAHOLDER_TOKEN,
83
    and ASTAKOS_QUOTAHOLDER_POOLSIZE.
84

    
85
* API-related changes:
86

    
87
  * Implemented API calls for quota, resources, and commissions.
88
  * Moved all API calls under '/account/v1.0'.
89
  * Implemented the keystone API call POST /tokens under '/identity/v2.0'.
90

    
91
* Service and resource specification and handling:
92

    
93
  * Specified a format for defining services along with the API endpoints
94
    and the resources they expose. Migrated internal resource name by
95
    prefixing it with service name (e.g. 'vm' becomes 'cyclades.vm');
96
    renamed registered service 'pithos+' to 'pithos'.
97
  * Specified a procedure to register a Synnefo component, its services and
98
    their resources in astakos and set the resources' default base quota
99
    limit. Removed resource definitions from settings.
100
  * Moved service and resource presentation data out of the respective db
101
    models into a separate file of UI constants.
102

    
103
* Converted the limit on pending applications from a setting to a quotable
104
  resource. Converted the related user setting to a user-specific base quota
105
  limit. Deprecated model UserSetting; removed setting
106
  ASTAKOS_PENDING_APPLICATION_LIMIT.
107

    
108
* Changes in locking strategy:
109

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

    
115
* Changes in views:
116

    
117
  * Replaced custom transaction context with a simple decorator for managing
118
    transactions and a context 'ExceptionHandler', which logs and suppresses
119
    exceptions
120

    
121
* Added fine grain user auth provider's policies.
122

    
123
  * Administrator can override default auth provider policies to a specific 
124
    user or group of users.
125
  * Optionally a user can be assigned to a list of groups, based on the
126
    authentication method he choosed to signup.
127

    
128
* Removed explicit handling of SMTP errors on each email delivery. Exceptions 
129
  are now propagated to base django exception handler.
130

    
131
* Email used in html/email tempaltes which prompt user to contact for service 
132
  support prompts is now defined in ``CONTACT_EMAIL`` setting introduced in 
133
  snf-common settings.
134

    
135
* Improvements in user activation flow
136

    
137
  * User moderation now takes place after the user has verified his email
138
    address.
139
  * User model enriched with additional user state fields
140
  * Split activation email from moderation process. Administrator is required 
141
    to moderate user explicitly using the `user-modify --accept` or
142
    `user-modify --reject` commands.
143
  * Improved logging throught out user activation procedures.
144

    
145
* Remove deprecated AstakosUser model fields: `provider`,
146
  `third_party_identifier`
147

    
148
* Allow override of authentication provider messages using the following 
149
  format in setting names: ``ASTAKOS_<PROVIDER_MODULE>_<MSGID>_MSG``
150

    
151
* Cloudbar automatically tries to identify the active service based on window 
152
  location.
153

    
154
* Removing authentication provider view is now CSRF protected.
155

    
156
* New `API access` view, containing useful information to users on how to 
157
  access available Synnefo services API's.
158

    
159
* Remove of ASTAKOS_*_EMAIL_SUBJECT settings. All email subjects are now 
160
  defined in astakos.im.messages module. Overriding default values can be 
161
  achieved using custom gettext files or using astakos messages settings::
162
	
163
	#change of greeting email subject
164
  	ASTAKOS_GREETING_EMAIL_SUBJECT_MESSAGE = 'Welcome to my cloud'
165

    
166
* Remove ``ASTAKOS_ACTIVATION_REDIRECT_URL`` and ``ASTAKOS_LOGIN_SUCCESS_URL`` 
167
  from astakos .conf file. Settings are dynamically computed based on 
168
  ``ASTAKOS_BASE_URL``.
169

    
170
* Management commands:
171

    
172
  * Introduced new commands:
173
     * authpolicy-{add, list, remove, set, show}
174
     * group-{add, list}
175
     * component-{add, list, modify, remove}
176
     * reconcile-resources-astakos
177
     * resource-{export-astakos, import, modify}
178
     * service-{export-astakos, import, show}
179
  * Renamed commands:
180
     * astakos-quota to quota
181
     * user-update to user-modify
182
     * full-cleanup to cleanup-full
183
  * Removed commands:
184
     * astakos-init
185
     * invitation-{details, list}
186
     * project-sync
187
     * resource-{add, remove}
188
     * service-{add, remove, token-renew, update}
189
     * user-invite
190
     * user-set-initial-quota (integrated its functionality in user-modify and quota)
191
  * Added quota and project-related information in user-show command; added
192
    membership information in project-show.
193

    
194
Cyclades
195
--------
196

    
197
* Make 'type' attribute required for network create API request.
198
* Networks not created to all Ganeti backends upon creation, they are instead
199
  created to a backend only when a VM connects to the network.
200
* Add 'CYCLADES_ASTAKOSCLIENT_POOLSIZE' setting which tunes the size of the
201
  http connection pool to astakos.
202
* Remove 'CYCLADES_USER_CATALOG_URL' and 'CYCLADES_USER_FEEDBACK_URL' settings
203
* Remove CYCLADES_USE_QUOTAHOLDER, CYCLADES_QUOTAHOLDER_TOKEN,
204
  CYCLADES_QUOTAHOLDER_URL, CYCLADES_QUOTAHOLDER_POOLSIZE settings
205
* Rename 'cyclades-usage-verify' management command to
206
  'reconcile-resources-cyclades'. Also, remove 'cyclades-usage-reset' command,
207
  which is equivalent to 'reconcile-resources-cyclades --fix'.
208
* Rename 'cyclades-reconcile-commissions' management command to
209
  'reconcile-commissions-cyclades'.
210
* Remove obsolete 'MAX_VMS_PER_USER', 'MAX_NETWORKS_PER_USER',
211
  "VMS_USER_QUOTA" and "NETWORKS_USER_QUOTA" settings, since their usage
212
  is covered by Quotaholder.
213
* Remove obsolete setting 'API_ROOT_URL', since it is being covered by
214
  the use of CYCLADES_BASE_URL* Remove obsolete setting 'API_ROOT_URL', since
215
  it is being covered by 'CYCLADES_BASE_URL'.
216
* Remove obsolete settings GANETI_DISK_TEMPLATES and
217
  DEFAULT_GANETI_DISK_TEMPLATE
218

    
219
Cyclades helpdesk
220
-----------------
221

    
222
* Additional start/stop vm action
223
* Display extend backend info in vm's view
224
* Fixed IP lookup
225

    
226
Pithos
227
------
228

    
229
* Remove PITHOS_AUTHENTICATION_USERS setting, which was used to override
230
  astakos users.
231
* Remove 'PITHOS_USER_CATALOG_URL', 'PITHOS_USER_FEEDBACK_URL' and
232
  'PITHOS_USER_LOGIN_URL' settings.
233
* Remove PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL,
234
  PITHOS_QUOTAHOLDER_TOKEN and PITHOS_ASTAKOSCLIENT_POOLSIZE
235

    
236
Tools
237
-----
238

    
239

    
240
.. _Changelog-0.13:
241

    
242
v0.13
243
=====
244

    
245
Released: Wed Apr 10 18:52:50 EEST 2013
246

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

    
253
Synnefo-wide
254
------------
255

    
256
* Support for pooling throughout Synnefo
257

    
258
  * Pooled Django DB connections, Pithos backend connections, HTTP
259
    connections using single `objpool` package
260

    
261
* Improved management commands
262

    
263
  * Unified codebase for output of tables in JSON, CSV
264

    
265
* Bring most of Synnefo code inside a single, unified repository
266

    
267
  * support automatic Python and Debian package builds for individual commits
268
  * with automatic version generation
269

    
270
* Overhauling of Synnefo settings: renames and refactoring, for increased
271
  uniformity (in progress)
272
* Deployment: Standardize on gunicorn, with gevent-based workers
273
  and use of Green threads throughout Synnefo
274
* Documentation: New scale-out guide, with distinct node roles,
275
  for mass Synnefo deployments
276

    
277
Astakos
278
-------
279

    
280
* Support multiple authentication methods
281

    
282
  * Classic (username/password), Shibboleth, LDAP/Active Directory,
283
    Google, Twitter, LinkedIn
284
  * Users can enable/disable auth methods, and switch between them
285

    
286
* Introduce a UUID as a global identifier for users, throughout Synnefo
287

    
288
  * The UUID remains constant as the user enables/disables login methods
289

    
290
* Allow users to modify their email address freely
291
* Per-user, per-resource accounting mechanism (quotaholder)
292
* Full quota support, with per-user, per-resource quotas, based on quotaholder
293
* Projects: Users can create and join Projects
294

    
295
  * Projects grant extra resources to their members
296

    
297
* UI Enhancements for quotas and projects
298

    
299
  * distinct Usage tab, showing usage of individual resources
300
  * Project management UI
301
  * New Overview page
302

    
303
* refactored/improved /login endpoint used by desktop/mobile clients.
304
  * endpoint url is now exposed by `weblogin` service
305
  * clients should use unauthenticated identity/tokens api to resolve the 
306
    endpoint url
307
  * view only allows redirects to `pithos://` scheme urls
308
  * removed uuid from redirect parameters. Client should use authenticated 
309
    request to identity/tokens to retrieve user uuid.
310

    
311

    
312
Cyclades
313
--------
314

    
315
* Commission resources on quotaholder/Astakos
316
* Support mass creation of flavors
317
* Support for the ExtStorage disk template in Ganeti
318
* Query and report quotas in the UI
319
* Pass VM configuration parameters over a VM-side API (`vmapi`)
320

    
321
  * Do not pass sensitive data as Ganeti OS parameters
322
  * Keep sensitive data in memory caches (memcached) and
323
    never allow them to hit the disk
324

    
325
* Display additional backend information in helpdesk machines list
326
* Allow helpdesk users to search for an account using a known machine id
327
* Helpdesk actions are now logged using the synnefo's common login
328
  infrastructure
329

    
330
UI
331
^^
332
* Removed feedback endpoint. Feedback requests delegate to astakos feedback
333
  service. ``FEEDBACK_CONTACTS``, ``FEEDBACK_EMAIL_FROM`` settings removed, 
334
  and no longer used.
335
* ``UI_LOGIN_URL``, ``UI_GLANCE_URL``, ``COMPUTE_URL`` settings no longer 
336
  required to be set and are dynamically computed based on ``ASTAKOS_BASE_URL``
337
  and ``CYCLADES_BASE_URL`` settings.
338
* File group is no longer included in ssh keys personality metadata sent in 
339
  create vm calls.
340
  
341

    
342
Pithos
343
------
344

    
345
* Support storage of blocks on a RADOS backend, for Archipelago
346

    
347
  * new settings:
348
    PITHOS_RADOS_STORAGE, PITHOS_RADOS_POOL_BLOCKS, PITHOS_RADOS_POOL_MAPS
349

    
350
* X-Object-Public now contains full url (domain + proper component prefix + 
351
  file path)
352

    
353
* Rewritten support for public URLs, with admin-selectable length
354

    
355
  * new settings:
356
    PITHOS_PUBLIC_URL_SECURITY, PITHOS_PUBLIC_URL_ALPHABET
357

    
358
* Enable pithos backend to use external quotaholder component
359

    
360
  * new settings:
361
    PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL, PITHOS_QUOTAHOLDER_TOKEN,
362
    PITHOS_QUOTAHOLDER_POOLSIZE
363

    
364
* Moderated version debiting mechanism
365

    
366
  * new setting:
367
    PITHOS_BACKEND_FREE_VERSIONING
368

    
369
* Proxy Astakos user-visible services
370

    
371
  * new settings:
372
    PITHOS_PROXY_USER_SERVICES, PITHOS_USER_CATALOG_URL,
373
    PITHOS_USER_FEEDBACK_URL, PITHOS_USER_LOGIN_URL
374

    
375
Tools
376
-----
377

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