Statistics
| Branch: | Tag: | Revision:

root / Changelog @ 269ac8de

History | View | Annotate | Download (9.8 kB)

1 5ede2c79 Constantinos Venetsanopoulos
.. _Changelog:
2 bbcd3dd1 Constantinos Venetsanopoulos
3 bbcd3dd1 Constantinos Venetsanopoulos
Unified Changelog file for Synnefo versions >= 0.13
4 bbcd3dd1 Constantinos Venetsanopoulos
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
5 bbcd3dd1 Constantinos Venetsanopoulos
6 3045e739 Constantinos Venetsanopoulos
Since v0.13 most of the Synnefo components have been merged into a single
7 3045e739 Constantinos Venetsanopoulos
repository and have aligned versions.
8 5ede2c79 Constantinos Venetsanopoulos
9 a43b07ae Christos Stavrakakis
10 a43b07ae Christos Stavrakakis
.. _Changelog-0.13next:
11 a43b07ae Christos Stavrakakis
12 a43b07ae Christos Stavrakakis
v0.13next
13 a43b07ae Christos Stavrakakis
=========
14 a43b07ae Christos Stavrakakis
15 a43b07ae Christos Stavrakakis
Released: UNRELEASED
16 a43b07ae Christos Stavrakakis
17 a43b07ae Christos Stavrakakis
Synnefo-wide
18 a43b07ae Christos Stavrakakis
------------
19 008fd5cd Constantinos Venetsanopoulos
20 f0001470 Christos Stavrakakis
* Create 'snf_django' Python package to hold common code for all Synnefo
21 f0001470 Christos Stavrakakis
  components.
22 a43b07ae Christos Stavrakakis
23 e23b9308 Georgios D. Tsoukalas
* Create a JSON-exportable definition document for each Synnefo Components
24 e23b9308 Georgios D. Tsoukalas
  (Astakos, Cyclades, Pithos, etc.) that consolidates APIs (services),
25 e23b9308 Georgios D. Tsoukalas
  resources, and other standardized properties (e.g. default URL prefixes).
26 e23b9308 Georgios D. Tsoukalas
27 e23b9308 Georgios D. Tsoukalas
* Standardize URLs for Synnefo Components, impose structure and naming
28 e23b9308 Georgios D. Tsoukalas
  conventions to related settings. Make each component deployable under
29 e23b9308 Georgios D. Tsoukalas
  a user-configurable <COMPONENT>_BASE_URL. Each API (compute, image, etc.)
30 e23b9308 Georgios D. Tsoukalas
  is deployable under a developer-configurable prefix beneath BASE_URL.
31 e23b9308 Georgios D. Tsoukalas
32 a43b07ae Christos Stavrakakis
Astakos
33 a43b07ae Christos Stavrakakis
-------
34 7e7cd786 Kostas Papadimitriou
35 38d5464c Giorgos Korfiatis
* Redesign of the accounting system (quotaholder) and integration into
36 008fd5cd Constantinos Venetsanopoulos
  Astakos.
37 38d5464c Giorgos Korfiatis
38 38d5464c Giorgos Korfiatis
  * Simplified the quotaholder model; removed tables Entity and Policy; now
39 38d5464c Giorgos Korfiatis
    table Holding contains limit and usage for every holding.
40 38d5464c Giorgos Korfiatis
  * Extended table Holding, so that we can keep track of quota for every
41 38d5464c Giorgos Korfiatis
    valid combination of holder (e.g. user), resource, and source (e.g. the
42 38d5464c Giorgos Korfiatis
    default system or some specific project).
43 38d5464c Giorgos Korfiatis
  * Refactored code for issuing and resolving commissions for robustness;
44 38d5464c Giorgos Korfiatis
    added a 'force' option to bypass the upper limit check when issuing a
45 38d5464c Giorgos Korfiatis
    commission.
46 38d5464c Giorgos Korfiatis
  * Simplified syncing to the quotaholder; removed fields from models
47 38d5464c Giorgos Korfiatis
    Project and ProjectMembership, previously needed for syncing; removed
48 38d5464c Giorgos Korfiatis
    state PROJECT_DEACTIVATED from ProjectMembership.
