Statistics
| Branch: | Tag: | Revision:

root / Changelog @ 660b9f3b

History | View | Annotate | Download (12.5 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
Synnefo-wide
23
------------
24

    
25
.. _Changelog-0.14:
26

    
27
v0.14
28
=====
29

    
30
Released: Tue Jun 25 14:01:19 EEST 2013
31

    
32
Synnefo-wide
33
------------
34

    
35
* Create 'snf_django' Python package to hold common code for all Synnefo
36
  components.
37

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

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

    
47
* Deprecate CLOUDBAR_ACTIVE_SERVICE setting from all apps. 
48

    
49
* Common synnefo 404/500 templates (located in snf-webproject)
50

    
51
Astakos
52
-------
53

    
54
* Redesign of the accounting system (quotaholder) and integration into
55
  Astakos.
56

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

    
71
* API-related changes:
72

    
73
  * Implemented API calls for quota, resources, and commissions.
74
  * Moved all API calls under '/account/v1.0'.
75
  * Implemented the keystone API call POST /tokens under '/identity/v2.0'.
76

    
77
* Service and resource specification and handling:
78

    
79
  * Specified a format for defining services along with the API endpoints
80
    and the resources they expose. Migrated internal resource name by
81
    prefixing it with service name (e.g. 'vm' becomes 'cyclades.vm');
82
    renamed registered service 'pithos+' to 'pithos'.
83
  * Specified a procedure to register a Synnefo component, its services and
84
    their resources in astakos and set the resources' default base quota
85
    limit. Removed resource definitions from settings.
86
  * Moved service and resource presentation data out of the respective db
87
    models into a separate file of UI constants.
88

    
89
* Converted the limit on pending applications from a setting to a quotable
90
  resource. Converted the related user setting to a user-specific base quota
91
  limit. Deprecated model UserSetting; removed setting
92
  ASTAKOS_PENDING_APPLICATION_LIMIT.
93

    
94
* Changes in locking strategy:
95

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

    
101
* Changes in views:
102

    
103
  * Replaced custom transaction context with a simple decorator for managing
104
    transactions and a context 'ExceptionHandler', which logs and suppresses
105
    exceptions
106

    
107
* Added fine grain user auth provider's policies.
108

    
109
  * Administrator can override default auth provider policies to a specific 
110
    user or group of users.
111
  * Optionally a user can be assigned to a list of groups, based on the
112
    authentication method he choosed to signup.
113

    
114
* Removed explicit handling of SMTP errors on each email delivery. Exceptions 
115
  are now propagated to base django exception handler.
116

    
117
* Email used in html/email tempaltes which prompt user to contact for service 
118
  support prompts is now defined in ``CONTACT_EMAIL`` setting introduced in 
119
  snf-common settings.
120

    
121
* Improvements in user activation flow
122

    
123
  * User moderation now takes place after the user has verified his email
124
    address.
125
  * User model enriched with additional user state fields
126
  * Split activation email from moderation process. Administrator is required 
127
    to moderate user explicitly using the `user-modify --accept` or
128
    `user-modify --reject` commands.
129
  * Improved logging throught out user activation procedures.
130

    
131
* Remove deprecated AstakosUser model fields: `provider`,
132
  `third_party_identifier`
133

    
134
* Allow override of authentication provider messages using the following 
135
  format in setting names: ``ASTAKOS_<PROVIDER_MODULE>_<MSGID>_MSG``
136

    
137
* Cloudbar automatically tries to identify the active service based on window 
138
  location.
139

    
140
* Removing authentication provider view is now CSRF protected.
141

    
142
* New `API access` view, containing useful information to users on how to 
143
  access available Synnefo services API's.
144

    
145
* Remove of ASTAKOS_*_EMAIL_SUBJECT settings. All email subjects are now 
146
  defined in astakos.im.messages module. Overriding default values can be 
147
  achieved using custom gettext files or using astakos messages settings::
148
	
149
	#change of greeting email subject
150
  	ASTAKOS_GREETING_EMAIL_SUBJECT_MESSAGE = 'Welcome to my cloud'
151

    
152
* Remove ``ASTAKOS_ACTIVATION_REDIRECT_URL`` and ``ASTAKOS_LOGIN_SUCCESS_URL`` 
153
  from astakos .conf file. Settings are dynamically computed based on 
154
  ``ASTAKOS_BASE_URL``.
155

    
156
* Management commands:
157

    
158
  * Introduced new commands:
159
     * authpolicy-{add, list, remove, set, show}
160
     * group-{add, list}
161
     * component-{add, list, modify, remove}
162
     * reconcile-resources-astakos
163
     * resource-{export-astakos, import, modify}
164
     * service-{export-astakos, import, show}
165
  * Renamed commands:
166
     * astakos-quota to quota
167
     * user-update to user-modify
168
     * full-cleanup to cleanup-full
169
  * Removed commands:
170
     * astakos-init
171
     * invitation-{details, list}
172
     * project-sync
173
     * resource-{add, remove}
174
     * service-{add, remove, token-renew, update}
175
     * user-invite
176
     * user-set-initial-quota (integrated its functionality in user-modify and quota)
177
  * Added quota and project-related information in user-show command; added
178
    membership information in project-show.
179

    
180
Cyclades
181
--------
182

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

    
205
Cyclades helpdesk
206
-----------------
207

    
208
* Additional start/stop vm action
209
* Display extend backend info in vm's view
210
* Fixed IP lookup
211

    
212
Pithos
213
------
214

    
215
* Remove PITHOS_AUTHENTICATION_USERS setting, which was used to override
216
  astakos users.
217
* Remove 'PITHOS_USER_CATALOG_URL', 'PITHOS_USER_FEEDBACK_URL' and
218
  'PITHOS_USER_LOGIN_URL' settings.
219
* Remove PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL,
220
  PITHOS_QUOTAHOLDER_TOKEN and PITHOS_ASTAKOSCLIENT_POOLSIZE
221

    
222
Tools
223
-----
224

    
225

    
226
.. _Changelog-0.13:
227

    
228
v0.13
229
=====
230

    
231
Released: Wed Apr 10 18:52:50 EEST 2013
232

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

    
239
Synnefo-wide
240
------------
241

    
242
* Support for pooling throughout Synnefo
243

    
244
  * Pooled Django DB connections, Pithos backend connections, HTTP
245
    connections using single `objpool` package
246

    
247
* Improved management commands
248

    
249
  * Unified codebase for output of tables in JSON, CSV
250

    
251
* Bring most of Synnefo code inside a single, unified repository
252

    
253
  * support automatic Python and Debian package builds for individual commits
254
  * with automatic version generation
255

    
256
* Overhauling of Synnefo settings: renames and refactoring, for increased
257
  uniformity (in progress)
258
* Deployment: Standardize on gunicorn, with gevent-based workers
259
  and use of Green threads throughout Synnefo
260
* Documentation: New scale-out guide, with distinct node roles,
261
  for mass Synnefo deployments
262

    
263
Astakos
264
-------
265

    
266
* Support multiple authentication methods
267

    
268
  * Classic (username/password), Shibboleth, LDAP/Active Directory,
269
    Google, Twitter, LinkedIn
270
  * Users can enable/disable auth methods, and switch between them
271

    
272
* Introduce a UUID as a global identifier for users, throughout Synnefo
273

    
274
  * The UUID remains constant as the user enables/disables login methods
275

    
276
* Allow users to modify their email address freely
277
* Per-user, per-resource accounting mechanism (quotaholder)
278
* Full quota support, with per-user, per-resource quotas, based on quotaholder
279
* Projects: Users can create and join Projects
280

    
281
  * Projects grant extra resources to their members
282

    
283
* UI Enhancements for quotas and projects
284

    
285
  * distinct Usage tab, showing usage of individual resources
286
  * Project management UI
287
  * New Overview page
288

    
289
* refactored/improved /login endpoint used by desktop/mobile clients.
290
  * endpoint url is now exposed by `weblogin` service
291
  * clients should use unauthenticated identity/tokens api to resolve the 
292
    endpoint url
293
  * view only allows redirects to `pithos://` scheme urls
294
  * removed uuid from redirect parameters. Client should use authenticated 
295
    request to identity/tokens to retrieve user uuid.
296

    
297

    
298
Cyclades
299
--------
300

    
301
* Commission resources on quotaholder/Astakos
302
* Support mass creation of flavors
303
* Support for the ExtStorage disk template in Ganeti
304
* Query and report quotas in the UI
305
* Pass VM configuration parameters over a VM-side API (`vmapi`)
306

    
307
  * Do not pass sensitive data as Ganeti OS parameters
308
  * Keep sensitive data in memory caches (memcached) and
309
    never allow them to hit the disk
310

    
311
* Display additional backend information in helpdesk machines list
312
* Allow helpdesk users to search for an account using a known machine id
313
* Helpdesk actions are now logged using the synnefo's common login
314
  infrastructure
315

    
316
UI
317
^^
318
* Removed feedback endpoint. Feedback requests delegate to astakos feedback
319
  service. ``FEEDBACK_CONTACTS``, ``FEEDBACK_EMAIL_FROM`` settings removed, 
320
  and no longer used.
321
* ``UI_LOGIN_URL``, ``UI_GLANCE_URL``, ``COMPUTE_URL`` settings no longer 
322
  required to be set and are dynamically computed based on ``ASTAKOS_BASE_URL``
323
  and ``CYCLADES_BASE_URL`` settings.
324
* File group is no longer included in ssh keys personality metadata sent in 
325
  create vm calls.
326
  
327

    
328
Pithos
329
------
330

    
331
* Support storage of blocks on a RADOS backend, for Archipelago
332

    
333
  * new settings:
334
    PITHOS_RADOS_STORAGE, PITHOS_RADOS_POOL_BLOCKS, PITHOS_RADOS_POOL_MAPS
335

    
336
* X-Object-Public now contains full url (domain + proper component prefix + 
337
  file path)
338

    
339
* Rewritten support for public URLs, with admin-selectable length
340

    
341
  * new settings:
342
    PITHOS_PUBLIC_URL_SECURITY, PITHOS_PUBLIC_URL_ALPHABET
343

    
344
* Enable pithos backend to use external quotaholder component
345

    
346
  * new settings:
347
    PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL, PITHOS_QUOTAHOLDER_TOKEN,
348
    PITHOS_QUOTAHOLDER_POOLSIZE
349

    
350
* Moderated version debiting mechanism
351

    
352
  * new setting:
353
    PITHOS_BACKEND_FREE_VERSIONING
354

    
355
* Proxy Astakos user-visible services
356

    
357
  * new settings:
358
    PITHOS_PROXY_USER_SERVICES, PITHOS_USER_CATALOG_URL,
359
    PITHOS_USER_FEEDBACK_URL, PITHOS_USER_LOGIN_URL
360

    
361
Tools
362
-----
363

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