Statistics
| Branch: | Tag: | Revision:

root / Changelog @ 885b738f

History | View | Annotate | Download (9.3 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
Astakos
24
-------
25

    
26
* Redesign of the accounting system (quotaholder) and integration into
27
  Astakos.
28

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

    
43
* API-related changes:
44

    
45
  * Implemented API calls for quota, resources, and commissions.
46
  * Moved all API calls under '/account/v1.0'.
47
  * Implemented the keystone API call POST /tokens under '/identity/v2.0'.
48

    
49
* Service and resource specification and handling:
50

    
51
  * Specified a format for defining services along with the API endpoints
52
    and the resources they expose. Migrated internal resource name by
53
    prefixing it with service name (e.g. 'vm' becomes 'cyclades.vm');
54
    renamed registered service 'pithos+' to 'pithos'.
55
  * Specified a procedure to register a Synnefo component, its services and
56
    their resources in astakos and set the resources' default base quota
57
    limit. Removed resource definitions from settings.
58
  * Moved service and resource presentation data out of the respective db
59
    models into a separate file of UI constants.
60

    
61
* Converted the limit on pending applications from a setting to a quotable
62
  resource. Converted the related user setting to a user-specific base quota
63
  limit. Deprecated model UserSetting; removed setting
64
  ASTAKOS_PENDING_APPLICATION_LIMIT.
65

    
66
* Changes in locking strategy:
67

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

    
73
* Changes in views:
74

    
75
  * Replaced custom transaction context with a simple decorator for managing
76
    transactions and a context 'ExceptionHandler', which logs and suppresses
77
    exceptions
78

    
79
* Added fine grain user auth provider's policies.
80

    
81
  * Administrator can override default auth provider policies to a specific 
82
    user or group of users.
83
  * Optionally a user can be assigned to a list of groups, based on the
84
    authentication method he choosed to signup.
85

    
86
* Removed explicit handling of SMTP errors on each email delivery. Exceptions 
87
  are now propagated to base django exception handler.
88

    
89
* Improvements in user activation flow
90

    
91
  * User moderation now takes place after the user has verified his email
92
    address.
93
  * User model enriched with additional user state fields
94
  * Split activation email from moderation process. Administrator is required 
95
    to moderate user explicitly using the `user-modify --accept` or
96
    `user-modify --reject` commands.
97
  * Improved logging throught out user activation procedures.
98

    
99
* Management commands:
100

    
101
  * Introduced new commands:
102
     * authpolicy-{add, list, remove, set, show}
103
     * group-{add, list}
104
     * component-{add, list, modify, remove}
105
     * reconcile-resources-astakos
106
     * resource-{export-astakos, import, modify}
107
     * service-{export-astakos, import, show}
108
  * Renamed commands:
109
     * astakos-quota to quota
110
     * user-update to user-modify
111
     * full-cleanup to cleanup-full
112
  * Removed commands:
113
     * astakos-init
114
     * invitation-{details, list}
115
     * project-sync
116
     * resource-{add, remove}
117
     * service-{add, remove, token-renew, update}
118
     * user-invite
119
     * user-set-initial-quota (integrated its functionality in user-modify and quota)
120
  * Added quota and project-related information in user-show command; added
121
    membership information in project-show.
122

    
123
Cyclades
124
--------
125

    
126
* Make 'type' attribute required for network create API request.
127
* Networks not created to all Ganeti backends upon creation, they are instead
128
  created to a backend only when a VM connects to the network.
129
* Add 'ASTAKOS_POOLSIZE' setting which tunes the size of the http connection
130
  pool to astakos.
131
* Remove 'CYCLADES_USER_CATALOG_URL' and 'CYCLADES_USER_FEEDBACK_URL' settings
132
* Remove CYCLADES_USE_QUOTAHOLDER, CYCLADES_QUOTAHOLDER_TOKEN,
133
  CYCLADES_QUOTAHOLDER_URL, CYCLADES_QUOTAHOLDER_POOLSIZE settings
134
* Rename 'cyclades-usage-verify' management command to
135
  'reconcile-resources-cyclades'. Also, remove 'cyclades-usage-reset' command,
136
  which is equivalent to 'reconcile-resources-cyclades --fix'.
137
* Rename 'cyclades-reconcile-commissions' management command to
138
  'reconcile-commissions-cyclades'.
139
* Remove obsolete 'MAX_VMS_PER_USER', 'MAX_NETWORKS_PER_USER',
140
  "VMS_USER_QUOTA" and "NETWORKS_USER_QUOTA" settings, since their usage
141
  is covered by Quotaholder.
142

    
143
Cyclades helpdesk
144
-----------------
145

    
146
* Additional start/stop vm action
147
* Display extend backend info in vm's view
148
* Fixed IP lookup
149

    
150
Pithos
151
------
152

    
153
* Remove PITHOS_AUTHENTICATION_USERS setting, which was used to override
154
  astakos users.
155
* Remove 'PITHOS_USER_CATALOG_URL', 'PITHOS_USER_FEEDBACK_URL' and
156
  'PITHOS_USER_LOGIN_URL' settings.
157
* Remove PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL,
158
  PITHOS_QUOTAHOLDER_TOKEN and PITHOS_ASTAKOSCLIENT_POOLSIZE
159

    
160
Tools
161
-----
162

    
163

    
164
.. _Changelog-0.13:
165

    
166
v0.13
167
=====
168

    
169
Released: Wed Apr 10 18:52:50 EEST 2013
170

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

    
177
Synnefo-wide
178
------------
179

    
180
* Support for pooling throughout Synnefo
181

    
182
  * Pooled Django DB connections, Pithos backend connections, HTTP
183
    connections using single `objpool` package
184

    
185
* Improved management commands
186

    
187
  * Unified codebase for output of tables in JSON, CSV
188

    
189
* Bring most of Synnefo code inside a single, unified repository
190

    
191
  * support automatic Python and Debian package builds for individual commits
192
  * with automatic version generation
193

    
194
* Overhauling of Synnefo settings: renames and refactoring, for increased
195
  uniformity (in progress)
196
* Deployment: Standardize on gunicorn, with gevent-based workers
197
  and use of Green threads throughout Synnefo
198
* Documentation: New scale-out guide, with distinct node roles,
199
  for mass Synnefo deployments
200

    
201
Astakos
202
-------
203

    
204
* Support multiple authentication methods
205

    
206
  * Classic (username/password), Shibboleth, LDAP/Active Directory,
207
    Google, Twitter, LinkedIn
208
  * Users can enable/disable auth methods, and switch between them
209

    
210
* Introduce a UUID as a global identifier for users, throughout Synnefo
211

    
212
  * The UUID remains constant as the user enables/disables login methods
213

    
214
* Allow users to modify their email address freely
215
* Per-user, per-resource accounting mechanism (quotaholder)
216
* Full quota support, with per-user, per-resource quotas, based on quotaholder
217
* Projects: Users can create and join Projects
218

    
219
  * Projects grant extra resources to their members
220

    
221
* UI Enhancements for quotas and projects
222

    
223
  * distinct Usage tab, showing usage of individual resources
224
  * Project management UI
225
  * New Overview page
226

    
227
Cyclades
228
--------
229

    
230
* Commission resources on quotaholder/Astakos
231
* Support mass creation of flavors
232
* Support for the ExtStorage disk template in Ganeti
233
* Query and report quotas in the UI
234
* Pass VM configuration parameters over a VM-side API (`vmapi`)
235

    
236
  * Do not pass sensitive data as Ganeti OS parameters
237
  * Keep sensitive data in memory caches (memcached) and
238
    never allow them to hit the disk
239

    
240
* Display additional backend information in helpdesk machines list
241
* Allow helpdesk users to search for an account using a known machine id
242
* Helpdesk actions are now logged using the synnefo's common login
243
  infrastructure
244

    
245
Pithos
246
------
247

    
248
* Support storage of blocks on a RADOS backend, for Archipelago
249

    
250
  * new settings:
251
    PITHOS_RADOS_STORAGE, PITHOS_RADOS_POOL_BLOCKS, PITHOS_RADOS_POOL_MAPS
252

    
253
* Rewritten support for public URLs, with admin-selectable length
254

    
255
  * new settings:
256
    PITHOS_PUBLIC_URL_SECURITY, PITHOS_PUBLIC_URL_ALPHABET
257

    
258
* Enable pithos backend to use external quotaholder component
259

    
260
  * new settings:
261
    PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL, PITHOS_QUOTAHOLDER_TOKEN,
262
    PITHOS_QUOTAHOLDER_POOLSIZE
263

    
264
* Moderated version debiting mechanism
265

    
266
  * new setting:
267
    PITHOS_BACKEND_FREE_VERSIONING
268

    
269
* Proxy Astakos user-visible services
270

    
271
  * new settings:
272
    PITHOS_PROXY_USER_SERVICES, PITHOS_USER_CATALOG_URL,
273
    PITHOS_USER_FEEDBACK_URL, PITHOS_USER_LOGIN_URL
274

    
275
Tools
276
-----
277

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