49 48646327 Giorgos Korfiatis
  * Removed settings ASTAKOS_QUOTAHOLDER_URL, ASTAKOS_QUOTAHOLDER_TOKEN,
50 48646327 Giorgos Korfiatis
    and ASTAKOS_QUOTAHOLDER_POOLSIZE.
51 48646327 Giorgos Korfiatis
52 885b738f Giorgos Korfiatis
* API-related changes:
53 885b738f Giorgos Korfiatis
54 885b738f Giorgos Korfiatis
  * Implemented API calls for quota, resources, and commissions.
55 885b738f Giorgos Korfiatis
  * Moved all API calls under '/account/v1.0'.
56 885b738f Giorgos Korfiatis
  * Implemented the keystone API call POST /tokens under '/identity/v2.0'.
57 885b738f Giorgos Korfiatis
58 38d5464c Giorgos Korfiatis
* Service and resource specification and handling:
59 38d5464c Giorgos Korfiatis
60 885b738f Giorgos Korfiatis
  * Specified a format for defining services along with the API endpoints
61 885b738f Giorgos Korfiatis
    and the resources they expose. Migrated internal resource name by
62 885b738f Giorgos Korfiatis
    prefixing it with service name (e.g. 'vm' becomes 'cyclades.vm');
63 885b738f Giorgos Korfiatis
    renamed registered service 'pithos+' to 'pithos'.
64 885b738f Giorgos Korfiatis
  * Specified a procedure to register a Synnefo component, its services and
65 885b738f Giorgos Korfiatis
    their resources in astakos and set the resources' default base quota
66 885b738f Giorgos Korfiatis
    limit. Removed resource definitions from settings.
67 38d5464c Giorgos Korfiatis
  * Moved service and resource presentation data out of the respective db
68 38d5464c Giorgos Korfiatis
    models into a separate file of UI constants.
69 38d5464c Giorgos Korfiatis
70 38d5464c Giorgos Korfiatis
* Converted the limit on pending applications from a setting to a quotable
71 38d5464c Giorgos Korfiatis
  resource. Converted the related user setting to a user-specific base quota
72 38d5464c Giorgos Korfiatis
  limit. Deprecated model UserSetting; removed setting
73 38d5464c Giorgos Korfiatis
  ASTAKOS_PENDING_APPLICATION_LIMIT.
74 38d5464c Giorgos Korfiatis
75 38d5464c Giorgos Korfiatis
* Changes in locking strategy:
76 38d5464c Giorgos Korfiatis
77 38d5464c Giorgos Korfiatis
  * Lock only project's chain for all project operations; lock user before
78 38d5464c Giorgos Korfiatis
    syncing to quotaholder.
79 38d5464c Giorgos Korfiatis
  * When locking multiple rows (e.g. users or holdings) include an ORDER BY
80 38d5464c Giorgos Korfiatis
    clause in the query to impose ordering on locking.
81 38d5464c Giorgos Korfiatis
82 38d5464c Giorgos Korfiatis
* Changes in views:
83 38d5464c Giorgos Korfiatis
84 38d5464c Giorgos Korfiatis
  * Replaced custom transaction context with a simple decorator for managing
85 38d5464c Giorgos Korfiatis
    transactions and a context 'ExceptionHandler', which logs and suppresses
86 38d5464c Giorgos Korfiatis
    exceptions
87 38d5464c Giorgos Korfiatis
88 7e7cd786 Kostas Papadimitriou
* Added fine grain user auth provider's policies.
89 7e7cd786 Kostas Papadimitriou
90 7e7cd786 Kostas Papadimitriou
  * Administrator can override default auth provider policies to a specific 
91 7e7cd786 Kostas Papadimitriou
    user or group of users.
92 7e7cd786 Kostas Papadimitriou
  * Optionally a user can be assigned to a list of groups, based on the
93 7e7cd786 Kostas Papadimitriou
    authentication method he choosed to signup.
94 7e7cd786 Kostas Papadimitriou
95 7e7cd786 Kostas Papadimitriou
* Removed explicit handling of SMTP errors on each email delivery. Exceptions 
96 7e7cd786 Kostas Papadimitriou
  are now propagated to base django exception handler.
