Statistics
| Branch: | Tag: | Revision:

root / Changelog @ 020fcb50

History | View | Annotate | Download (12.8 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

    
35
.. _Changelog-0.14:
36

    
37
v0.14
38
=====
39

    
40
Released: Tue Jun 25 14:01:19 EEST 2013
41

    
42
Synnefo-wide
43
------------
44

    
45
* Create 'snf_django' Python package to hold common code for all Synnefo
46
  components.
47

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

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

    
57
* Deprecate CLOUDBAR_ACTIVE_SERVICE setting from all apps. 
58

    
59
* Common synnefo 404/500 templates (located in snf-webproject)
60

    
61
Astakos
62
-------
63

    
64
* Redesign of the accounting system (quotaholder) and integration into
65
  Astakos.
66

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

    
81
* API-related changes:
82

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

    
87
* Service and resource specification and handling:
88

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

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

    
104
* Changes in locking strategy:
105

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

    
111
* Changes in views:
112

    
113
  * Replaced custom transaction context with a simple decorator for managing
114
    transactions and a context 'ExceptionHandler', which logs and suppresses
115
    exceptions
116

    
117
* Added fine grain user auth provider's policies.
118

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

    
124
* Removed explicit handling of SMTP errors on each email delivery. Exceptions 
125
  are now propagated to base django exception handler.
126

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

    
131
* Improvements in user activation flow
132

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

    
141
* Remove deprecated AstakosUser model fields: `provider`,
142
  `third_party_identifier`
143

    
144
* Allow override of authentication provider messages using the following 
145
  format in setting names: ``ASTAKOS_<PROVIDER_MODULE>_<MSGID>_MSG``
146

    
147
* Cloudbar automatically tries to identify the active service based on window 
148
  location.
149

    
150
* Removing authentication provider view is now CSRF protected.
151

    
152
* New `API access` view, containing useful information to users on how to 
153
  access available Synnefo services API's.
154

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

    
162
* Remove ``ASTAKOS_ACTIVATION_REDIRECT_URL`` and ``ASTAKOS_LOGIN_SUCCESS_URL`` 
163
  from astakos .conf file. Settings are dynamically computed based on 
164
  ``ASTAKOS_BASE_URL``.
165

    
166
* Management commands:
167

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

    
190
Cyclades
191
--------
192

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

    
215
Cyclades helpdesk
216
-----------------
217

    
218
* Additional start/stop vm action
219
* Display extend backend info in vm's view
220
* Fixed IP lookup
221

    
222
Pithos
223
------
224

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

    
232
Tools
233
-----
234

    
235

    
236
.. _Changelog-0.13:
237

    
238
v0.13
239
=====
240

    
241
Released: Wed Apr 10 18:52:50 EEST 2013
242

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

    
249
Synnefo-wide
250
------------
251

    
252
* Support for pooling throughout Synnefo
253

    
254
  * Pooled Django DB connections, Pithos backend connections, HTTP
255
    connections using single `objpool` package
256

    
257
* Improved management commands
258

    
259
  * Unified codebase for output of tables in JSON, CSV
260

    
261
* Bring most of Synnefo code inside a single, unified repository
262

    
263
  * support automatic Python and Debian package builds for individual commits
264
  * with automatic version generation
265

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

    
273
Astakos
274
-------
275

    
276
* Support multiple authentication methods
277

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

    
282
* Introduce a UUID as a global identifier for users, throughout Synnefo
283

    
284
  * The UUID remains constant as the user enables/disables login methods
285

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

    
291
  * Projects grant extra resources to their members
292

    
293
* UI Enhancements for quotas and projects
294

    
295
  * distinct Usage tab, showing usage of individual resources
296
  * Project management UI
297
  * New Overview page
298

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

    
307

    
308
Cyclades
309
--------
310

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

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

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

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

    
338
Pithos
339
------
340

    
341
* Support storage of blocks on a RADOS backend, for Archipelago
342

    
343
  * new settings:
344
    PITHOS_RADOS_STORAGE, PITHOS_RADOS_POOL_BLOCKS, PITHOS_RADOS_POOL_MAPS
345

    
346
* X-Object-Public now contains full url (domain + proper component prefix + 
347
  file path)
348

    
349
* Rewritten support for public URLs, with admin-selectable length
350

    
351
  * new settings:
352
    PITHOS_PUBLIC_URL_SECURITY, PITHOS_PUBLIC_URL_ALPHABET
353

    
354
* Enable pithos backend to use external quotaholder component
355

    
356
  * new settings:
357
    PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL, PITHOS_QUOTAHOLDER_TOKEN,
358
    PITHOS_QUOTAHOLDER_POOLSIZE
359

    
360
* Moderated version debiting mechanism
361

    
362
  * new setting:
363
    PITHOS_BACKEND_FREE_VERSIONING
364

    
365
* Proxy Astakos user-visible services
366

    
367
  * new settings:
368
    PITHOS_PROXY_USER_SERVICES, PITHOS_USER_CATALOG_URL,
369
    PITHOS_USER_FEEDBACK_URL, PITHOS_USER_LOGIN_URL
370

    
371
Tools
372
-----
373

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