Statistics
| Branch: | Tag: | Revision:

root / Changelog @ 0ede3879

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

    
10
.. _Changelog-0.13next:
11

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

    
15
Released: UNRELEASED
16

    
17
Synnefo-wide
18
------------
19

    
20
* Create 'snf_django' Python package to hold common code for all Synnefo
21
  components.
22

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

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

    
32
Astakos
33
-------
34

    
35
* Redesign of the accounting system (quotaholder) and integration into
36
  Astakos.
37

    
38
  * Simplified the quotaholder model; removed tables Entity and Policy; now
39
    table Holding contains limit and usage for every holding.
40
  * Extended table Holding, so that we can keep track of quota for every
41
    valid combination of holder (e.g. user), resource, and source (e.g. the
42
    default system or some specific project).
43
  * Refactored code for issuing and resolving commissions for robustness;
44
    added a 'force' option to bypass the upper limit check when issuing a
45
    commission.
46
  * Simplified syncing to the quotaholder; removed fields from models
47
    Project and ProjectMembership, previously needed for syncing; removed
48
    state PROJECT_DEACTIVATED from ProjectMembership.
49
  * Removed settings ASTAKOS_QUOTAHOLDER_URL, ASTAKOS_QUOTAHOLDER_TOKEN,
50
    and ASTAKOS_QUOTAHOLDER_POOLSIZE.
51

    
52
* API-related changes:
53

    
54
  * Implemented API calls for quota, resources, and commissions.
55
  * Moved all API calls under '/account/v1.0'.
56
  * Implemented the keystone API call POST /tokens under '/identity/v2.0'.
57

    
58
* Service and resource specification and handling:
59

    
60
  * Specified a format for defining services along with the API endpoints
61
    and the resources they expose. Migrated internal resource name by
62
    prefixing it with service name (e.g. 'vm' becomes 'cyclades.vm');
63
    renamed registered service 'pithos+' to 'pithos'.
64
  * Specified a procedure to register a Synnefo component, its services and
65
    their resources in astakos and set the resources' default base quota
66
    limit. Removed resource definitions from settings.
67
  * Moved service and resource presentation data out of the respective db
68
    models into a separate file of UI constants.
69

    
70
* Converted the limit on pending applications from a setting to a quotable
71
  resource. Converted the related user setting to a user-specific base quota
72
  limit. Deprecated model UserSetting; removed setting
73
  ASTAKOS_PENDING_APPLICATION_LIMIT.
74

    
75
* Changes in locking strategy:
76

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

    
82
* Changes in views:
83

    
84
  * Replaced custom transaction context with a simple decorator for managing
85
    transactions and a context 'ExceptionHandler', which logs and suppresses
86
    exceptions
87

    
88
* Added fine grain user auth provider's policies.
89

    
90
  * Administrator can override default auth provider policies to a specific 
91
    user or group of users.
92
  * Optionally a user can be assigned to a list of groups, based on the
93
    authentication method he choosed to signup.
94

    
95
* Removed explicit handling of SMTP errors on each email delivery. Exceptions 
96
  are now propagated to base django exception handler.
97

    
98
* Email used in html/email tempaltes which prompt user to contact for service 
99
  support prompts is now defined in ``CONTACT_EMAIL`` setting introduced in 
100
  snf-common settings.
101

    
102
* Improvements in user activation flow
103

    
104
  * User moderation now takes place after the user has verified his email
105
    address.
106
  * User model enriched with additional user state fields
107
  * Split activation email from moderation process. Administrator is required 
108
    to moderate user explicitly using the `user-modify --accept` or
109
    `user-modify --reject` commands.
110
  * Improved logging throught out user activation procedures.
111

    
112
* Management commands:
113

    
114
  * Introduced new commands:
115
     * authpolicy-{add, list, remove, set, show}
116
     * group-{add, list}
117
     * component-{add, list, modify, remove}
118
     * reconcile-resources-astakos
119
     * resource-{export-astakos, import, modify}
120
     * service-{export-astakos, import, show}
121
  * Renamed commands:
122
     * astakos-quota to quota
123
     * user-update to user-modify
124
     * full-cleanup to cleanup-full
125
  * Removed commands:
126
     * astakos-init
127
     * invitation-{details, list}
128
     * project-sync
129
     * resource-{add, remove}
130
     * service-{add, remove, token-renew, update}
131
     * user-invite
132
     * user-set-initial-quota (integrated its functionality in user-modify and quota)
133
  * Added quota and project-related information in user-show command; added
134
    membership information in project-show.
135

    
136
Cyclades
137
--------
138

    
139
* Make 'type' attribute required for network create API request.
140
* Networks not created to all Ganeti backends upon creation, they are instead
141
  created to a backend only when a VM connects to the network.
142
* Add 'ASTAKOS_POOLSIZE' setting which tunes the size of the http connection
143
  pool to astakos.
144
* Remove 'CYCLADES_USER_CATALOG_URL' and 'CYCLADES_USER_FEEDBACK_URL' settings
145
* Remove CYCLADES_USE_QUOTAHOLDER, CYCLADES_QUOTAHOLDER_TOKEN,
146
  CYCLADES_QUOTAHOLDER_URL, CYCLADES_QUOTAHOLDER_POOLSIZE settings
147
* Rename 'cyclades-usage-verify' management command to
148
  'reconcile-resources-cyclades'. Also, remove 'cyclades-usage-reset' command,