97 7e7cd786 Kostas Papadimitriou
98 7e7cd786 Kostas Papadimitriou
* Improvements in user activation flow
99 7e7cd786 Kostas Papadimitriou
100 7e7cd786 Kostas Papadimitriou
  * User moderation now takes place after the user has verified his email
101 7e7cd786 Kostas Papadimitriou
    address.
102 7e7cd786 Kostas Papadimitriou
  * User model enriched with additional user state fields
103 7e7cd786 Kostas Papadimitriou
  * Split activation email from moderation process. Administrator is required 
104 7e7cd786 Kostas Papadimitriou
    to moderate user explicitly using the `user-modify --accept` or
105 7e7cd786 Kostas Papadimitriou
    `user-modify --reject` commands.
106 008fd5cd Constantinos Venetsanopoulos
  * Improved logging throught out user activation procedures.
107 7e7cd786 Kostas Papadimitriou
108 38d5464c Giorgos Korfiatis
* Management commands:
109 38d5464c Giorgos Korfiatis
110 885b738f Giorgos Korfiatis
  * Introduced new commands:
111 885b738f Giorgos Korfiatis
     * authpolicy-{add, list, remove, set, show}
112 885b738f Giorgos Korfiatis
     * group-{add, list}
113 885b738f Giorgos Korfiatis
     * component-{add, list, modify, remove}
114 885b738f Giorgos Korfiatis
     * reconcile-resources-astakos
115 885b738f Giorgos Korfiatis
     * resource-{export-astakos, import, modify}
116 885b738f Giorgos Korfiatis
     * service-{export-astakos, import, show}
117 885b738f Giorgos Korfiatis
  * Renamed commands:
118 885b738f Giorgos Korfiatis
     * astakos-quota to quota
119 885b738f Giorgos Korfiatis
     * user-update to user-modify
120 885b738f Giorgos Korfiatis
     * full-cleanup to cleanup-full
121 885b738f Giorgos Korfiatis
  * Removed commands:
122 885b738f Giorgos Korfiatis
     * astakos-init
123 885b738f Giorgos Korfiatis
     * invitation-{details, list}
124 885b738f Giorgos Korfiatis
     * project-sync
125 885b738f Giorgos Korfiatis
     * resource-{add, remove}
126 885b738f Giorgos Korfiatis
     * service-{add, remove, token-renew, update}
127 885b738f Giorgos Korfiatis
     * user-invite
128 885b738f Giorgos Korfiatis
     * user-set-initial-quota (integrated its functionality in user-modify and quota)
129 38d5464c Giorgos Korfiatis
  * Added quota and project-related information in user-show command; added
130 38d5464c Giorgos Korfiatis
    membership information in project-show.
131 7e7cd786 Kostas Papadimitriou
132 a43b07ae Christos Stavrakakis
Cyclades
133 a43b07ae Christos Stavrakakis
--------
134 008fd5cd Constantinos Venetsanopoulos
135 fe5ea1c4 Christos Stavrakakis
* Make 'type' attribute required for network create API request.
136 fe5ea1c4 Christos Stavrakakis
* Networks not created to all Ganeti backends upon creation, they are instead
137 fe5ea1c4 Christos Stavrakakis
  created to a backend only when a VM connects to the network.
138 28c41829 Christos Stavrakakis
* Add 'ASTAKOS_POOLSIZE' setting which tunes the size of the http connection
139 28c41829 Christos Stavrakakis
  pool to astakos.
140 6e27e449 Christos Stavrakakis
* Remove 'CYCLADES_USER_CATALOG_URL' and 'CYCLADES_USER_FEEDBACK_URL' settings
141 d0986bac Christos Stavrakakis
* Remove CYCLADES_USE_QUOTAHOLDER, CYCLADES_QUOTAHOLDER_TOKEN,
142 d0986bac Christos Stavrakakis
  CYCLADES_QUOTAHOLDER_URL, CYCLADES_QUOTAHOLDER_POOLSIZE settings
