-
Notifications
You must be signed in to change notification settings - Fork 19
/
Changelog
479 lines (385 loc) · 16.8 KB
/
Changelog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
2.1 RELEASE
Features/Bugfixing release
Requirements:
- Install django-redis-cache to use since in-house Redis client is removed
New Features:
- Support custom disk params for extstorage providers
- Support clear_osparams when reinstalling instances between OS providers
Fixes/Improvements:
- Updates in vima policy rules and implementation
- Fix InstanceApplicationAdmin searching
- Fix rename message regarding button's label
===========
2.0 RELEASE
Django 1.8 RELEASE
Features/Bugfixing/Django Upgrade release
Requirements:
- Django 1.8 upgrade
- New registration package, django-registration-redux (master branch from
GitHub)
- New version of `django-oauth-toolkit` (0.5.0 ~> 0.10.0)
New Features:
- Now uses Django 1.8
- New registration process:
1. User signs up for an account
2. User validates his email address
3. Admins activate the user's account
- Instance applications now show the admin that approved them
- A video is included in the front page
- Instance applications have an extra status, `STATUS_DISCARDED`
Fixes/Improvements:
- Add disk-template in instance view page
- Improve translations (GR)
- Fix bug which needed restarting the server when changing a Cluster to "Disabled" for the change to be visible
- Allow https:// images (links) in boot from CDROM (iso)
- Display an instance's secondary node(s) in instance view page
- Correct search fields in `apply/admin.py` (Resulted in HTTP500 error when used)
===========
1.7 RELEASE
Features/Bugfixing release
Requirements:
- South migration: python manage.py migrate
- Update settings.py to settings.py.dist
New features:
- Registration now requires both email validation (from the user) & admin
approval
- Management command that refreshes the cached instances / clusters
- Display an instance's secondary node(s)
- Add an extra status for instance applications (STATUS_DISCARDED)
- Support (optional) error logging on Sentry
Fixes/Improvements
- Fixes in docs
- Fix wrong network name in instance creation
- Better handling of subject prefixes, locale & other in email messages
===========
1.6 RELEASE
Features/Bugfixing release
Requirements:
- South migration: python manage.py migrate
- Update settings.py to settings.py.dist
New Features:
- NoVNC transfer commands from text area
- SNF images discovery
- Tests
- Search by column on the home table
- Clear button in search input on the home table
- Admins can now create instances without having to review their own applications
- Email Notifications archive
- Disable choice for full networks in applications review
- Oauth2 for the list of the vms (optional, read the docs for more details)
- Add support for remote discovery and retrieval of available snf-images
- Add fabric script under contrib for automated deployment
Fixes/Improvements:
- Instance creation button triggers only once
- Improve email messages remove greek, add translations
- Reinstall/Rename form submits on enter
- Better token handling of rename/reinstall requests
- Added more permissions (lock, isolate) and improve options dropdown in vms
- Cluster page faster loading
- Improved cluster admin
- Translations
- Exception handling when cluster won't respond.
- Improved settings file
- Fancier Frontend
- Add default value in cluster dropdown
- User has a default organization and phone which are the default in an application. Also, this data is automatically filled if the user fills an application and has no default organization and phone.
- Remove instance owners section, since it provides the same data with the home page
- Easier branding
- Autofocus on inputs (search and username)
- Code refactoring
- Junk files removal
- If application form is invalid, os selection is set to noop, fixed
- Proper message in 'user has been notified' after application rejection
- Organization and contact information now exists in user model
- A security issue allowing users to edit instances that do not belong to them has been fixed. In such occasion, the administrators are now notified via email and the
issue is logged in the auditlog as "unauthorized"
Notes:
- There is a datamigration (accounts/migrations/0004_organizations.py) in this version that fills user's organization field (new), based on his last application.
Upgrading from 1.5:
- Table ganeti_cluster.default_disk_template is deleted
- The following settings have been added:
- AUDIT_ENTRIES_LAST_X_DAYS (how many days should the auditlog show us)
- New BRANDING settings and new values ("LOGO": "/static/ganetimgr/img/logo.png", "FAVICON": "/static/ganetimgr/img/favicon.ico",)
- Changed NODATA_IMAGE = 'static/nodata.gif' value
- Table auditlog_auditentry now contains an extra row named is_authorized
===========
1.5.5 RELEASE
Bugfixing release
- [fixed] If application form is invalid, OS selection is set to noop
- [fixed] If a cluster's slug contains the dash character it would generate a 404 response
===========
1.5.4 RELEASE
Features/Bugfixing release
Requirements:
- South migration: python manage.py migrate
- Update settings.py to settings.py.dist
New Features:
- Search by column on the home table
- Clear button in search input on the home table
- Admins can now create instances without having to review their own applications
- Email Notifications archive
- Disable choice for full networks in applications review
Fixes/Improvements:
- Improved settings file
- Fancier Frontend
- Add default value in cluster dropdown
- User has a default organization and phone which are the default in an application. Also, this data is automatically filled if the user fills an application and has no default organization and phone.
- Remove instance owners section, since it provides the same data with the home page
- Easier branding
- Autofocus on inputs (search and username)
- Code refactoring
- Junk files removal
- If application form is invalid, os selection is set to noop, fixed
- Proper message in 'user has been notified' after application rejection
- Organization and contact information now exists in user model
Notes:
- There is a datamigration (accounts/migrations/0004_organizations.py) in this version that fills user's organization field (new), based on his last application.
===========
1.5.5 RELEASE (stable)
Bugfixing release
- [fixed] If a cluster's slug contains the dash character it would generate a 404 response
- [fixed] If application form is invalid, OS selection is set to noop
===========
1.5.4 RELEASE
Features/Bugfixing release
- Reinstall with same os works now
- [Feature] Batch graphs per cluster/node
- [Feature] Functionality to lock nodegroups
- [Workaround] When reinstalling instance with a new os, os params are changed as they should
- Minor fix on user resolution in auditlog
- Code cleanup
- Toggle the visibiliti of approved and failed applications
- Pending applications notification does not count failed and approved applications
- Fix bug that causes mail to crash
===========
1.5.3 RELEASE
Features/Bugfixing release
Requirements:
- Perform south migration: python manage.py migrate
- Update settings.py to settings.py.dist. A new context processor is deployed
- Update urls.py to urls.py.dist. The graph url has been updated
New Features:
- Add support for snf-image in operating_systems (settings.py)
- Add support for remote discovery and retrieval of available operating systems images
- Code refactoring in accordance with the new ganeti RAPI client Query capability
- Decouple network selection from cluster selection in application approval form
- Add extra fields with more options in instance application approval
- Add a live clusters job overview page
- Deploy an audit log mechanism to track user actions
- Add new fields that render instance parameters
- Add free address count in network info
- Implement a compact cluster view
- Switch to the new ganeti API client
- Re-implement fetch functions to match new API client features
- Implement auto logout on session expiration
- Implement support for multiple graphs for VMs with many network interfaces
Fixes/Enhancements:
- Branding
- Allow failed and approved-but-not-submitted applications to be resubmitted
- Reset backend_message when re-submitting job
- Display status when reviewing application
- Provide additional English E-mail translations
- Fix issue with username containing dot
- Rewrite nodata image path
- Rewrite memory choices in instance review form
- Add missing return false statement in button click function
- Fix issue with disk size not being properly calculated (was 1000 instead of 1024)
- Fix issue with single disk units sorting
- Remove network field from admin
- Change instance application review form logic to match instance parameters
- Minor Javascript syntax fixes
- Add disks columns in user/group instances view
- Get number of instances in cluster aggregated info function
- Implement select option dropdowns as Select2 objects
- Update nodes view with cluster filtering and instances listing
- Provide better visual feedback on start, stop, reboot
- Add default disk template and disabled nodegroup formatting
- Patch the Django pass reset form with more informative messages
- Filter only active users in user mailing functions
- Add a __unicode__ method to user profile model
- Cleanup application review form
- Add an indicator for application status
- Minor bugfixing in idle accounts sorting
- Update translations
- Add translation for instance action emails
- Fix minor cache conflict issue
- Change disk templates source of info
- Introduce 2 timeout variables to curl config of cluster _client
- Minor fix in disk templates parsing
- Switch to different source of info for disk templates in cluster html template
- Add instance 'needsreboot' tag
- Add the 'safe' messages extra arg handler in messages placeholder
- Generate a warning in case one or more instances carry the 'needsreboot' tag
- Ensure an instance is turned off when pressing the Rename button
===========
1.4.1 RELEASE
Bugfixing release
Requirements:
- Set the FLATPAGES dict according to your needs in settings.py (check settings.py.dist)
Fixes/Enhancements:
- Fix issue with inputfields not being resized properly on window resize. This closes #1 (reported via github)
- Add django widget tweaks to ease form field rendering with bootstrap params
- Resize datatable on page resize. This closes #2 (reported via github)
- Add tooltip on mail service. This closes #3 (reported via github)
- Add shortcuts confirmation. This closes #5 (reported via github)
- Instructions on github for twisted-vncauthproxy are more up-to-date
- Documentation fixes regarding usage of twisted-vncauthproxy
- Change news icon. This closes #6 (reported via github)
- Add flatpages in fixtures; Info, ToS and the new one, FAQ.
===========
1.4.0 RELEASE
Bugfixing/Major feature enhancements. Debian wheezy/Django 1.4 compatibility
Requirements:
- Pay attention to Django 1.4 changes as depicted in settings.py
- Set the FEED_URL to an RSS news feed if desired
- Setup WebSockets VNCAuthProxy if desired
- If WebSockets NoVNC is setup, set the WEBSOCK_VNC_ENABLED to True
and the NOVNC_PROXY and NOVNC_USE_TLS to match your setup
- Update the BRANDING dict to match your needs
- Perform south migration
Fixes:
- Handle Xen-PVM hypervisor missing cdrom_image_path in instance listing
- Fix major issue with signal received twice upon profile creation
Features/Functionality:
- Debian wheezy/Django 1.4 compatibility
- Add support for django-registration>=0.8
- Add RSS feed support to display service news to users
- NoVNC/Websockets support
- Block VM creation per cluster via disabled network selection
- Increase security with session timeout & passchange logout
- Patch redis Django client to support the redis keys() function
- Implement clear cache for admins
- Allow users to change their instance owners
- Enhancements for users. Add disks and instance action shortcuts in VM listing
- Check for unique email upon user registration
- Branding features (logo, motto, footer, etc)
===========
1.3.0 RELEASE
Bugfixing/Major feature enhancements
Requirements:
- Set the WHITELIST_IP_MAX_SUBNET_V4/V6 to desired max
whitelist IP subnets in settings.py
- Perform south migration
Fixes:
- Minor UI fixes
- Some minor typo errors fixes
- Fix issues with new ganeti version and invalid bridged network request
- Ignore hostname checks if a reject occurs. This closes #4726
- Update theme template with view apps perm.
Fix responsive hidden menu issue
Functionality:
- Add instance isolate option to admin
- Add isolate and whitelisting forms
- Add jquery cookie
- Add rst documentation
- Add permissions creation via south migrations
Requires south migrate to take effect
- Add view applications permission
- Add any_permission decorator to applications listing
- Update context with view applications permission
- Update template with view applications permission
- Add a gnt-network bool field in cluster model
- Add a status dict to count node roles
- Add services indicator starting with email icon. This closes #4653
- Link application hostname with instance view. This closes #4680
- Add node in vms and instance view for admin
===========
1.2.3 RELEASE
Bugfixing/Minor feature enhancements
Requirements:
- Add the HELPDESK_INTEGRATION_JAVASCRIPT_PARAMS in settings.py and set
a key,value pair. Read README.txt for details
Fixes:
- Use filtering by user/group url to show exact matches
- Catch more graph fetch errors
- Fix an endif statement placement
- Handle cache exception with malformated object
- Cleanup console.log statements
- Add missing closing div. This closes #4334
Functionality:
- Add stateSave to store search preferences in cookie
- Add disk size warning
- Add custom field support in collector. This closes #4323
- Add admin options in instance view for admins. This closes #4348
- Add nic_link in instance view for admins. This closes #4349
- Show cluster slug when user is admin. This one closes #4286
- Add wait for sync = False in instance creation
- Add support for ganeti 2.6.2 instance admin_state parsing
===========
1.2.2 RELEASE
Bugfixing release
Requirements:
- Restart the watcher.py as application performance affecting changes took place
Fixes:
- Fix a bug caused by repeated memcache gets in a gevent Pool job
===========
1.2.1 RELEASE
Bugfixing release
Fixes:
- Handle exceptions in instance json generation
===========
1.2 RELEASE
Functionality/bugfixing release
Requirements:
- Set the RAPI_TIMEOUT in settings.py (see .dist)
- Set the NODATA_IMAGE path in settings.py.dist
- Update urls.py to urls.py.dist
- Copy templates/analytics.html.dist to templates/analytics.html and change
provider if needed or leave the file empty
Functionality:
- Add pagination and instane count on top of user instances table
- Add link in admin statistics/user instances to user info
- Add instances in user info page
- Add instance lock
- Add pagination to idle user accounts
- Add analytics support
Core:
- Add version in separate file
- Better cache handling in case of a cluster lock
- Make RAPI connect timeout a variable in settings
Fixes:
- Show language names in their native format
- Hide clusters in stats where user has no VMs
- Add visual feedback once the user verifies an action
- Add a warning if instance is up on rename request
- Fix a bug that blocks visual feedback to user in advanced actions
- Fix error notification in review form
- Fix sorting by memsize
- Minor UI fix in error pages 404 500 403
===========
1.1 RELEASE
Minor fix release
Fixes:
- Add some existence checks in applications list
- Fix a bug where non reachable clusters caused exceptions
- Update flatpages template
===========
1.0 RELEASE
Major UI/functionality re-desing
Requirements:
-south migration to include database changes
-new statements in settings.py.dist (make sure you update settings.py)
-new urls in urls.py.dist (make sure you update urls.py)
-python-ipaddr lib to generate IPv6 statements
Functionality:
-Added platrofm statistics
-Add instance cpu,network graphs with custom start/end
-Added node statistics
-Added instance rename, reinstall, destroy
-Added ipv6 display
-Added instance tagging
-Added notifications via email
-Added idle users notifications
-Enhanced security regarding user profile changes
-Integrate with servermon tool
UI:
-Total UI re-design with new theme based on boostrap
-Responsive design
-Latest jquery ui integration
-Inclusion of jquery select2 lib
-Inclusion of highcharts with json data
-Embed ticketing system report (Jira)
Core functions:
-Dual caching layer
-Instance fetching via JSON
-Performance boosting with abstraction layers