149
  which is equivalent to 'reconcile-resources-cyclades --fix'.
150
* Rename 'cyclades-reconcile-commissions' management command to
151
  'reconcile-commissions-cyclades'.
152
* Remove obsolete 'MAX_VMS_PER_USER', 'MAX_NETWORKS_PER_USER',
153
  "VMS_USER_QUOTA" and "NETWORKS_USER_QUOTA" settings, since their usage
154
  is covered by Quotaholder.
155
* Remove obsolete setting 'API_ROOT_URL', since it is being covered by
156
  the use of CYCLADES_BASE_URL* Remove obsolete setting 'API_ROOT_URL', since
157
  it is being covered by 'CYCLADES_BASE_URL'.
158

    
159
Cyclades helpdesk
160
-----------------
161

    
162
* Additional start/stop vm action
163
* Display extend backend info in vm's view
164
* Fixed IP lookup
165

    
166
Pithos
167
------
168

    
169
* Remove PITHOS_AUTHENTICATION_USERS setting, which was used to override
170
  astakos users.
171
* Remove 'PITHOS_USER_CATALOG_URL', 'PITHOS_USER_FEEDBACK_URL' and
172
  'PITHOS_USER_LOGIN_URL' settings.
173
* Remove PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL,
174
  PITHOS_QUOTAHOLDER_TOKEN and PITHOS_ASTAKOSCLIENT_POOLSIZE
175

    
176
Tools
177
-----
178

    
179

    
180
.. _Changelog-0.13:
181

    
182
v0.13
183
=====
184

    
185
Released: Wed Apr 10 18:52:50 EEST 2013
186

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

    
193
Synnefo-wide
194
------------
195

    
196
* Support for pooling throughout Synnefo
197

    
198
  * Pooled Django DB connections, Pithos backend connections, HTTP
199
    connections using single `objpool` package
200

    
201
* Improved management commands
202

    
203
  * Unified codebase for output of tables in JSON, CSV
204

    
205
* Bring most of Synnefo code inside a single, unified repository
206

    
207
  * support automatic Python and Debian package builds for individual commits
208
  * with automatic version generation
209

    
210
* Overhauling of Synnefo settings: renames and refactoring, for increased
211
  uniformity (in progress)
212
* Deployment: Standardize on gunicorn, with gevent-based workers
213
  and use of Green threads throughout Synnefo
214
* Documentation: New scale-out guide, with distinct node roles,
215
  for mass Synnefo deployments
216

    
217
Astakos
218
-------
219

    
220
* Support multiple authentication methods
221

    
222
  * Classic (username/password), Shibboleth, LDAP/Active Directory,
223
    Google, Twitter, LinkedIn
224
  * Users can enable/disable auth methods, and switch between them
225

    
226
* Introduce a UUID as a global identifier for users, throughout Synnefo
227

    
228
  * The UUID remains constant as the user enables/disables login methods
229

    
230
* Allow users to modify their email address freely
231
* Per-user, per-resource accounting mechanism (quotaholder)
232
* Full quota support, with per-user, per-resource quotas, based on quotaholder
233
* Projects: Users can create and join Projects
234

    
235
  * Projects grant extra resources to their members
236

    
237
* UI Enhancements for quotas and projects
238

    
239
  * distinct Usage tab, showing usage of individual resources
240
  * Project management UI
241
  * New Overview page
242

    
243
Cyclades
244
--------
245

    
246
* Commission resources on quotaholder/Astakos
247
* Support mass creation of flavors
248
* Support for the ExtStorage disk template in Ganeti
249
* Query and report quotas in the UI
250
* Pass VM configuration parameters over a VM-side API (`vmapi`)
251

    
252
  * Do not pass sensitive data as Ganeti OS parameters
253
  * Keep sensitive data in memory caches (memcached) and
254
    never allow them to hit the disk
255

    
256
* Display additional backend information in helpdesk machines list
257
* Allow helpdesk users to search for an account using a known machine id
258
* Helpdesk actions are now logged using the synnefo's common login
259
  infrastructure
260

    
261
Pithos
262
------
263

    
264
* Support storage of blocks on a RADOS backend, for Archipelago
265

    
266
  * new settings:
267
    PITHOS_RADOS_STORAGE, PITHOS_RADOS_POOL_BLOCKS, PITHOS_RADOS_POOL_MAPS
268

    
269
* Rewritten support for public URLs, with admin-selectable length
270

    
271
  * new settings:
272
    PITHOS_PUBLIC_URL_SECURITY, PITHOS_PUBLIC_URL_ALPHABET
273

    
274
* Enable pithos backend to use external quotaholder component
275

    
276
  * new settings:
277
    PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL, PITHOS_QUOTAHOLDER_TOKEN,
278
    PITHOS_QUOTAHOLDER_POOLSIZE
279

    
280
* Moderated version debiting mechanism
281

    
282
  * new setting:
283
    PITHOS_BACKEND_FREE_VERSIONING
284

    
285
* Proxy Astakos user-visible services
286

    
287
  * new settings:
288
    PITHOS_PROXY_USER_SERVICES, PITHOS_USER_CATALOG_URL,
289
    PITHOS_USER_FEEDBACK_URL, PITHOS_USER_LOGIN_URL
290

    
291
Tools
292
-----
293

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