143 62c86226 Christos Stavrakakis
* Rename 'cyclades-usage-verify' management command to
144 62c86226 Christos Stavrakakis
  'reconcile-resources-cyclades'. Also, remove 'cyclades-usage-reset' command,
145 62c86226 Christos Stavrakakis
  which is equivalent to 'reconcile-resources-cyclades --fix'.
146 62c86226 Christos Stavrakakis
* Rename 'cyclades-reconcile-commissions' management command to
147 62c86226 Christos Stavrakakis
  'reconcile-commissions-cyclades'.
148 30096a2e Christos Stavrakakis
* Remove obsolete 'MAX_VMS_PER_USER', 'MAX_NETWORKS_PER_USER',
149 30096a2e Christos Stavrakakis
  "VMS_USER_QUOTA" and "NETWORKS_USER_QUOTA" settings, since their usage
150 30096a2e Christos Stavrakakis
  is covered by Quotaholder.
151 62c86226 Christos Stavrakakis
152 f62b110e Kostas Papadimitriou
Cyclades helpdesk
153 f62b110e Kostas Papadimitriou
-----------------
154 008fd5cd Constantinos Venetsanopoulos
155 f62b110e Kostas Papadimitriou
* Additional start/stop vm action
156 f62b110e Kostas Papadimitriou
* Display extend backend info in vm's view
157 f62b110e Kostas Papadimitriou
* Fixed IP lookup
158 f62b110e Kostas Papadimitriou
159 a43b07ae Christos Stavrakakis
Pithos
160 a43b07ae Christos Stavrakakis
------
161 008fd5cd Constantinos Venetsanopoulos
162 f0001470 Christos Stavrakakis
* Remove PITHOS_AUTHENTICATION_USERS setting, which was used to override
163 f0001470 Christos Stavrakakis
  astakos users.
164 a5fbc00d Christos Stavrakakis
* Remove 'PITHOS_USER_CATALOG_URL', 'PITHOS_USER_FEEDBACK_URL' and
165 a5fbc00d Christos Stavrakakis
  'PITHOS_USER_LOGIN_URL' settings.
166 79b5d61b Sofia Papagiannaki
* Remove PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL,
167 79b5d61b Sofia Papagiannaki
  PITHOS_QUOTAHOLDER_TOKEN and PITHOS_ASTAKOSCLIENT_POOLSIZE
168 a43b07ae Christos Stavrakakis
169 a43b07ae Christos Stavrakakis
Tools
170 a43b07ae Christos Stavrakakis
-----
171 a43b07ae Christos Stavrakakis
172 a43b07ae Christos Stavrakakis
173 5ede2c79 Constantinos Venetsanopoulos
.. _Changelog-0.13:
174 5ede2c79 Constantinos Venetsanopoulos
175 5ede2c79 Constantinos Venetsanopoulos
v0.13
176 5ede2c79 Constantinos Venetsanopoulos
=====
177 5ede2c79 Constantinos Venetsanopoulos
178 7e41df58 Christos Stavrakakis
Released: Wed Apr 10 18:52:50 EEST 2013
179 5ede2c79 Constantinos Venetsanopoulos
180 3045e739 Constantinos Venetsanopoulos
In v0.13 the code was very heavily refactored for increased uniformity since
181 3045e739 Constantinos Venetsanopoulos
most of the Synnefo components have been merged into a single repository. Thus,
182 3045e739 Constantinos Venetsanopoulos
**just for this version** we will not document a complete Changelog (features,
183 3045e739 Constantinos Venetsanopoulos
fixes, improvements, issues, setting changes), but rather just copy from the
184 3045e739 Constantinos Venetsanopoulos
`NEWS` file with minor additions wherever needed.
185 3045e739 Constantinos Venetsanopoulos
186 3045e739 Constantinos Venetsanopoulos
Synnefo-wide
187 3045e739 Constantinos Venetsanopoulos
------------
188 3045e739 Constantinos Venetsanopoulos
189 3045e739 Constantinos Venetsanopoulos
* Support for pooling throughout Synnefo
190 3045e739 Constantinos Venetsanopoulos
191 3045e739 Constantinos Venetsanopoulos
  * Pooled Django DB connections, Pithos backend connections, HTTP
