Statistics
| Branch: | Tag: | Revision:

root / Changelog @ 4203a2a1

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
Synnefo-wide
15
------------
16

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

    
23
Released: UNRELEASED
24

    
25
.. _Changelog-0.14.2:
26

    
27
v0.14.2
28
=======
29

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

    
32
Cyclades
33
--------
34

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

    
38
.. _Changelog-0.14:
39

    
40
v0.14
41
=====
42

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

    
45
Synnefo-wide
46
------------
47

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

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

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

    
60
* Deprecate CLOUDBAR_ACTIVE_SERVICE setting from all apps. 
61

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

    
64
Astakos
65
-------
66

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

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

    
84
* API-related changes:
85

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

    
90
* Service and resource specification and handling:
91

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

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

    
107
* Changes in locking strategy:
108

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

    
114
* Changes in views:
115

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

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

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

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

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

    
134
* Improvements in user activation flow
135

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

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

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

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

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

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

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

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

    
169
* Management commands:
170

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

    
193
Cyclades
194
--------
195

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

    
218
Cyclades helpdesk
219
-----------------
220

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

    
225
Pithos
226
------
227

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

    
235
Tools
236
-----
237

    
238

    
239
.. _Changelog-0.13:
240

    
241
v0.13
242
=====
243

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

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

    
252
Synnefo-wide
253
------------
254

    
255
* Support for pooling throughout Synnefo
256

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

    
260
* Improved management commands
261

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

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

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

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

    
276
Astakos
277
-------
278

    
279
* Support multiple authentication methods
280

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

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

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

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

    
294
  * Projects grant extra resources to their members
295

    
296
* UI Enhancements for quotas and projects
297

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

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

    
310

    
311
Cyclades
312
--------
313

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

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

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

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

    
341
Pithos
342
------
343

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

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

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

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

    
354
  * new settings:
355
    PITHOS_PUBLIC_URL_SECURITY, PITHOS_PUBLIC_URL_ALPHABET
356

    
357
* Enable pithos backend to use external quotaholder component
358

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

    
363
* Moderated version debiting mechanism
364

    
365
  * new setting:
366
    PITHOS_BACKEND_FREE_VERSIONING
367

    
368
* Proxy Astakos user-visible services
369

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

    
374
Tools
375
-----
376

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