Statistics
| Branch: | Tag: | Revision:

root / Changelog @ 269ac8de

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

    
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
* Improvements in user activation flow
99

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

    
108
* Management commands:
109

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

    
132
Cyclades
133
--------
134

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

    
152
Cyclades helpdesk
153
-----------------
154

    
155
* Additional start/stop vm action
156
* Display extend backend info in vm's view
157
* Fixed IP lookup
158

    
159
Pithos
160
------
161

    
162
* Remove PITHOS_AUTHENTICATION_USERS setting, which was used to override
163
  astakos users.
164
* Remove 'PITHOS_USER_CATALOG_URL', 'PITHOS_USER_FEEDBACK_URL' and
165
  'PITHOS_USER_LOGIN_URL' settings.
166
* Remove PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL,
167
  PITHOS_QUOTAHOLDER_TOKEN and PITHOS_ASTAKOSCLIENT_POOLSIZE
168

    
169
Tools
170
-----
171

    
172

    
173
.. _Changelog-0.13:
174

    
175
v0.13
176
=====
177

    
178
Released: Wed Apr 10 18:52:50 EEST 2013
179

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

    
186
Synnefo-wide
187
------------
188

    
189
* Support for pooling throughout Synnefo
190

    
191
  * Pooled Django DB connections, Pithos backend connections, HTTP
192
    connections using single `objpool` package
193

    
194
* Improved management commands
195

    
196
  * Unified codebase for output of tables in JSON, CSV
197

    
198
* Bring most of Synnefo code inside a single, unified repository
199

    
200
  * support automatic Python and Debian package builds for individual commits
201
  * with automatic version generation
202

    
203
* Overhauling of Synnefo settings: renames and refactoring, for increased
204
  uniformity (in progress)
205
* Deployment: Standardize on gunicorn, with gevent-based workers
206
  and use of Green threads throughout Synnefo
207
* Documentation: New scale-out guide, with distinct node roles,
208
  for mass Synnefo deployments
209

    
210
Astakos
211
-------
212

    
213
* Support multiple authentication methods
214

    
215
  * Classic (username/password), Shibboleth, LDAP/Active Directory,
216
    Google, Twitter, LinkedIn
217
  * Users can enable/disable auth methods, and switch between them
218

    
219
* Introduce a UUID as a global identifier for users, throughout Synnefo
220

    
221
  * The UUID remains constant as the user enables/disables login methods
222

    
223
* Allow users to modify their email address freely
224
* Per-user, per-resource accounting mechanism (quotaholder)
225
* Full quota support, with per-user, per-resource quotas, based on quotaholder
226
* Projects: Users can create and join Projects
227

    
228
  * Projects grant extra resources to their members
229

    
230
* UI Enhancements for quotas and projects
231

    
232
  * distinct Usage tab, showing usage of individual resources
233
  * Project management UI
234
  * New Overview page
235

    
236
Cyclades
237
--------
238

    
239
* Commission resources on quotaholder/Astakos
240
* Support mass creation of flavors
241
* Support for the ExtStorage disk template in Ganeti
242
* Query and report quotas in the UI
243
* Pass VM configuration parameters over a VM-side API (`vmapi`)
244

    
245
  * Do not pass sensitive data as Ganeti OS parameters
246
  * Keep sensitive data in memory caches (memcached) and
247
    never allow them to hit the disk
248

    
249
* Display additional backend information in helpdesk machines list
250
* Allow helpdesk users to search for an account using a known machine id
251
* Helpdesk actions are now logged using the synnefo's common login
252
  infrastructure
253

    
254
Pithos
255
------
256

    
257
* Support storage of blocks on a RADOS backend, for Archipelago
258

    
259
  * new settings:
260
    PITHOS_RADOS_STORAGE, PITHOS_RADOS_POOL_BLOCKS, PITHOS_RADOS_POOL_MAPS
261

    
262
* Rewritten support for public URLs, with admin-selectable length
263

    
264
  * new settings:
265
    PITHOS_PUBLIC_URL_SECURITY, PITHOS_PUBLIC_URL_ALPHABET
266

    
267
* Enable pithos backend to use external quotaholder component
268

    
269
  * new settings:
270
    PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL, PITHOS_QUOTAHOLDER_TOKEN,
271
    PITHOS_QUOTAHOLDER_POOLSIZE
272

    
273
* Moderated version debiting mechanism
274

    
275
  * new setting:
276
    PITHOS_BACKEND_FREE_VERSIONING
277

    
278
* Proxy Astakos user-visible services
279

    
280
  * new settings:
281
    PITHOS_PROXY_USER_SERVICES, PITHOS_USER_CATALOG_URL,
282
    PITHOS_USER_FEEDBACK_URL, PITHOS_USER_LOGIN_URL
283

    
284
Tools
285
-----
286

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