192 3045e739 Constantinos Venetsanopoulos
    connections using single `objpool` package
193 3045e739 Constantinos Venetsanopoulos
194 3045e739 Constantinos Venetsanopoulos
* Improved management commands
195 3045e739 Constantinos Venetsanopoulos
196 3045e739 Constantinos Venetsanopoulos
  * Unified codebase for output of tables in JSON, CSV
197 3045e739 Constantinos Venetsanopoulos
198 3045e739 Constantinos Venetsanopoulos
* Bring most of Synnefo code inside a single, unified repository
199 3045e739 Constantinos Venetsanopoulos
200 3045e739 Constantinos Venetsanopoulos
  * support automatic Python and Debian package builds for individual commits
201 3045e739 Constantinos Venetsanopoulos
  * with automatic version generation
202 3045e739 Constantinos Venetsanopoulos
203 3045e739 Constantinos Venetsanopoulos
* Overhauling of Synnefo settings: renames and refactoring, for increased
204 3045e739 Constantinos Venetsanopoulos
  uniformity (in progress)
205 3045e739 Constantinos Venetsanopoulos
* Deployment: Standardize on gunicorn, with gevent-based workers
206 3045e739 Constantinos Venetsanopoulos
  and use of Green threads throughout Synnefo
207 3045e739 Constantinos Venetsanopoulos
* Documentation: New scale-out guide, with distinct node roles,
208 3045e739 Constantinos Venetsanopoulos
  for mass Synnefo deployments
209 3045e739 Constantinos Venetsanopoulos
210 5ede2c79 Constantinos Venetsanopoulos
Astakos
211 5ede2c79 Constantinos Venetsanopoulos
-------
212 5ede2c79 Constantinos Venetsanopoulos
213 3045e739 Constantinos Venetsanopoulos
* Support multiple authentication methods
214 3045e739 Constantinos Venetsanopoulos
215 3045e739 Constantinos Venetsanopoulos
  * Classic (username/password), Shibboleth, LDAP/Active Directory,
216 3045e739 Constantinos Venetsanopoulos
    Google, Twitter, LinkedIn
217 3045e739 Constantinos Venetsanopoulos
  * Users can enable/disable auth methods, and switch between them
218 3045e739 Constantinos Venetsanopoulos
219 3045e739 Constantinos Venetsanopoulos
* Introduce a UUID as a global identifier for users, throughout Synnefo
220 3045e739 Constantinos Venetsanopoulos
221 3045e739 Constantinos Venetsanopoulos
  * The UUID remains constant as the user enables/disables login methods
222 3045e739 Constantinos Venetsanopoulos
223 3045e739 Constantinos Venetsanopoulos
* Allow users to modify their email address freely
224 3045e739 Constantinos Venetsanopoulos
* Per-user, per-resource accounting mechanism (quotaholder)
225 3045e739 Constantinos Venetsanopoulos
* Full quota support, with per-user, per-resource quotas, based on quotaholder
226 3045e739 Constantinos Venetsanopoulos
* Projects: Users can create and join Projects
227 3045e739 Constantinos Venetsanopoulos
228 3045e739 Constantinos Venetsanopoulos
  * Projects grant extra resources to their members
229 3045e739 Constantinos Venetsanopoulos
230 3045e739 Constantinos Venetsanopoulos
* UI Enhancements for quotas and projects
231 3045e739 Constantinos Venetsanopoulos
232 3045e739 Constantinos Venetsanopoulos
  * distinct Usage tab, showing usage of individual resources
233 3045e739 Constantinos Venetsanopoulos
  * Project management UI
234 3045e739 Constantinos Venetsanopoulos
  * New Overview page
