Statistics
| Branch: | Tag: | Revision:

root / snf-cyclades-app / Changelog @ e17a08fe

History | View | Annotate | Download (23.4 kB)

1
Changelog
2
---------
3

    
4
v0.9.12
5
*******
6

    
7
* Update copyright notice on ui footer 
8
* Improve readability of vm password in ui 
9
* Fix nonexistent image metadata handling 
10
* Fix multiple connect actions sent to the server (#2358)
11
* Fix history handling (#2299)
12
* Fix python-daemon required version 
13

    
14

    
15
v0.9.11
16
*******
17

    
18
* listservers management command unicode workaround
19

    
20

    
21
v0.9.10
22
*******
23

    
24
* Fallback to displaying the image id if it can not resolve it.
25
* Remove **detect-orphan-{servers,networks}.
26

    
27

    
28
v0.9.9
29
******
30

    
31
* Update footer links
32
* Fix create view default flavor
33
* Updated setup.py required packages versions
34

    
35

    
36
v0.9.8
37
******
38

    
39
* Fix empty user information in feedback mails
40

    
41

    
42
v0.9.7
43
******
44
* Verify VNC server settings in get_console
45
* Management commands additions / improvements / fixes
46
* UI application fixes/improvements
47
* Other minor bugfixes
48

    
49

    
50
v0.9.2
51
******
52
* ui.userdata migration fixes
53
* new synnefo.db migrations (fixes constrain issues)
54

    
55

    
56
v0.9.1
57
******
58
* Bumped version for debian package to upgrade from 0.9.0rc1
59

    
60

    
61
v0.9.0
62
******
63

    
64
* Removed link_static management command from synnefo.ui app
65
* Astakos integration in ui and api
66
* Cloudbar integration in ui
67

    
68

    
69
2011-11-29, v0.7.4
70
******************
71

    
72
FIXES:
73
	OKEANOS_INTRO:
74
		* News section
75

    
76

    
77
2011-10-21, v0.7.3
78
******************
79

    
80
FIXES:
81
	UI:
82
		* Fix two UI glitches with Firefox 3.6 (#1545, #1546)
83

    
84

    
85
2011-10-19, v0.7.2
86
******************
87

    
88
FIXES:
89
    UI:
90
	    * Fix regressions with flavor sorting and image size checking
91
		  (#1429, #1507)
92

    
93

    
94
2011-10-17, v0.7.1
95
******************
96

    
97
FIXES:
98
    UI:
99
        * Fix Enter/Esc on machine rename not working in the UI (#1501)
100
	    * Fix UI barfs if a VM is based on an Image with state=DELETED (#1494)
101
        * Fix UI user logout action does not work (#1497)
102
    Images:	
103
		* Fix erroneous reference to $(HELPER_DIR) in /etc/default /snf-image (#1498)
104
		* Fix typo in snf-image-helper ChangePassword task (#1500)
105
		* Show timestamps on execution of helper tasks in snf-image helper VM (#1499)
106
    Deployment:
107
		* Improve check for Ganeti master in snf-ganeti-eventd init script (#1323)
108
		* Fix snf-ganeti-eventd init script ignored defaults file (#1505)
109

    
110

    
111
2011-10-13, v0.7
112
****************
113

    
114
NEW FEATURES:
115
    UI:
116
        * From the ground-up rebuilt, refactored MVC-based UI (#1443)
117
        * Document all settings introduced due to UI refactoring (#1447)
118
        * UI asset files versioning (#1460)
119
        * Improve feedback on completed steps during machine creation (#1461)
120
    Images:
121
        * Completely re-engineered image deployment mechanism based on
122
          snf-image Ganeti OS provider, in isolated helper VM
123
        * Support public and private images (#555)
124
        * Support handling of VM filesystem, injection of arbitrary files
125
          on VM creation (#491)
126
        * Implement file injection as a task in snf-image (#1095)
127
        * Remove all-host based processing of (potentially user-provided)
128
          Images (#969)
129
    API:
130
        * Implement <personality> tag in OpenStack Compute API
131
          for file injection (#985, #1093)
132
        * Update API implementation for server/image metadata based on latest
133
          draft version of spec (#1403)
134
        * Support deletion of Flavors, support servers referring to
135
          inexistent (deleted) Flavors (#1157)
136
    Admin:
137
        * Addition of **meta option to snf-admin image for easy setting
138
          of image metadata values on image creation (#1107)
139
    Deployment:
140
        * Initial iteration of a system test suite, snf-burnin,
141
          for end-to-end testing of Synnefo deployments (#1155)
142
        * Re-engineered logging mechanism, for finer-grained control (#1033)
143
        * Add init script for snf-ganeti-eventd, fix Debian packaging (#1323)
144
        * Document removal of Flavors from circulation (#1472)
145
        * Add generic service unavailable template (#1359)
146

    
147

    
148
FIXES:
149
    UI:
150
        * Fix problems when reusing the Create machine wizard with IE8 (#997)
151
        * Fix problematic update of the networks tab and minor fixes (#861)
152
        * Fix "Connecting" and "progress" gif in networks tab (#863)
153
        * Fix inconsistencies on machine transitions between views (#917)
154
        * Fix IE rendering mode (#975)
155
        * Fix UI machine/network creation overlays style clutter (#979)
156
        * Have UI should reset action confirmations after state change (#981)
157
        * UI barfs due to exception on "New Machine" wizard (#1473)
158
        * UI throws exception on single-server view (#1483)
159
    API:
160
        * Fix incomplete constraints in ImageMetadata Model (#1255)
161
    Deployment:
162
        * Split initial_data.json to work around South "feature" (#1263)
163
        * Fix missing snf-ganeti-instance-image package dependency (#1319)
164
    Kamaki:
165
        * The kamaki client lib uses the root logger (#1337)
166
        * The kamaki client lib fails to set server metadata (#1399)
167
    Invitations:
168
        * FIx bug causing HTTP 500 error on /invitations/login (#1407)
169
        * Fix sort order of flavors, sort by actual characteristicts (#1429)
170
        * Fix display of error modal boxes, do notrefresh or display another
171
          error (#1433)
172
        * Fix positioning of machines in "Destroying" (#1437)
173
        * Fix Metadata button shown as clickable while it's not (#1441)
174
    Images:
175
        * Missing dependency on 'qemu-img' in snf-image-helper (#1484)
176
    Logic:
177
        * Fix messages left in the queue due to unknown Ganeti opcodes (#1492)
178

    
179

    
180
2011-09-15, v0.6.2
181
******************
182

    
183
FIXES:
184
    UI:
185
        * Fix handling of Images in state=DELETED,
186
          allow sorting and categorization of Images in the UI (#823)
187
        * Fix the "Create New wizard" does not honor selection of
188
          "small/medium/large" images (#1129)
189
    Admin:
190
        * Fix the admin interface throws exception on the
191
          Invitations tab (1105)
192
    API:
193
        * Make API responses uncacheable (#1091)
194
    Logic:
195
        * Fix The dispatcher leaving messages unprocessed for
196
          unknown Ganeti opcodes(#1111)
197

    
198
NEW FEATURES:
199
    Admin:
200
        * Support filtering based on state, support image registration
201
          with mandatory type argument, make all deletion operations
202
          set state to DELETED (#849)
203
    API:
204
        * Allow marking flavors as removed, honor deleted flag (#1055)
205

    
206

    
207
2011-09-13, v0.6.1
208
******************
209

    
210
FIXES:
211
    UI:
212
        * Make all AJAX requests to the API uncache-able
213

    
214

    
215
2011-09-12, v0.6
216
****************
217

    
218
NEW FEATURES:
219
    Admin:
220
        * Initial version of new Web-based admininstration panel, allows
221
          management of Synnefo entities directly on the DB (#849)
222
        * Allow setting https apiurl and token in cloud tool (#853)
223
    Deployment:
224
        * Overhauled reconciliation mechanism, unit tests (#1021, #811)
225
    UI:
226
        * Overhaul CPU/RAM/disk sliders in UI to be more intuitive (#843)
227
        * Support setting of small, medium large flavors in UI (#815)
228
        * Have the UI filter flavors, depending on image size (#817)
229
        * Better, error-specific handling of error codes in UI (#971)
230
        * Implement retrieval of authentication token from the UI (#977)
231
        * Re-worked invitation UI is more vocal on errors, supports pagination
232
          (#1039)
233
        * Support a list of UI-specific metadata keys to be copied from Image
234
          to newly-created Server (#847)
235
    Images:
236
        * Support dd-based deployment of Windows and Linux images, using only
237
          dd-based sequential I/O, get rid of ntfsclone (#965, #1007)
238

    
239
FIXES:
240
    UI:
241
        * Fix Opera failing with "too old changes-since value" when idle (#521)
242
        * Fix UI problems with Firefox 3.5.x (#781)
243
        * Fix server statistics not refreshing properly in the UI (#881)
244
        * Machine rename icon not visible on IE (#909)
245
        * Fix list view fail not updating machine state properly (#915)
246
        * Fix colors in "Error" state (#953)
247
        * Fix the confirmation bar disappearing at times (#955)
248
        * Hide all actions when in state "Destroying..." (#957)
249
        * Disable connect action when machine has no ip set (#983)
250
        * Update image details on last vm creation step overlay on IE (#1011)
251
        * Fix list view displays UI error when servers are updated on IE
252
          (#1013)
253
        * Make "Add invitation", remove invitation button appear clickable
254
          (#1019)
255
    Logic:
256
        * Fix Logic layer complaining about certain Ganeti opcodes (#1031)
257

    
258

    
259
2011-08-29, v0.5.5
260
******************
261

    
262
FIXES:
263
    Logic:
264
        * Bugfixes, reconnect to AMQP properly when connection drops,
265
          added more DEBUG- and INFO-level logging messages.
266

    
267

    
268
2011-07-27, v0.5.4
269
******************
270

    
271
FIXES:
272
    UI:
273
        * Numerous bugfixes, most in response to user feedback from
274
          the Alpha deployment
275
        * #813 (Minor UI issues), #857 (long machine names),
276
          #865 (problem when user has zero invitations),
277
          #873 (generic 404 template), #895 (default username in RDP file),
278
          #897 (show spinner for the public network), 899 (allow Connect
279
          from the network UI), #901 (cannot select password for copying
280
          with Chrome), #893 (firewall profile selection behaves as a single
281
          list for all servers), #903 (cannot copy paste IPv4 in icon view),
282
          #905 (Javascript throws exception when left idle), #907 (similar
283
          issue with #907), #913 (list view alert message)
284
    Images:
285
        * ntfsclone does not use all of the available space on the target (#879)
286
    Deployment:
287
        * Move fix_amqp_settings to queue system init code (#809)
288
    Admin:
289
        * snf-admin user invite is not non-ascii friendly (#943)
290
        * snf-user should show email addresses, even without any arguments (#871)
291

    
292
FEATURES:
293
    UI:
294
        * Show completion percentage when a machine is being built (#887)
295
    API:
296
        * Report percentage completion for machines in BUILD (#891)
297
    Images:
298
        * The image deployment layer should report completion to the API layer
299
          (#889)
300
    Deployment:
301
        * Drop ganeti-eventd & snf-ganeti-hook synnefo dependency (#691)
302
        * Split Synnefo Ganeti tools to separate project under snf-cyclades-gtools/
303
        * Import code for building Debian packages, refactor repository (#691)
304

    
305

    
306
2011-07-19, v0.5.3.1
307
********************
308

    
309
FIXES:
310
    API:
311
        * Fix bug with firewall code using inexistent, removed setting
312
    GUI:
313
        * Fix bug with invitations UI (#859)
314
        * Fix bug with feedback form submission raising HTTP 500
315
    Deployment:
316
        * Fix bug with error reporting by the invitations app
317

    
318

    
319
2011-07-19, v0.5.3
320
******************
321

    
322
FIXES:
323
    GUI:
324
        * Add separate LOGOUT_URL setting
325
          fixes bug with URL in invitations mail
326
    Deployment:
327
        * Recode invitations email in UTF-8
328
        * Use DEFAULT_FROM_EMAIL Django setting as From: header
329
          for all emails
330

    
331

    
332
2011-07-18, v0.5.2
333
******************
334

    
335
FIXES:
336
    GUI:
337
        * Improve IPv6 support in UI (#839, #841)
338
        * Improve Connect messages, propose username (#801)
339
        * Add "tag"/"value" headers in Modify tags popup (#845)
340
    API:
341
        * Support arbitrary arguments to RAPI CreateInstanceCall() (#835)
342
    Admin tool:
343
        * Support creation and modification of users, flavors, images (#827)
344
        * Support sending invitations from the command line
345

    
346

    
347
2011-07-14, v0.5.1
348
******************
349

    
350
FIXES:
351
    GUI:
352
        * non-standard dpi settings (#343)
353
        * many minor bugs (#717)
354
        * remove "Login again" button from Java VNC viewer (#731)
355
        * Fix no firewall settings shown for newly built machines (#753)
356
        * Fix handling of transitional "Destroying" state (#771)
357
        * Use well-formed, client- and server-specific messages
358
          for the Connect operation (#801)
359
        * Fix misaligned action labels in IE (#821)
360
          generic cross-browser compatibility fixes (#341)
361
    Logic:
362
        * fix dispatcher flushing AMQP queues (#719)
363
        * Support asynchronous VM deletion (#721)
364
        * Add backend prefix to all AMQP queues (#723)
365
        * Document workarounds for dispatcher daemonization problems
366
          when logging to stdout (#779)
367
    Images:
368
        * Fix ntfsclone causing excess I/O load due to verbose output (#729)
369
    API:
370
        * Have API use the flavor-defined disk sizes (#759)
371
        * Make backend disk templates (plain, drbd) configurable (#77&)
372
        * Work around Ganeti bug with getting VNC console info (#783)
373
        * Set serial_console=False explicitly on Ganeti backend (#785)
374
        * Allow exception info to propagate when VNC console allocation fails
375
          (#789)
376
        * Handle deletion of machines in ERROR when no Ganeti instance exists
377
          (#799)
378
    Backend:
379
        * Synchronize contrib/kvm-vif-bridge to agree with the API on the tags
380
          to use for firewall profiles (#789)
381

    
382
NEW FEATURES
383
    GUI:
384
        * Add themed form for invitations, integrate with UI (#439)
385
        * Add themed feedback form, integrate with API error window
386
          (~okeanos #7)
387
    Admin tool:
388
        * Add initial version of snf-admin tool for user, VM and image
389
          management (#727)
390

    
391

    
392
2011-07-01, v0.5
393
****************
394

    
395
NEW FEATURES
396
    GUI:
397
        * Overhauled icon and single-server view, updated color set
398
          (#651, #653, #667, #669, #673, #675, #677, #443, #631)
399
        * Added statistics, retrieves pre-processed PNGs from backend (#527)
400
        * Added buttons for modifier keys, custom theming to Java VNC client
401
          (#545)
402
        * Support single-click RDP-based connection to Windows VMs (#673)
403
        * Allow setting network firewall profiles on public interfaces (#661)
404
    Images:
405
        * Complete set of Linux distribution Images (Debian, Fedora, Ubuntu)
406
          (#493, #509)
407
        * Complete support for Windows machines (create, customize, boot)
408
          (#495)
409
    Logic:
410
        * Support centralized logging, logging.conf-based setup (#547)
411
    AAI:
412
        * Allow per-user setting of number of outgoing invitations (#439, #705)
413
        * Support "switch-user"-type functionality for helpdesk users (#665)
414
        * Support user logout in the UI, delete relevant tokens (#663)
415
    API:
416
        * Supports retrieval of statistics (#527)
417
        * Support maximum number of VMs per user (quota) (#703)
418
        * Extend API to support distinct firewall profiles, update backend (#659)
419
    Deployment:
420
        * BSD 2-clause Licensing (#581)
421
        * Initial translation of UI to Greek (#689)
422
        * Drop Django dependency in snf-ganeti-eventd and snf-ganeti-hook (#691)
423
          Synnefo dependency remains, already patched by ops, to be committed
424
        * Split settings.py to distinct files under settings.d/ (#693)
425
        * Use the Django email framework (#697)
426
        * Implemented statistics-gathering mechanism at the backend (#527)
427

    
428
FIXES:
429
    GUI:
430
        * Too many bug fixes to mention (#403, #429, #465, #473, #557, #589,
431
          #599, #605, #607, #609, #611, #613, #619, #621, #623, #625, #627,
432
          #629, #633, #635, #637, #639, #641, #643, #645, #647, #649, #655,
433
          #657, #681, #687, #699, #701, #707, #709)
434
        * Better cross-browser compatibility (#341)
435
        * Should work with relative URLs (#421)
436
    Images:
437
        * Set hostname in Linux VMs appropriately (#603)
438
    Logic:
439
        * Include EUI-64-derived IPv6 address in ganeti-net-status notifications
440
          (#615)
441
    Deployment:
442
        * Do not set nodes explicitly, use iallocator at Ganeti backend (#617)
443

    
444

    
445
2011-06-06, v0.4
446
****************
447

    
448
NEW FEATURES:
449
    GUI:
450
        * Support displaying info on and handling of public and private networks,
451
          with differential updates (#407, #469)
452
        * Support create new private network (#541), add machine to
453
          private network (#543)
454
        * Design and implement a completely revamped blue and orange
455
          color theme (#529, #531)
456
        * Implement improved add/edit metadata dialog with suggested values for
457
          keys (#535, #537)
458
        * Implement list of suggested keys in add server metadata dialog (#537)
459
        * Add full-screen Console window, themed as the rest of the UI (#497)
460
        * Implement single-machine view in the UI (#573)
461
        * Add user notification (spinner) on button clicks performing
462
          API actions (#471)
463
        * Full IE support, differential updates (#461)
464
    AAI:
465
        * Each token has its own expiration date, fix expiration of
466
          development test token (#483)
467
        * Support adding new users to the DB by invitation (#439)
468
    API:
469
        * Extend networks API, support differential updates for private nets (#569)
470
        * Support XML replies for the /networks API namespace (#553)
471
        * Implement mechanism for reconciliation of DB state with Ganeti backend
472
          state in case of AMQP failure (#505)
473
        * Support Ganeti link pooling for management of private networks (#513)
474
        * Support reception and processing of NIC configuration notifications
475
          from Ganeti over AMQP (#513)
476
    IMAGES:
477
        * Implement generic API<->Ganeti mechanism for passing custom VM parameters (#487)
478
        * Support selection and handling of OS images for VM customization (#489)
479
        * Support random selection and enforcement of root password on Linux VMs (#485)
480
    GANETI BACKEND:
481
        * Design and implement mechanism for handling network connection requests,
482
          based on link ids of virtual NICs (#411)
483
        * Support handling of public and private networks,
484
          based on NFDHCPD and custom KVM ifup scripts (#407, #411)
485

    
486
FIXES:
487
    GUI:
488
        * Remove extraneous GET /server/id/meta requests (#463)
489
        * Fix location of the "Create New" wizard in IE (#467)
490
        * Make numerous hardcoded strings translatable (#473)
491
        * Fix alignment of step names in "Create New" wizard (#475)
492
        * Fix OS icons not appearing in Opera (#477)
493
        * Fix correspondence of OS icons to icon URIs (#481)
494
        * Fix console action inoperable in list view (#497)
495
        * Fix HTTP errors from backend not reported correctly (#523)
496
        * Fix handling of API "UKNNOWN" status for servers (#571)
497
        * Add SVG-derived icons for Fedora in multiple resolutions (#587)
498
        * Various minor UI glitches (#583, #585, #591)
499
    API:
500
        * Fix entering Greek characters in fields failed (was due to
501
          problem with db creation parameters in MySQL) (#499)
502
        * Fix return erroneous 304 NOT MOTIFIED for GET /servers if only
503
          server metadata modified (#525)
504
        * Fix return erroneous "UNKNOWN" status under specific circumstances (#573)
505
        * Remove private network connections when a server is deleted (#579)
506

    
507

    
508
KNOWN DEFECTS:
509

    
510
    GUI:
511
        * Does not work with relative URLs (cannot deploy under subdir) (#421)
512
        * UI breaks if "Create New" called twice in quick succession (#609)
513
        * Esc/Enter keys do not work in edit metadata window (#605)
514
        * No spinner icon on outstanding requests for updates to private networks (#607)
515
        * Error window overflows in case of longer-than-usual traceback in
516
          "Details" field (#611)
517
        * Single-server view does not update properly (#613)
518
    IMAGES:
519
        * Image deployment mechanism does not set Linux hostname properly (#603)
520
    GANETI BACKEND:
521
        * No IPv6 reported from the Synnefo Ganeti hook to the API
522
          (backend, API and UI can all handle IPv6 though) (#615)
523
        * All VMs currently allocated to the first Ganeti node, since no
524
          allocator has been installed in the development Ganeti yet (#617)
525
    Deployment:
526
        * No rigorous testing of data migration, migrations in real-world
527
          conditions will probably fail (#503)
528

    
529

    
530
2011-05-10, v0.3
531
****************
532

    
533
FIXES/NEW FEATURES:
534

    
535
    GUI:
536
        * Report connection failures correctly, instead of a bogus 503 error (#427)
537
        * Support rename Virtual Machines using a nifty pencil icon (#429)
538
        * Fix complete failure of site with IE (starts, has known defects) (#431)
539
        * Support expanding box in icon view, containing metadata info (#375, #435, #441)
540
        * Support providing X-Auth-Token headers for authentication (#455)
541
        * Support Java applet-based popup for VNC console access (#391)
542
        * Initial implementation of "networks" tab interface mockup, no actual functionality (#415)
543
    AAI:
544
        * End-to-end Shibboleth support (#345)
545
    API:
546
        * Support creation, management and removal of private L2 networks (#409, #457)
547
        * Fix API implementation does not return unAuthorized cloud faults (#459)
548
        * Merge support for X-Auth-Token based authentication (#423)
549
    Logic:
550
        * Re-engineer messaging layer, migrate from 0mq to an AMQP-based infrastructure (#393)
551
        * Extended dispatcher, provides the context for executing business layer functions (#393)
552
        * Extended Ganeti event daemon, publish notifications over AMQP (#393)
553
        * Support a generic Synnefo hook in Ganeti, publish notifications over AMQP (#393, #397)
554
        * Extend logic layer, process NIC configuration notifications, update VM info in DB (#397)
555
    Deployment:
556
        * Add improved version of README.deploy, detailing node types in a Synnefo deployment
557

    
558
KNOWN DEFECTS:
559

    
560
    GUI:
561
        * Inoperative console action in list view (#497)
562
        * Various UI glitches under Chrome/Safari (wizard)
563
        * Serious functionality glitches with IE (no auto-refresh, no machine rename)
564
        * Serious UI glitches with non-standard dpi settings (#343)
565
        * Does not work with relative URLs (cannot deploy under subdir) (#421)
566
    API:
567
        * No Greek characters allowed in server names with the MySQL backend (#499)
568
    Deployment:
569
        * No rigorous testing of data migration, migrations in real-world conditions will probably fail (#503)
570

    
571

    
572
2011-04-19, v0.2.2
573
******************
574

    
575
Bug fix release:
576
    GUI:
577
        * Fix start operation breakage due to extra argument in API call (#433)
578

    
579

    
580
2011-04-19, v0.2.1
581
******************
582

    
583
Bug fix release:
584
    GUI:
585
        * Fix shutdown operation breakage due to extra argument in API call (#433)
586

    
587

    
588
2011-04-19, v0.2
589
****************
590

    
591
FIXES/NEW FEATURES:
592

    
593
    GUI:
594
        * Show transitional state when command is in progress ("Starting", etc) (#401)
595
        * Allow only "destroy" for machines being built (#399)
596
        * Show nice icons for the icon, list and single view (#389)
597
        * Show the VM configuration (flavor) in list view (#387)
598
        * Add Destroy action in icon view (#381)
599
        * Show spinner when action is in progress (#379)
600
        * Handle OS icons properly for Images and machines, user-controlled (#257)
601
        * Support modification of VM metadata (currently: only addition, removal) (#375)
602
        * Support machine rename (#307)
603
        * Show welcome screen when no VMs defined (#279)
604
        * Revamped "Create New" wizard (#83)
605
    API:
606
        * Return buildInProgress properly (#351)
607
        * Loads of new unit tests (#417)
608
        * Support OOB console access over VNC using vncauthproxy
609
            - Run as daemon, support automatic port selection (#419)
610
        * Refactor ganeti-0mqd
611
            - Run as daemon, receive messages from Ganeti hooks, publish over 0mq
612
    Deployment:
613
        * Add initial version of README.deploy, detailing service dependencies
614
        * Add support for database migrations, using Django South (#371)
615
        * Install continuous integration platform (Jenkins), run tests automatically (#383)
616

    
617
KNOWN DEFECTS:
618

    
619
    GUI:
620
        * Minor visual problems with Firefox 3.5 (#403)
621
        * Major cross-browser compatibility problems (no IE support) (#431, #341)
622
        * Requires installation under /, does not work with relative URLs (#421)
623
        * Incorrect 503 return code when server is unreachable (#427)