root / Changelog @ 44aa52fd
History | View | Annotate | Download (17.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 |
v0.14next |
10 |
========= |
11 |
|
12 |
Released: UNRELEASED |
13 |
|
14 |
Synnefo-wide |
15 |
------------ |
16 |
|
17 |
* Integrate Pithos tests in continuous integration. |
18 |
|
19 |
Astakos |
20 |
------- |
21 |
|
22 |
* Changes in project schema: |
23 |
|
24 |
* A Project entry is created when submitting an application for a new |
25 |
project, rather than on approval. Its state is dependent on the state |
26 |
of its `reference' application (current definition). Lock Project rather |
27 |
than Chain (the latter is semantically obsolete). |
28 |
|
29 |
* Project states "Active - Pending" and "Suspended - Pending" have been |
30 |
removed. In management command `project-list', the existence of a pending |
31 |
modification is indicated by a non-blank `Pending AppID'. |
32 |
|
33 |
* Improve recording of project, application, and membership actions. |
34 |
|
35 |
* Implement API calls for projects. |
36 |
|
37 |
* Store the base URL of a component. Deployer should provide it when adding |
38 |
a new component. Service endpoints originating from a component are |
39 |
expected to match its base URL; otherwise, a warning is issued. |
40 |
Re-registration with `snf-component-register' affects both the base and |
41 |
the ui URL. |
42 |
|
43 |
* Management commands: |
44 |
* Introduced new commands: |
45 |
* component-show |
46 |
* Changed commands: |
47 |
* component-add got options --base-url and --ui-url |
48 |
|
49 |
Cyclades |
50 |
-------- |
51 |
|
52 |
* Implement Floating IP addresses, which are addresses that can be dynamically |
53 |
added and removed to a running server. |
54 |
|
55 |
* Implement the 'os-floating-ips' and 'os-floating-ip-pools' API extensions. |
56 |
* Implement 'snf-manage floating-ip-list' management command. |
57 |
* Add 'floating_ip_pool' attribute to networks. Such networks must exist to |
58 |
all Ganeti backends. |
59 |
|
60 |
* Speed up server reconciliation, by performing parallel reconciliation for |
61 |
each backend. |
62 |
* Implement IPv6 only networks. |
63 |
* Implement 'resize' server action. |
64 |
|
65 |
* Implement the 'resize' server action, to change the flavor of a server. |
66 |
Only 'cpu' and 'memory' resizing is supported. |
67 |
|
68 |
* Compute quotas for CPU and memory of running vms. |
69 |
* Obsolete PUBLIC_USE_POOL setting, since Cyclades manages IP pool for all |
70 |
type of networks. |
71 |
* Extend servers info API response with 'SNF:fqdn' attribute, and introduce |
72 |
CYCLADES_SERVERS_FQDN to set the template for servers FDQN. |
73 |
* Extend servers info API response with 'SNF:port_forwarding' attribute, |
74 |
describing port fowarding rules (DNAT) that are applied to vms. The |
75 |
description of such rules is done via the new CYCLADES_PORT_FORWARDING |
76 |
setting. |
77 |
* Change --dhcp option of network management commands from a flag to a boolean |
78 |
value, e.g. --dhcp=True |
79 |
* Remove 'ARCHIPELAGO_BACKENDS' setting used to distinquish between backends |
80 |
that hosted only archipelago backends. Instead allocation is based on which |
81 |
disk-templates are enabled in each backend. |
82 |
* Implement 'snf-manage server-remove' management command. |
83 |
* Move reconciliation of IP pools from 'reconcile-networks' to |
84 |
'reconcile-pools'. The IP pool reconciliation does not reconcile the IP |
85 |
pools with Ganeti. Instead it checks if the pool is consistent with the |
86 |
IPs that are used by instances. |
87 |
* Do not automatically release externally reserved IPs if they are released |
88 |
from a Ganeti backend. Management of externally reserved IPs must be |
89 |
performed from Cyclades with 'network-modify' command. |
90 |
|
91 |
Pithos |
92 |
------ |
93 |
|
94 |
* Refactor metadata schema (table attributes) in Pithos DB to speedup current |
95 |
objects by domain attribute. This is used by Plankton for listing VM images. |
96 |
|
97 |
* Enforce container-level atomicity in (most) Pithos API calls. |
98 |
|
99 |
|
100 |
.. _Changelog-0.14.7: |
101 |
|
102 |
v0.14.7 |
103 |
======= |
104 |
|
105 |
Released: Wed Sep 18 17:50:12 EEST 2013 |
106 |
|
107 |
Cyclades |
108 |
-------- |
109 |
|
110 |
* Fix bug in helpdesk view |
111 |
|
112 |
.. _Changelog-0.14.6: |
113 |
|
114 |
v0.14.6 |
115 |
======= |
116 |
|
117 |
Released: Wed Sep 18 16:18:58 EEST 2013 |
118 |
|
119 |
Pithos |
120 |
------ |
121 |
|
122 |
* Substitute the PITHOS_BACKEND_QUOTA setting with two |
123 |
distinct settings: PITHOS_BACKEND_ACCOUNT_QUOTA & |
124 |
PITHOS_BACKEND_CONTAINER_QUOTA |
125 |
* Set PITHOS_BACKEND_CONTAINER_QUOTA default value to 0 (unlimited) |
126 |
* Fix bug that resulted in DB deadlocks. |
127 |
|
128 |
Cyclades |
129 |
-------- |
130 |
|
131 |
* Fix bug in snf-dispatcher that resulted in servers to be deleted from the |
132 |
DB even if the corresponding Ganeti job failed. |
133 |
|
134 |
Branding |
135 |
-------- |
136 |
|
137 |
* Add new BRANDING_FOOTER_EXTRA_MESSAGE setting. |
138 |
|
139 |
|
140 |
.. _Changelog-0.14.5: |
141 |
|
142 |
v0.14.5 |
143 |
======= |
144 |
|
145 |
Released: Wed Aug 7 11:19:49 EEST 2013 |
146 |
|
147 |
Pithos |
148 |
------ |
149 |
|
150 |
* Fix security issue with handling Pithos versions. |
151 |
|
152 |
|
153 |
.. _Changelog-0.14.4: |
154 |
|
155 |
v0.14.4 |
156 |
======= |
157 |
|
158 |
Released: Mon Jul 29 12:24:22 EEST 2013 |
159 |
|
160 |
Pithos |
161 |
------ |
162 |
|
163 |
* Fix bug in reconcile resources management command. |
164 |
|
165 |
|
166 |
.. _Changelog-0.14.3: |
167 |
|
168 |
v0.14.3 |
169 |
======= |
170 |
|
171 |
Released: Thu Jul 25 12:22:47 EEST 2013 |
172 |
|
173 |
Synnefo-wide |
174 |
------------ |
175 |
|
176 |
* Use the SYNNEFO_TRACE environmental variable to control whether the greenlet |
177 |
tracing code will get loaded or not. |
178 |
* Split the HIDDEN_COOKIES setting in HIDDEN_HEADERS and HIDDEN_COOKIES, and |
179 |
add the MAIL_MAX_LEN setting, to limit the mail size for unhandled |
180 |
exceptions. |
181 |
|
182 |
|
183 |
.. _Changelog-0.14.2: |
184 |
|
185 |
Released: Fri Jul 12 13:13:32 EEST 2013 |
186 |
|
187 |
v0.14.2 |
188 |
======= |
189 |
|
190 |
Cyclades |
191 |
-------- |
192 |
|
193 |
* Add new setting PITHOS_BACKEND_POOL_SIZE, which configures the size |
194 |
of the pool of Pithos backends that are used by plankton. |
195 |
|
196 |
|
197 |
.. _Changelog-0.14: |
198 |
|
199 |
v0.14 |
200 |
===== |
201 |
|
202 |
Released: Tue Jun 25 14:01:19 EEST 2013 |
203 |
|
204 |
Synnefo-wide |
205 |
------------ |
206 |
|
207 |
* Create 'snf_django' Python package to hold common code for all Synnefo |
208 |
components. |
209 |
|
210 |
* Create a JSON-exportable definition document for each Synnefo Components |
211 |
(Astakos, Cyclades, Pithos, etc.) that consolidates APIs (services), |
212 |
resources, and other standardized properties (e.g. default URL prefixes). |
213 |
|
214 |
* Standardize URLs for Synnefo Components, impose structure and naming |
215 |
conventions to related settings. Make each component deployable under |
216 |
a user-configurable <COMPONENT>_BASE_URL. Each API (compute, image, etc.) |
217 |
is deployable under a developer-configurable prefix beneath BASE_URL. |
218 |
|
219 |
* Deprecate CLOUDBAR_ACTIVE_SERVICE setting from all apps. |
220 |
|
221 |
* Common synnefo 404/500 templates (located in snf-webproject) |
222 |
|
223 |
Astakos |
224 |
------- |
225 |
|
226 |
* Redesign of the accounting system (quotaholder) and integration into |
227 |
Astakos. |
228 |
|
229 |
* Simplified the quotaholder model; removed tables Entity and Policy; now |
230 |
table Holding contains limit and usage for every holding. |
231 |
* Extended table Holding, so that we can keep track of quota for every |
232 |
valid combination of holder (e.g. user), resource, and source (e.g. the |
233 |
default system or some specific project). |
234 |
* Refactored code for issuing and resolving commissions for robustness; |
235 |
added a 'force' option to bypass the upper limit check when issuing a |
236 |
commission. |
237 |
* Simplified syncing to the quotaholder; removed fields from models |
238 |
Project and ProjectMembership, previously needed for syncing; removed |
239 |
state PROJECT_DEACTIVATED from ProjectMembership. |
240 |
* Removed settings ASTAKOS_QUOTAHOLDER_URL, ASTAKOS_QUOTAHOLDER_TOKEN, |
241 |
and ASTAKOS_QUOTAHOLDER_POOLSIZE. |
242 |
|
243 |
* API-related changes: |
244 |
|
245 |
* Implemented API calls for quota, resources, and commissions. |
246 |
* Moved all API calls under '/account/v1.0'. |
247 |
* Implemented the keystone API call POST /tokens under '/identity/v2.0'. |
248 |
|
249 |
* Service and resource specification and handling: |
250 |
|
251 |
* Specified a format for defining services along with the API endpoints |
252 |
and the resources they expose. Migrated internal resource name by |
253 |
prefixing it with service name (e.g. 'vm' becomes 'cyclades.vm'); |
254 |
renamed registered service 'pithos+' to 'pithos'. |
255 |
* Specified a procedure to register a Synnefo component, its services and |
256 |
their resources in astakos and set the resources' default base quota |
257 |
limit. Removed resource definitions from settings. |
258 |
* Moved service and resource presentation data out of the respective db |
259 |
models into a separate file of UI constants. |
260 |
|
261 |
* Converted the limit on pending applications from a setting to a quotable |
262 |
resource. Converted the related user setting to a user-specific base quota |
263 |
limit. Deprecated model UserSetting; removed setting |
264 |
ASTAKOS_PENDING_APPLICATION_LIMIT. |
265 |
|
266 |
* Changes in locking strategy: |
267 |
|
268 |
* Lock only project's chain for all project operations; lock user before |
269 |
syncing to quotaholder. |
270 |
* When locking multiple rows (e.g. users or holdings) include an ORDER BY |
271 |
clause in the query to impose ordering on locking. |
272 |
|
273 |
* Changes in views: |
274 |
|
275 |
* Replaced custom transaction context with a simple decorator for managing |
276 |
transactions and a context 'ExceptionHandler', which logs and suppresses |
277 |
exceptions |
278 |
|
279 |
* Added fine grain user auth provider's policies. |
280 |
|
281 |
* Administrator can override default auth provider policies to a specific |
282 |
user or group of users. |
283 |
* Optionally a user can be assigned to a list of groups, based on the |
284 |
authentication method he choosed to signup. |
285 |
|
286 |
* Removed explicit handling of SMTP errors on each email delivery. Exceptions |
287 |
are now propagated to base django exception handler. |
288 |
|
289 |
* Email used in html/email tempaltes which prompt user to contact for service |
290 |
support prompts is now defined in ``CONTACT_EMAIL`` setting introduced in |
291 |
snf-common settings. |
292 |
|
293 |
* Improvements in user activation flow |
294 |
|
295 |
* User moderation now takes place after the user has verified his email |
296 |
address. |
297 |
* User model enriched with additional user state fields |
298 |
* Split activation email from moderation process. Administrator is required |
299 |
to moderate user explicitly using the `user-modify --accept` or |
300 |
`user-modify --reject` commands. |
301 |
* Improved logging throught out user activation procedures. |
302 |
|
303 |
* Remove deprecated AstakosUser model fields: `provider`, |
304 |
`third_party_identifier` |
305 |
|
306 |
* Allow override of authentication provider messages using the following |
307 |
format in setting names: ``ASTAKOS_<PROVIDER_MODULE>_<MSGID>_MSG`` |
308 |
|
309 |
* Cloudbar automatically tries to identify the active service based on window |
310 |
location. |
311 |
|
312 |
* Removing authentication provider view is now CSRF protected. |
313 |
|
314 |
* New `API access` view, containing useful information to users on how to |
315 |
access available Synnefo services API's. |
316 |
|
317 |
* Remove of ASTAKOS_*_EMAIL_SUBJECT settings. All email subjects are now |
318 |
defined in astakos.im.messages module. Overriding default values can be |
319 |
achieved using custom gettext files or using astakos messages settings:: |
320 |
|
321 |
#change of greeting email subject |
322 |
ASTAKOS_GREETING_EMAIL_SUBJECT_MESSAGE = 'Welcome to my cloud' |
323 |
|
324 |
* Remove ``ASTAKOS_ACTIVATION_REDIRECT_URL`` and ``ASTAKOS_LOGIN_SUCCESS_URL`` |
325 |
from astakos .conf file. Settings are dynamically computed based on |
326 |
``ASTAKOS_BASE_URL``. |
327 |
|
328 |
* Management commands: |
329 |
|
330 |
* Introduced new commands: |
331 |
* authpolicy-{add, list, remove, set, show} |
332 |
* group-{add, list} |
333 |
* component-{add, list, modify, remove} |
334 |
* reconcile-resources-astakos |
335 |
* resource-{export-astakos, import, modify} |
336 |
* service-{export-astakos, import, show} |
337 |
* Renamed commands: |
338 |
* astakos-quota to quota |
339 |
* user-update to user-modify |
340 |
* full-cleanup to cleanup-full |
341 |
* Removed commands: |
342 |
* astakos-init |
343 |
* invitation-{details, list} |
344 |
* project-sync |
345 |
* resource-{add, remove} |
346 |
* service-{add, remove, token-renew, update} |
347 |
* user-invite |
348 |
* user-set-initial-quota (integrated its functionality in user-modify and quota) |
349 |
* Added quota and project-related information in user-show command; added |
350 |
membership information in project-show. |
351 |
|
352 |
Cyclades |
353 |
-------- |
354 |
|
355 |
* Make 'type' attribute required for network create API request. |
356 |
* Networks not created to all Ganeti backends upon creation, they are instead |
357 |
created to a backend only when a VM connects to the network. |
358 |
* Add 'CYCLADES_ASTAKOSCLIENT_POOLSIZE' setting which tunes the size of the |
359 |
http connection pool to astakos. |
360 |
* Remove 'CYCLADES_USER_CATALOG_URL' and 'CYCLADES_USER_FEEDBACK_URL' settings |
361 |
* Remove CYCLADES_USE_QUOTAHOLDER, CYCLADES_QUOTAHOLDER_TOKEN, |
362 |
CYCLADES_QUOTAHOLDER_URL, CYCLADES_QUOTAHOLDER_POOLSIZE settings |
363 |
* Rename 'cyclades-usage-verify' management command to |
364 |
'reconcile-resources-cyclades'. Also, remove 'cyclades-usage-reset' command, |
365 |
which is equivalent to 'reconcile-resources-cyclades --fix'. |
366 |
* Rename 'cyclades-reconcile-commissions' management command to |
367 |
'reconcile-commissions-cyclades'. |
368 |
* Remove obsolete 'MAX_VMS_PER_USER', 'MAX_NETWORKS_PER_USER', |
369 |
"VMS_USER_QUOTA" and "NETWORKS_USER_QUOTA" settings, since their usage |
370 |
is covered by Quotaholder. |
371 |
* Remove obsolete setting 'API_ROOT_URL', since it is being covered by |
372 |
the use of CYCLADES_BASE_URL* Remove obsolete setting 'API_ROOT_URL', since |
373 |
it is being covered by 'CYCLADES_BASE_URL'. |
374 |
* Remove obsolete settings GANETI_DISK_TEMPLATES and |
375 |
DEFAULT_GANETI_DISK_TEMPLATE |
376 |
|
377 |
Cyclades helpdesk |
378 |
----------------- |
379 |
|
380 |
* Additional start/stop vm action |
381 |
* Display extend backend info in vm's view |
382 |
* Fixed IP lookup |
383 |
|
384 |
Pithos |
385 |
------ |
386 |
|
387 |
* Remove PITHOS_AUTHENTICATION_USERS setting, which was used to override |
388 |
astakos users. |
389 |
* Remove 'PITHOS_USER_CATALOG_URL', 'PITHOS_USER_FEEDBACK_URL' and |
390 |
'PITHOS_USER_LOGIN_URL' settings. |
391 |
* Remove PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL, |
392 |
PITHOS_QUOTAHOLDER_TOKEN and PITHOS_ASTAKOSCLIENT_POOLSIZE |
393 |
|
394 |
Tools |
395 |
----- |
396 |
|
397 |
|
398 |
.. _Changelog-0.13: |
399 |
|
400 |
v0.13 |
401 |
===== |
402 |
|
403 |
Released: Wed Apr 10 18:52:50 EEST 2013 |
404 |
|
405 |
In v0.13 the code was very heavily refactored for increased uniformity since |
406 |
most of the Synnefo components have been merged into a single repository. Thus, |
407 |
**just for this version** we will not document a complete Changelog (features, |
408 |
fixes, improvements, issues, setting changes), but rather just copy from the |
409 |
`NEWS` file with minor additions wherever needed. |
410 |
|
411 |
Synnefo-wide |
412 |
------------ |
413 |
|
414 |
* Support for pooling throughout Synnefo |
415 |
|
416 |
* Pooled Django DB connections, Pithos backend connections, HTTP |
417 |
connections using single `objpool` package |
418 |
|
419 |
* Improved management commands |
420 |
|
421 |
* Unified codebase for output of tables in JSON, CSV |
422 |
|
423 |
* Bring most of Synnefo code inside a single, unified repository |
424 |
|
425 |
* support automatic Python and Debian package builds for individual commits |
426 |
* with automatic version generation |
427 |
|
428 |
* Overhauling of Synnefo settings: renames and refactoring, for increased |
429 |
uniformity (in progress) |
430 |
* Deployment: Standardize on gunicorn, with gevent-based workers |
431 |
and use of Green threads throughout Synnefo |
432 |
* Documentation: New scale-out guide, with distinct node roles, |
433 |
for mass Synnefo deployments |
434 |
|
435 |
Astakos |
436 |
------- |
437 |
|
438 |
* Support multiple authentication methods |
439 |
|
440 |
* Classic (username/password), Shibboleth, LDAP/Active Directory, |
441 |
Google, Twitter, LinkedIn |
442 |
* Users can enable/disable auth methods, and switch between them |
443 |
|
444 |
* Introduce a UUID as a global identifier for users, throughout Synnefo |
445 |
|
446 |
* The UUID remains constant as the user enables/disables login methods |
447 |
|
448 |
* Allow users to modify their email address freely |
449 |
* Per-user, per-resource accounting mechanism (quotaholder) |
450 |
* Full quota support, with per-user, per-resource quotas, based on quotaholder |
451 |
* Projects: Users can create and join Projects |
452 |
|
453 |
* Projects grant extra resources to their members |
454 |
|
455 |
* UI Enhancements for quotas and projects |
456 |
|
457 |
* distinct Usage tab, showing usage of individual resources |
458 |
* Project management UI |
459 |
* New Overview page |
460 |
|
461 |
* refactored/improved /login endpoint used by desktop/mobile clients. |
462 |
* endpoint url is now exposed by `weblogin` service |
463 |
* clients should use unauthenticated identity/tokens api to resolve the |
464 |
endpoint url |
465 |
* view only allows redirects to `pithos://` scheme urls |
466 |
* removed uuid from redirect parameters. Client should use authenticated |
467 |
request to identity/tokens to retrieve user uuid. |
468 |
|
469 |
|
470 |
Cyclades |
471 |
-------- |
472 |
|
473 |
* Commission resources on quotaholder/Astakos |
474 |
* Support mass creation of flavors |
475 |
* Support for the ExtStorage disk template in Ganeti |
476 |
* Query and report quotas in the UI |
477 |
* Pass VM configuration parameters over a VM-side API (`vmapi`) |
478 |
|
479 |
* Do not pass sensitive data as Ganeti OS parameters |
480 |
* Keep sensitive data in memory caches (memcached) and |
481 |
never allow them to hit the disk |
482 |
|
483 |
* Display additional backend information in helpdesk machines list |
484 |
* Allow helpdesk users to search for an account using a known machine id |
485 |
* Helpdesk actions are now logged using the synnefo's common login |
486 |
infrastructure |
487 |
|
488 |
UI |
489 |
^^ |
490 |
* Removed feedback endpoint. Feedback requests delegate to astakos feedback |
491 |
service. ``FEEDBACK_CONTACTS``, ``FEEDBACK_EMAIL_FROM`` settings removed, |
492 |
and no longer used. |
493 |
* ``UI_LOGIN_URL``, ``UI_GLANCE_URL``, ``COMPUTE_URL`` settings no longer |
494 |
required to be set and are dynamically computed based on ``ASTAKOS_BASE_URL`` |
495 |
and ``CYCLADES_BASE_URL`` settings. |
496 |
* File group is no longer included in ssh keys personality metadata sent in |
497 |
create vm calls. |
498 |
|
499 |
|
500 |
Pithos |
501 |
------ |
502 |
|
503 |
* Support storage of blocks on a RADOS backend, for Archipelago |
504 |
|
505 |
* new settings: |
506 |
PITHOS_RADOS_STORAGE, PITHOS_RADOS_POOL_BLOCKS, PITHOS_RADOS_POOL_MAPS |
507 |
|
508 |
* X-Object-Public now contains full url (domain + proper component prefix + |
509 |
file path) |
510 |
|
511 |
* Rewritten support for public URLs, with admin-selectable length |
512 |
|
513 |
* new settings: |
514 |
PITHOS_PUBLIC_URL_SECURITY, PITHOS_PUBLIC_URL_ALPHABET |
515 |
|
516 |
* Enable pithos backend to use external quotaholder component |
517 |
|
518 |
* new settings: |
519 |
PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL, PITHOS_QUOTAHOLDER_TOKEN, |
520 |
PITHOS_QUOTAHOLDER_POOLSIZE |
521 |
|
522 |
* Moderated version debiting mechanism |
523 |
|
524 |
* new setting: |
525 |
PITHOS_BACKEND_FREE_VERSIONING |
526 |
|
527 |
* Proxy Astakos user-visible services |
528 |
|
529 |
* new settings: |
530 |
PITHOS_PROXY_USER_SERVICES, PITHOS_USER_CATALOG_URL, |
531 |
PITHOS_USER_FEEDBACK_URL, PITHOS_USER_LOGIN_URL |
532 |
|
533 |
Tools |
534 |
----- |
535 |
|
536 |
* Extend snf-burnin to include testing of Pithos functionality |