Statistics
| Branch: | Tag: | Revision:

root / Changelog @ 38d5464c

History | View | Annotate | Download (7.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
* Create 'snf_django' Python package to hold common code for all Synnefo
20
  components.
21
* CLOUDBAR_SERVICES_URL should point to /astakos/api/get_services
22
* CLOUDBAR_MENU_URL should point to /astakos/api/get_menu
23

    
24
Astakos
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

    
32
  * Extended table Holding, so that we can keep track of quota for every
33
    valid combination of holder (e.g. user), resource, and source (e.g. the
34
    default system or some specific project).
35

    
36
  * Refactored code for issuing and resolving commissions for robustness;
37
    added a 'force' option to bypass the upper limit check when issuing a
38
    commission.
39

    
40
  * Simplified syncing to the quotaholder; removed fields from models
41
    Project and ProjectMembership, previously needed for syncing; removed
42
    state PROJECT_DEACTIVATED from ProjectMembership.
43

    
44
* Service and resource specification and handling:
45

    
46
  * Specified a format for defining resources a service exposes. Migrated
47
    internal resource name by prefixing it with service name (e.g. 'vm'
48
    becomes 'cyclades.vm'); renamed registered service 'pithos+' to
49
    'pithos'.
50

    
51
  * Specified a procedure to register a service's resources in astakos and
52
    set their respective default base quota limit. Removed resource
53
    definitions from settings.
54

    
55
  * Moved service and resource presentation data out of the respective db
56
    models into a separate file of UI constants.
57

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

    
63
* Changes in locking strategy:
64

    
65
  * Lock only project's chain for all project operations; lock user before
66
    syncing to quotaholder.
67

    
68
  * When locking multiple rows (e.g. users or holdings) include an ORDER BY
69
    clause in the query to impose ordering on locking.
70

    
71
* API-related changes:
72

    
73
 * Implemented API calls for quota, resources, and commissions.
74

    
75
 * Moved all API calls under '/astakos/api'. Kept also previous locations
76
   for backwards compatibility.
77

    
78
* Changes in views:
79

    
80
  * Replaced custom transaction context with a simple decorator for managing
81
    transactions and a context 'ExceptionHandler', which logs and suppresses
82
    exceptions
83

    
84
* Management commands:
85

    
86
  * Renamed command astakos-quota to quota; user-update to user-modify.
87

    
88
  * Removed user-set-initial-quota; integrated its functionality in
89
    user-modify and quota.
90

    
91
  * Added quota and project-related information in user-show command; added
92
    membership information in project-show.
93

    
94

    
95
Cyclades
96
--------
97
* Make 'type' attribute required for network create API request.
98
* Networks not created to all Ganeti backends upon creation, they are instead
99
  created to a backend only when a VM connects to the network.
100
* Add 'ASTAKOS_POOLSIZE' setting which tunes the size of the http connection
101
  pool to astakos.
102
* Remove 'CYCLADES_USER_CATALOG_URL' and 'CYCLADES_USER_FEEDBACK_URL' settings
103
* Remove CYCLADES_USE_QUOTAHOLDER, CYCLADES_QUOTAHOLDER_TOKEN,
104
  CYCLADES_QUOTAHOLDER_URL, CYCLADES_QUOTAHOLDER_POOLSIZE settings
105
* Rename 'cyclades-usage-verify' management command to
106
  'reconcile-resources-cyclades'. Also, remove 'cyclades-usage-reset' command,
107
  which is equivalent to 'reconcile-resources-cyclades --fix'.
108
* Rename 'cyclades-reconcile-commissions' management command to
109
  'reconcile-commissions-cyclades'.
110
* Remove obsolete 'MAX_VMS_PER_USER', 'MAX_NETWORKS_PER_USER',
111
  "VMS_USER_QUOTA" and "NETWORKS_USER_QUOTA" settings, since their usage
112
  is covered by Quotaholder.
113

    
114

    
115
Pithos
116
------
117
* Remove PITHOS_AUTHENTICATION_USERS setting, which was used to override
118
  astakos users.
119
* Remove 'PITHOS_USER_CATALOG_URL', 'PITHOS_USER_FEEDBACK_URL' and
120
  'PITHOS_USER_LOGIN_URL' settings.
121
* Remove PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL,
122
  PITHOS_QUOTAHOLDER_TOKEN and PITHOS_ASTAKOSCLIENT_POOLSIZE
123

    
124
Tools
125
-----
126

    
127

    
128
.. _Changelog-0.13:
129

    
130
v0.13
131
=====
132

    
133
Released: Wed Apr 10 18:52:50 EEST 2013
134

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

    
141
Synnefo-wide
142
------------
143

    
144
* Support for pooling throughout Synnefo
145

    
146
  * Pooled Django DB connections, Pithos backend connections, HTTP
147
    connections using single `objpool` package
148

    
149
* Improved management commands
150

    
151
  * Unified codebase for output of tables in JSON, CSV
152

    
153
* Bring most of Synnefo code inside a single, unified repository
154

    
155
  * support automatic Python and Debian package builds for individual commits
156
  * with automatic version generation
157

    
158
* Overhauling of Synnefo settings: renames and refactoring, for increased
159
  uniformity (in progress)
160
* Deployment: Standardize on gunicorn, with gevent-based workers
161
  and use of Green threads throughout Synnefo
162
* Documentation: New scale-out guide, with distinct node roles,
163
  for mass Synnefo deployments
164

    
165
Astakos
166
-------
167

    
168
* Support multiple authentication methods
169

    
170
  * Classic (username/password), Shibboleth, LDAP/Active Directory,
171
    Google, Twitter, LinkedIn
172
  * Users can enable/disable auth methods, and switch between them
173

    
174
* Introduce a UUID as a global identifier for users, throughout Synnefo
175

    
176
  * The UUID remains constant as the user enables/disables login methods
177

    
178
* Allow users to modify their email address freely
179
* Per-user, per-resource accounting mechanism (quotaholder)
180
* Full quota support, with per-user, per-resource quotas, based on quotaholder
181
* Projects: Users can create and join Projects
182

    
183
  * Projects grant extra resources to their members
184

    
185
* UI Enhancements for quotas and projects
186

    
187
  * distinct Usage tab, showing usage of individual resources
188
  * Project management UI
189
  * New Overview page
190

    
191
Cyclades
192
--------
193

    
194
* Commission resources on quotaholder/Astakos
195
* Support mass creation of flavors
196
* Support for the ExtStorage disk template in Ganeti
197
* Query and report quotas in the UI
198
* Pass VM configuration parameters over a VM-side API (`vmapi`)
199

    
200
  * Do not pass sensitive data as Ganeti OS parameters
201
  * Keep sensitive data in memory caches (memcached) and
202
    never allow them to hit the disk
203

    
204
* Display additional backend information in helpdesk machines list
205
* Allow helpdesk users to search for an account using a known machine id
206
* Helpdesk actions are now logged using the synnefo's common login
207
  infrastructure
208

    
209
Pithos
210
------
211

    
212
* Support storage of blocks on a RADOS backend, for Archipelago
213

    
214
  * new settings:
215
    PITHOS_RADOS_STORAGE, PITHOS_RADOS_POOL_BLOCKS, PITHOS_RADOS_POOL_MAPS
216

    
217
* Rewritten support for public URLs, with admin-selectable length
218

    
219
  * new settings:
220
    PITHOS_PUBLIC_URL_SECURITY, PITHOS_PUBLIC_URL_ALPHABET
221

    
222
* Enable pithos backend to use external quotaholder component
223

    
224
  * new settings:
225
    PITHOS_USE_QUOTAHOLDER, PITHOS_QUOTAHOLDER_URL, PITHOS_QUOTAHOLDER_TOKEN,
226
    PITHOS_QUOTAHOLDER_POOLSIZE
227

    
228
* Moderated version debiting mechanism
229

    
230
  * new setting:
231
    PITHOS_BACKEND_FREE_VERSIONING
232

    
233
* Proxy Astakos user-visible services
234

    
235
  * new settings:
236
    PITHOS_PROXY_USER_SERVICES, PITHOS_USER_CATALOG_URL,
237
    PITHOS_USER_FEEDBACK_URL, PITHOS_USER_LOGIN_URL
238

    
239
Tools
240
-----
241

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