235 5ede2c79 Constantinos Venetsanopoulos
236 5ede2c79 Constantinos Venetsanopoulos
Cyclades
237 5ede2c79 Constantinos Venetsanopoulos
--------
238 5ede2c79 Constantinos Venetsanopoulos
239 3045e739 Constantinos Venetsanopoulos
* Commission resources on quotaholder/Astakos
240 3045e739 Constantinos Venetsanopoulos
* Support mass creation of flavors
241 3045e739 Constantinos Venetsanopoulos
* Support for the ExtStorage disk template in Ganeti
242 3045e739 Constantinos Venetsanopoulos
* Query and report quotas in the UI
243 3045e739 Constantinos Venetsanopoulos
* Pass VM configuration parameters over a VM-side API (`vmapi`)
244 3045e739 Constantinos Venetsanopoulos
245 3045e739 Constantinos Venetsanopoulos
  * Do not pass sensitive data as Ganeti OS parameters
246 3045e739 Constantinos Venetsanopoulos
  * Keep sensitive data in memory caches (memcached) and
247 3045e739 Constantinos Venetsanopoulos
    never allow them to hit the disk
248 3045e739 Constantinos Venetsanopoulos
249 3045e739 Constantinos Venetsanopoulos
* Display additional backend information in helpdesk machines list
250 3045e739 Constantinos Venetsanopoulos
* Allow helpdesk users to search for an account using a known machine id
251 3045e739 Constantinos Venetsanopoulos
* Helpdesk actions are now logged using the synnefo's common login
252 3045e739 Constantinos Venetsanopoulos
  infrastructure
253 5ede2c79 Constantinos Venetsanopoulos
254 5ede2c79 Constantinos Venetsanopoulos
Pithos
255 5ede2c79 Constantinos Venetsanopoulos
------
256 5ede2c79 Constantinos Venetsanopoulos
257 3045e739 Constantinos Venetsanopoulos
* Support storage of blocks on a RADOS backend, for Archipelago
258 072047b1 Sofia Papagiannaki
259 072047b1 Sofia Papagiannaki
  * new settings:
260 072047b1 Sofia Papagiannaki
    PITHOS_RADOS_STORAGE, PITHOS_RADOS_POOL_BLOCKS, PITHOS_RADOS_POOL_MAPS
261 072047b1 Sofia Papagiannaki
262 3045e739 Constantinos Venetsanopoulos
* Rewritten support for public URLs, with admin-selectable length
263 5ede2c79 Constantinos Venetsanopoulos
264 072047b1 Sofia Papagiannaki
  * new settings:
265 072047b1 Sofia Papagiannaki
    PITHOS_PUBLIC_URL_SECURITY, PITHOS_PUBLIC_URL_ALPHABET
266 072047b1 Sofia Papagiannaki
267 072047b1 Sofia Papagiannaki
* Enable pithos backend to use external quotaholder component
268 072047b1 Sofia Papagiannaki
269 072047b1 Sofia Papagiannaki
  * new settings:
270 072047b1 Sofia Papagiannaki
    PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL, PITHOS_QUOTAHOLDER_TOKEN,
271 072047b1 Sofia Papagiannaki
    PITHOS_QUOTAHOLDER_POOLSIZE
272 072047b1 Sofia Papagiannaki
273 072047b1 Sofia Papagiannaki
* Moderated version debiting mechanism
274 072047b1 Sofia Papagiannaki
275 072047b1 Sofia Papagiannaki
  * new setting:
276 072047b1 Sofia Papagiannaki
    PITHOS_BACKEND_FREE_VERSIONING
277 072047b1 Sofia Papagiannaki
278 072047b1 Sofia Papagiannaki
* Proxy Astakos user-visible services
279 072047b1 Sofia Papagiannaki
280 072047b1 Sofia Papagiannaki
  * new settings:
281 072047b1 Sofia Papagiannaki
    PITHOS_PROXY_USER_SERVICES, PITHOS_USER_CATALOG_URL,
282 072047b1 Sofia Papagiannaki
    PITHOS_USER_FEEDBACK_URL, PITHOS_USER_LOGIN_URL
283 072047b1 Sofia Papagiannaki
284 3045e739 Constantinos Venetsanopoulos
Tools
285 5ede2c79 Constantinos Venetsanopoulos
-----
286 5ede2c79 Constantinos Venetsanopoulos
287 3045e739 Constantinos Venetsanopoulos
* Extend snf-burnin to include testing of Pithos functionality