Statistics
| Branch: | Tag: | Revision:

root / Changelog @ 32401481

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.14next:
10

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

    
14
Released: UNRELEASED
15

    
16
Cyclades
17
--------
18

    
19
* Obsolete PUBLIC_USE_POOL setting, since Cyclades manages IP pool for all
20
type of networks.
21

    
22
Pithos
23
------
24

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

    
28
* Enforce container-level atomicity in (most) Pithos API calls.
29

    
30
Synnefo-wide
31
------------
32

    
33
* Integrate Pithos tests in continuous integration.
34
* New settings framework. Settings are annotated with descriptions,
35
default values, and callbacks for configuration and validation.
36
The framework can distinguish between settings configured in files
37
and settings left default. A management command allows listing
38
settings with filtering and various display modes.
39

    
40
.. _Changelog-0.14:
41

    
42
v0.14
43
=====
44

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

    
47
Synnefo-wide
48
------------
49

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

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

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

    
62
* Deprecate CLOUDBAR_ACTIVE_SERVICE setting from all apps. 
63

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

    
66
Astakos
67
-------
68

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

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

    
86
* API-related changes:
87

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

    
92
* Service and resource specification and handling:
93

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

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

    
109
* Changes in locking strategy:
110

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

    
116
* Changes in views:
117

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

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

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

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

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

    
136
* Improvements in user activation flow
137

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

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

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

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

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

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

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

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

    
171
* Management commands:
172

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

    
195
Cyclades
196
--------
197

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

    
220
Cyclades helpdesk
221
-----------------
222

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

    
227
Pithos
228
------
229

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

    
237
Tools
238
-----
239

    
240

    
241
.. _Changelog-0.13:
242

    
243
v0.13
244
=====
245

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

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

    
254
Synnefo-wide
255
------------
256

    
257
* Support for pooling throughout Synnefo
258

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

    
262
* Improved management commands
263

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

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

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

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

    
278
Astakos
279
-------
280

    
281
* Support multiple authentication methods
282

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

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

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

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

    
296
  * Projects grant extra resources to their members
297

    
298
* UI Enhancements for quotas and projects
299

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

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

    
312

    
313
Cyclades
314
--------
315

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

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

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

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

    
343
Pithos
344
------
345

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

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

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

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

    
356
  * new settings:
357
    PITHOS_PUBLIC_URL_SECURITY, PITHOS_PUBLIC_URL_ALPHABET
358

    
359
* Enable pithos backend to use external quotaholder component
360

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

    
365
* Moderated version debiting mechanism
366

    
367
  * new setting:
368
    PITHOS_BACKEND_FREE_VERSIONING
369

    
370
* Proxy Astakos user-visible services
371

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

    
376
Tools
377
-----
378

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