-
Notifications
You must be signed in to change notification settings - Fork 26
/
NEWS
797 lines (771 loc) · 36.7 KB
/
NEWS
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
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
1.1.3 - 2013-04-17
* Deltacloud
+ We no longer support MRI 1.8
+ Added Deltacloud namespace for all models and classes to avoid conflicts (DTACLOUD-517)
+ Added possibility to pass :mock_initialize when using Deltacloud as Rack
middleware. (DTACLOUD-507)
+ Fixed various dependency issues with excon, tilt and haml
+ Added support for URL helper for Rabbit subcollections (DTACLOUD-526)
+ Switch to use local variables instead of instance variables in HAML views (thanks to Francesco Vollero)
+ Refactored driver source loading code (DTACLOUD-540)
* Client
+ Complete rewrite from scratch using Faraday lib
* CIMI
+ Fixed incorrect look up for DiskCollection (DTACLOUD-536)
+ Added missing VolumeConfigurationCreate (DTACLOUD-524)
+ Added initial support for System models (mock, fgcp) (thanks to Dies Koper)
+ Refactored how we generate Rabbit collections (generate_operation_collection)
+ Obsoleted CIMI HAML views were removed
+ Fixed deltacloud-db-upgrade to work on Windows
* EC2
+ Fixed logging for EC2 frontend
* Drivers
+ RHEV-M
- Allow client to select the first boot device
+ Mock
- Convert all stub URL's correctly
* Tests
+ Added loadbalancer tests for EC2
+ Added support for Extended Machine scenarios - user_data (thanks to Ronelle Landy)
1.1.2 - 2013-03-13
* Deltacloud
+ Introducing the 'deltacloud-db-upgrade' command for CIMI database
+ Introducing the 'initializers'
+ Fixed various JRuby issues, Deltacloud now runs on Puma web server
+ Added possibility to defined multiple features in drivers per one-line
+ Fixed Deltacloud logging when running as a daemon
+ Improvements in how we load sinatra-rabbit collections
+ Fixed JSON/XML serialization of 'realms'
+ Fixed improper exception handling (DTACLOUD-489)
+ Fixed namespacing issues in sinatra-rabbit
+ Improved the 'filter_on' helper we use in drivers
+ Improved compatibility with upcoming Ruby 2.0
+ Deltacloud models now live in Deltacloud:: namespace (DTACLOUD-507)
* CIMI
+ Introducing the CIMI 'create' entities (MachineCreate, MachineTemplateCreate, etc.)
+ CIMI models are now properly validated when they are created
+ General improvements in database support
+ Introducing initial System entity support
+ The 'rake cimi:routes' now display all CIMI entities and their routes
+ Added support for 'referenced' entities in CIMI models
+ (VolumeConfig): add missing type attribute
+ (MachineCreate): pass initialState to driver
+ Added possibility to use 'references' in 'array'
* Drivers:
+ Mock
- General cleanup in Mock driver code, removed unused requires/etc
- Restored previously removed Network operations
- Initial import of CIMI System entities (dkoper)
- Create/delete blobs - update bucket size (DTACLOUD-498)
+ FGCP
- Added code to exclude resources that were deleted during retrieval
- Added support for storage_volume creation from snapshot (DTACLOUD-492)
- Added mapping for GET system and system_templates (CIMI)
- Added many unit tests
+ OpenStack
- Remaped 'regions' to 'providers' (DTACLOUD-488)
- Remove realm<->region mapping for created Instances (DTACLOUD-477)
+ DigitalOcean
- Added :authentication_key feature to instances
- Added 'valid_credentials?' method for digital_ocean driver
- Fix filtering of realms (DTACLOUD-503)
- Define default :realm_id and :hwp_id for create_instance
- Advertise :destroy operation when instance is STOPPED
+ RHEV-M
- Avoid failure of GET instance details (DTACLOUD-462)
+ VSphere
- Added support for StoragePod
+ Opennebula
- Fix when computehash['INSTANCE_TYPE'] is nil
1.1.1 - 2013-02-13
* Deltacloud
+ API CHANGES
- Added 'root_type' attribute to Image and HardwareProfile
- Added the 'resource_types' attribute to Realm model
+ Server
- Advertise :destroy_image only if backend driver support this operation
- Added tests for deltacloudd launcher
- JSON output now include :href attributes (DTACLOUD-418)
- Fixed bug in JSON output in storage_volumes collection (DTACLOUD-454)
- Added possiblity to specify an 'username' for 'run on instance' action.
- Added JSON output for run_on_instance action
- Don't advertise the 'root_type' if provider does not support
persistent/transient storage.
* Drivers:
+ Mock
- Some buckets hrefs in XML are missing "/" and returned garbled (DTACLOUD-425)
+ EC2
- Added possiblity to import 'key' (require 'aws' >= 2.7.0) (DTACLOUD-438)
+ Aruba
- Renamed driver to 'ArubaCloud' (DTACLOUD-444)
- Fixed in the 'savon' client
+ DigitalOcean
- New driver (https://www.digitalocean.com/)
- Added hardware_profiles retrieval from provider
+ FGCP
- Added support for :instance_count feature (CreateMultipleVServer)
- Remaped instance error states
+ Rackspace
- Fixed case when created instances are not returned immediately after
creation
- Added compatible hardware_profiles to image (DTACLOUD-439)
+ Openstack
- Make sure we retain keyname when both authentication_password and
authentication_key are present in driver (DTACLOUD-421)
- Added :storage_snapshot support (openstack gem >= 1.0.8 required)
- Fixed bug when we did base64 encode for :user_data in driver
- Added :launch_time attribute for instances
- Map Openstack 'regions' to Deltacloud realms (DTACLOUD-443)
- Fixed several MRI 1.8.7 compatiblity issues (DTACLOUD-461)
+ Eucalyptus
- Override the realms method (no vpc/subnets) (DTACLOUD-423)
+ GoGrid
- Added compatible hardware_profiles to image (DTACLOUD-439)
- GoGrid VCR fixtures update
+ RHEV-M
- Advertise the :create_image operation only for STOPPED instances (DTACLOUD-452)
- Fixed case when using wrong instance_id when performing operation errors
out (DTACLOUD-457)
* CIMI
+ Server
- Datamapper ORM replaced by the Sequel (http://sequel.rubyforge.org/)
- Added unit-tests for database models
- Fixed case when the collection is used as value for $select (DTACLOUD-432)
- Filtering of sub-collections now works using $select (DTACLOUD-431)
- Fixed missing :href attribute for sub-collections (DTACLOUD-433)
- Added unit-tests for the $select
- Fixed case when CIMI database entity is created without properties (DTACLOUD-448)
- Initial support for $filter parameter
- Added support for 'initial_state' capability (mock driver) (DTACLOUD-447)
- Renamed 'test:cimi:models' rake task to 'test:cimi'
- Fixed case when we set CIMI properties on provider side
- Improvements in how we handle CIMI::Model vs. DB entity
- Added support for passing an 'realm' when creating Machine
- Added 'updated' attribute to all CIMI models
+ Client
- Added support for NetworkPortConfig and NetworkPortTemplate (DTACLOUD-409)
- Added support for AddressTemplate and Address (DTACLOUD-409)
1.1.0 - 2013-01-15
* Deltacloud core server
-Added minor tuning for jruby to spawn rake tasks correctly
-Added jruby-head target to Travis
-Core: Require "json/pure" instead of buggy "json" (DTACLOUD-382)
-Adds routes and helpers for segmented blob upload API
-Make backtrace in console longer
-Core: Fix case when backtrace for 502 exception is not set (DTACLOUD-359)
-Fix bug in images show.xml ... hwp.name vs hwp.id
-Added .to_hash method to all Deltacloud models .to_hash produce Ruby Hash that can be converted to JSON
-Serialize :drivers collection in same way as other collections
-Do not use require_relative when full path is given
-DTACLOUD-379 - raise and handle 409 instead of 500
-Adds error state to state machine model (+openstack)
-Added constraints to JSON output (DTACLOUD-410)
-DTACLOUD-398 explicitely specify errors not otherwise caught by sinatra
-Adds name/description attributes for storage_snapshot entity
-Fixed filtering of hwp profiles using architecture (DTACLOUD-414)
-Remove the :show operation from :authentication_key definition
-Fixed format of reported 403 error
-Remove 'set' in deltacloudd when thin is not installed
-Print warning when starting as a daemon without thin
-Change directory to $top_srcdir when using Webrick
-Overide default Rack::Server server to use :webrick
-Fixed timestamps and make be_id not required
* Deltacloud Tests:
-Fixed require_relative issue in drivers.
-Enable turn for Ruby 1.8
-added test for mock buckets
-added minitest can_create_bucket in mock driver
-updated fixtures for openstack instances - fixes broken build
-fixes openstack driver instances test - broken build
-Added unit tests for JSON serialization
-Fix loading of require_relative on MRI 1.8 in test_helper
-fix failing server (white box) tests for storage_snapshot
-Initial tests for deltacloudd launcher
* Deltacloud Client and Client Tests:
-tests: removing testing loops using API_URL_REDIRECT
-Fixed wrong directory name for tests in gemspec
-Fixed 'keys' unit tests
* Drivers
+EC2
-EC2: Round down the float value of m2.xlarge hardware_profile (DTACLOUD-373
-Adds support for S3 multipart object uploads (segmented blob upload API)
+Openstack
-support for object-store multipart object uploads (segmented blob upload API)
-added support for Openstack block storage volumes
-Openstack volumes - catch case where volume attachment unset - thanks Ian Main.
-Fix mappings.UNKNOWN mispeeled and add error state to state machine
+VSphere
-Fixed typo that cause DC to return 404 for all instances
-Report MAC addresses together with ipv4 addresses (DTACLOUD-376)
-Make API_PROVIDER format consistent with other drivers (DTACLOUD-399)
-Return 400 in case that required parameter is missing
-Make the 'name' parameter optional
-Fixed typo in create_instance method (DTACLOUD-401)
+RHEV-M
-Keep reporting the MAC addresses when ipv4 address is ready
-Fixed VCR fixtures to reflect recent changes in reporting MAC address
-support user-level API
-Do not advertise :destroy operation when PAUSED (DTACLOUD-355)
+FGCP
-return IP address immediately; also add arguments to batch files
-generate default instance name using timestamp if not user-specified
+GoGrid
-Switch to use json/pure in gogrid_client
+IBM SBC
-Make sure the hwp_id is not Nil when creating new instance (DTACLOUD-388)
+Mock
-Fix reporting wrong hardware profile when creating instances (DTACLOUD-364)
-Fix for DTACLOUD-393 - setup of mock fixtures
-adds storage_snapshot create/delete in mock driver
* CIMI API frontend:
-Fix hwp.name bug (.name vs .id) in machine_configs
-fix issue with machine_configs values - DTACLOUD-369
-fix stop/restart actions on Machine (DTACLOUD-367 and DTACLOUD-368)
-fix Time parse on Machine model (creation time) - DTACLOUD-370
-Fixed problem when generating subcollection
-Renamed 'name' attribute to 'key' in resource properties (DTACLOUD-372
-Added mandatory 'state' property to MachineImage (DTACLOUD-371)
-fix returned 'CIMI-Specification-Version' 1.0.1
-tidy up nits in Volumes/VolumeConfigs - especially creation
-Fixes nits on MachineImage model - DTACLOUD-378
-Fix routes for MachineVolumes - uses rabbit subcollection
-fixes MachineVolume:attach/detach operations on Machine model correct generation of MachineVolume collection
-exclude created attribute from volume if not returned by driver (fgcp, rhvem)
-fixes DELETE route for Volume (+adds delete operation for entries
-fix nits - volumes create return 201, volume attach is POST
-Initial support for persisting attributes in database
-Fix the case when stored attributes are XML
-Added MachineTemplate database model
-Added MachineTemplate collection and CRUD operations to model
-Added support for creating Machine using MachineTemplate
-Added sample JSON and XML files to support/cimi
-Fixed namespace error in MachineTemplate collection
-make CIMI::Model::VolumeImage.find behavie like Machine.find
-Moved "/cimi" to "/cimi/cloudEntryPoint" redirect to CEP collection
-Adds Volume creation with template and config by value - DTACLOUD-385
-collections use grab_content_type helper to guess type if not supplied
-make retrieving individual volumes and volume images work again
-don't depend on created to have a value as it's optional in cimi
-server/lib/cimi/models/machine.rb (from_instance): fix name of delete action
-Fix $select filter to undercore attributes (DTACLOUD-391)
-Be more carefull when removing persistence data about entity (DTACLOUD-395)
-tolerate missing subcollections when parsing
-use a helper to produce correct headers for create responses
-strictly enforce only xml or json as content-type for message bodies
-dont expose 'add' URI for collection if not supported DTACLOUD-400
-DTACLOUD-390 Add name when creating volume.
-Fix ordering of Collection entries XML elements (DTACLOUD-396)
-Add CIMI Features (Sinatra rabbit features DSL
-Initial implementation of resource_metadata (capabilities) for Machine
-adds create_image (from a running server) + delete
-Add database support to Address entity
-Added AddressTemplate database model
-Added database support for managing AddressTemplate
-Initial implementation of 'attributes' in ResourceMetadata
-Added 'constraints' to resourceMetadata attributes for realms
-Adds create/destroy for volume_image collection+model
-Fixed wrong destroy action in AddressTemplate
-Added database support for VolumeConfiguration
-Added driver and provider to CEP using resourceMetadata
-Adds database support for VolumeTemplate (create
-Added database support for MachineImage
-Added 'created' attribute to MachineTemplate
* CIMI Tests:
-Fixed compare_values() method in tests to use 'key' instead of 'name'
-allow forcing a refetch of an existing model
-Removed require "json" from tests
-API Tests - adds discovery for URIs
-(cep_test): do not accss forwarding_group_templates collection
-tests add machineTemplates test and selection if no preferred option
-tests - add create machineTemplate for scenario
-tests adding test ordering and task:cimiplan
-do not send any auth header if no user is set
-allow setting the Content-Type header for requests
-tests/cimi/test_helper.rb (model_class): assert that resourceURI is set
-tests/cimi/cep_test.rb: remove duplicate tests and assertions not required by CIMI
-check creations against what the spec allows
-add content_type helper to RestClient::Response
-tests/cimi/test_helper.rb (retrieve): accomodate responses w/o body
-fiddle with log format; dump RestClient traffic in debug level
-tests/cimi/part3_test.rb: streamline part3
-tests add creation of volume with config by value
-tests - adding provider detection
-tests skip if capability ! supported - DTACLOUD-400
-Adds API/black-box test for MachineImage create + delete
-test plan (resource metadata - The author of the XSLT (Doug Davis <[email protected]>) agreed to licensing the stylesheet http://wstf.org/docs/web/sc2html.xsl under the ASL 2.0
* CIMI client
-created view files for network ports; added network port in entities
-Fixed various compatibility issues in CIMI client
-UI/HTML client fix (MachineImages show) - DTACLOUD-405
-fixed typo for network config url
* Deltacloud Site
-Add note about require_relative gem install for Deltacloud 1.0.5
-Update Openstack specific information on drivers page
-update contact page with links to deltacloud community call
-fix broken link to aeolus wiki for vsphere setup
-Adds CIMI REST API and cURL Examples (incomplete)
-Fix Deltacloud δ logo
1.0.5 - 2012-11-15
* Server
- Added possibility to log into a file (deltacloudd -L option)
- Various fixes and improvements in logging errors
- Advertise operation and parameters for features (/api)
- Fixed memory leak (DTACLOUD-347)
* Drivers
+ Aruba
- Updated API URLs
+ FGCP
- Added possibility to filter instances by realm_id
- Fixed certificate location
+ OpenStack
- Set hardware profile name to OpenStack flavor name
- Fixed .id vs .name issues in create_instance
- Added support for user_data
- DTACLOUD-316, DTACLOUD_328
+ VSphere
- Report instance launch_time properly
- Report time of image creation
+ RHEV-M
- Report time of image creation
* CIMI frontend
- Added support for Collections
- Added support for embedded collections (Machine.disks,
Machine.volumes)
- Added initial support for $expand
- Many improvements to CIMI tests
- Fixed parsing of JSON HTTP body when creating Machine
- Set default content type for CIMI responses
- Added support for $select to Collections
- Fixed order of top-level resources
- Fixed numerous CIMI 1.0 compatibility issues
- Various JIRA fixes: DTACLOUD-350, DTACLOUD-349
* CIMI client
- Fixed various compatibility issues
* EC2 frontend
- Allow to pass user_data to RunInstances (thanks to Oved Ourfali)
1.0.4 - 2012-10-08
* server: shorten backtraces in logs to make them readable
* server: report unknown frontend cleanly when starting server (JIRA 331)
* server: generate docs at /api/docs resp. /cimi/docs
* server: clean up how we map the various frontends into the server URL space
* tests: produce nicer output and improve Jenkins integration
* Drivers
+ Google
- capture 401 and 409 errors from backend
+ Openstack
- report 401 when no username is given (JIRA 330)
- query supported collections from backend; this implies that
credentials are needed to access /api (JIRA 316)
* EC2 frontend:
- accept InstanceId as parameter for DescribeInstances (Oved Ourfali)
- Start/StopInstance: ensure instance details are returned from all
drivers, especially RHEV-M (Oved Ourfali)
* CIMI frontend:
- use correct CIMI v1.0 namespace in XML (Carlos Goncalves)
- rename entities to match CIMI v1.0 (e.g. RoutingGroup -> ForwardingGroup)
- various fixes/enhancements for networking entities (only for mock
driver so far)
- fix ordering of attributes in XML responses
- frontend still not entirely compliant with CIMI 1.0, especially
embedded collections are not yet handled correctly
* client
- make sure we send provider when changing drivers
1.0.3 - 2012-09-07
* change the format of ~/.deltacloud/config: keys are now strings, not
symbols - requires manual fixup
* server/tests/
- simplify how individual tests are run
- read credentials from a config file, rather than hardcoding them
in the tests (GoGrid and EC2 tests)
- simplify how VCR data is recorded, speed up playback
- more coverage (e.g., Rack extensions, OpenStack driver)
* server: remove extraneous quotes around ETag header value
* Drivers
+ EC2
- list subnets in a VPC as realms
- allow launching of instances into a subnet in a VPC by specifying
the corresponding subnet realm
+ OpenStack
- pass server ID as string (JIRA 306)
- require openstack gem >= 1.0.4
+ RHEV-M
- allow force stop of instance (JIRA 308)
* CIMI frontend:
- update handling of collections
- add disks and machine_volumes subcollections to Machine
* EC2 frontend: mount at ec2/ instead of /, i.e. you need to go to
http://localhost:3001/ec2 to use the frontend
* tests/cimi/: scaffolding for running the same test using JSON and XML
output
1.0.2 - 2012-08-20
* code works with MRI Ruby 1.9.x, MRI 1.8.7, and jRuby
* deltacloudd: accept -L/--log option to send log to a file; -V option to
get detailed logs
* Revamp all the tests in tests/, server/tests/, and client/tests/ to use
only the minitest test framework; also expanded the coverage of all
these test suites
* Make tests/ a test suite that can be run against any server with the
Deltacloud API (and eventually CIMI API)
* use require_relative gem for MRI Ruby 1.8
* require sinatra-rabbit >= 1.0.7 (JIRA 254)
* require excon >= 1.4.0
* Prevent hash_capability to fail finding methods (JIRA 265)
* Removed deltacloudc command line client; see
http://deltacloud.apache.org/curl-examples.html on how to use curl in
its stead
* Fix memory leak (JIRA 290)
* Fix author and mailing list address in client and server gemspec
* Drivers
+ Aruba
- new driver (Giacomo Bagnoli)
+ EC2
- fix 'bad URI' error when accessing us-east bucket from other region
(JIRA 300)
- fix exception when looking up storage snapshot with invalid id
- fix register/deregister load balancer actions
- fix exception when attaching storage volume to instance (JIRA 296)
- fix error when looking up storage snapshots (JIRA 262)
- fix error describing load balancer (JIRA 259)
- fix error viewing storage volume details from web UI (JIRA 249)
+ FGCP (all by Dies Koper)
- properly translate more backend errors
- added West Japan region
- improved error handling when connecting to wrong region, or wrong
API version
- add metrics support
- properly report whether image creation from an instance is possible
(JIRA 250)
- prevent error when listing firewall with no rules as XML
- removed system volumes from instance
- reinstated snapshots for system volumes
+ GoGrid
- fix exception in listing images (JIRA 255)
+ Mock
- fix exception when running command on instance (JIRA 298)
- added metrics support
+ OpenNebula
- make driver compatible with ON 3.6 (Daniel Molina)
- fix exception when requesting hardware profiles (JIRA 258)
+ OpenStack
- support keys collection (JIRA 205)
- allow specifying keyname when creating instance (JIRA 205)
+ RHEV-M
- properly report image_id for an instance and image status
* CIMI frontend
- fix error from GET /cimi/machines against vSphere (JIRA 279)
- fix error when looking up VolumeImage
- expose only collections supported by backend in cloud entry point
- fix error when backend does not report cpu or storage for MachineConfig
(JIRA 245)
* Deltacloud frontend
- fix streaming of blob content for large blobs
- fix EPIPE error when graphviz is not installed
- do not retrieve instance when performing start/stop/destroy (JIRA 214)
- add 'X-Deltacloud-Driver' and 'X-Deltacloud-Provider' to all responses
- fixed broken listing of supported collections in /api
- fix error changing provider from HTML UI (JIRA 248)
* EC2 frontend
- (describe_instance_set) suppress state, IP address and DNS
information if not supplied by the backend
* Ruby client
- return nil from destroy_bucket/destroy_blob
* CIMI client
- expose only collections supported by backend in cloud entry point
- report mandatory baseURI
1.0.0 - 2012-06-15
* New EC2 frontend: clients can now use the EC2 API when talking to
Deltacloud. That makes Deltacloud an EC2-to-many-backends proxy.
See http://mifo.sk/deltacloud-with-ec2-frontend
* metrics: new collection for gathering/controlling metrics (supported by
EC2 driver)
* Report destroy/delete actions on images when available (JIRA 207)
* Compatibly with Ruby 1.9
* ability to run multiple frontends from the same server (see deltacloudd
--frontends)
* Deltacloud is now a modular Sinatra application. See
http://www.sinatrarb.com/intro#Modular%20vs.%20Classic%20Style
* Use sinatra-rabbit for RESTful routing/controllers
(https://github.com/mifo/sinatra-rabbit)
* Always return status 202 after reboot in all drivers (JIRA 162)
* Numerous enhancements and bug fixes in HTML UI (JIRA 232, 211, 210,
204, 67, and many more)
* Order hardware profiles by cpu, memory (JIRA 208)
* Return status 501 when backend lacks needed capability
* Report list of hardware profile with images to indicate compatibility
of an image with a set of HWP
* Windows: fix error caused by syslog not available on Windows (JIRA 186)
* Use minitest for all our tests
* Drivers
+ EC2
- fix retrieval of IP address for run_on_instance (JIRA 211) (Dies Koper)
- return sttus 404 when deleting nonexistant load balancer (JIRA 169)
- CloudWatch support via new Metrics collection
- return status 404 when getting nonexistent blob (JIRA 174)
- fix memory amount reported for t1.micro
- add new m1.medium HWP
- return status 404 when getting nonexistent instance
+ Fujitsu Global Cloud Platform (FGCP)
- new driver contributed by Dies Koper
+ GoGrid
- fix retrieval of IP address for run_on_instance (JIRA 211) (Dies Koper)
+ Mock
- support run_on_instance (JIRA 212) (Dies Koper)
- create storage directories with mode 0750 (JIRA 139)
- allow destroying storage snapshot
- return status 404 when deleting nonexistent bucket
+ OpenNebula
- support AI v.3.x (Daniel Molina)
- support using API_PROVIDER env var to select OpenNebula installation
+ OpenStack
- updated for API v2.0
- support buckets/blob collection
- use the new openstack gem (https://github.com/ruby-openstack)
- more accurate reporting of instance state (JIRA 209)
+ Rackspace
- fix retrieval of IP address for run_on_instance (JIRA 211) (Dies Koper)
+ RHEV-M
- better error message when trying to use user_data with a backend
that is missing the floppyinject hook (JIRA 233)
- better error message when instance stop/reboot fails (JIRA 185)
- return status 400 when no provider is specified
- return status 502 if backend runs out of memory (JIRA 154)
- return status code 400 when instance name is too long
- return status 404 for unknown data center
- return status 502 for inaccessible provider
- use rbovirt gem (https://github.com/abenari/rbovirt)
+ vSphere
- return status 502 when user_data is used and backend datastore is
misconfigured (JIRA 203)
- respond with status 504 on connection timeout (JIRA 225)
- return status 502 when vSphere behaves erratically because being
overloaded (JIRA 225, BZ 805171)
- return status 502 when backend reports ToolsUnavailable, caused by
lack of VMWare tools in instance
- return created image after create_image operation (JIRA 122)
- return status 502 for inaccessible provider
- do not indicate that storage volumes and snapshots are supported,
they are not (JIRA 135)
* CIMI
+ support networking collections (VSP, VSPTemplate, VSPConfig, Address,
AddressTemplate, Network, NetworkTemplate, RoutingGroup,
RoutingGroupTemplate)
+ Improved support for many compute collections (Machine etc.)
+ added X-CIMI-Specification-Version HTTP header for all responses
+ support X-Deltacloud-Provider and X-Deltacloud-Driver request headers
+ client app:
- allow switching between EC2, RHEV-M, and OpenStack as backend
- views for networking entities
* Ruby client
- Add --user and --password params to deltacloudc (JIRA 141)
- Fix error when instances have numeric names (JIRA 27)
- Fix listing keys collection (partial fix for JIRA 199)
- Handle 301 properly for API entrypoint
0.5.0 - 2012-01-05
* add display of storage volumes to instance view
* add way to change provider in HTML UI when applicable (JIRA 105)
* fix attach volume form in HTML UI
* fix incorrect handling of REQUEST_PATH (affects platforms like passenger)
* support dynamically generated provider lists for /api/drivers/:id
* create image: report correct URL in Location header
* fix parameter validation error when switching drivers (BZ 750920)
* create instance: validate hardware properties
* incredibly experimental support for DMTF CIMI
(http://dmtf.org/standards/cloud) If you run the server with --cimi and
it breaks, you get to keep both pieces
* various client fixes
* deltacloudd: add --webrick to force use of WEBRick
* Drivers
+ EC2
- fetch available regions via DescribeRegions
- add ap-northeast-1, sa-east-1 and us-west-2 regions
- fix bucket creation when client specifies 'us-east-1' region
(BZ 725646)
- t1.micro HWP is available for 32 and 64 bit (JIRA 95)
- improvements for launching multiple instances (JIRA 79)
+ Google storage
- fix blob metadata listing
- properly validate credentials
+ Mock
- support storgae_volume create/delete
- fix m1-large HWP to use integral memory size
+ OpenStack
- new driver
+ Rackspace
- correctly report bucket size
+ RHEV-M
- data centers are now treated as completely separate regions. For a
given provider URL, only the clusters for one datacenter are
considered
- fix deleting VMs (JIRA 110)
- preserve details about backend errors
- create instance: choose image realm when none is specified (JIRA 126)
- better error msg when floppyinject is not installed (BZ 765855)
+ SBC
- correctly return the realm for /api/realms/:id (JIRA 106)
+ vSphere
- fix internal error in reporting of instance addresses
- find objects (VMs etc.) even for datastores that are in nested
folders (Alfredo Moralejo)
- HWP: replace effectiveMemory with hardcoded values (JIRA 123)
- Reboot of a VM now does a RebootGuest rather than ResetVM_Task
0.4.1 - 2011-10-04
* change how dependencies are managed: canonical deps are now in the
gemspecs
Server:
* clarify how user_data injection should work; make sure all drivers
accept base64 encoded data and make the decoded version available to
instance
* fix URL generation so that server works when run behind a reverse proxy
* init script: honor defaults from sysconfig file
* init script: fix 'status', properly background deltacloudd
* deltacloudd: support verbose option
* Drivers:
+ Condor
- use UUIDTools instead of UUID to simplify deps
+ Google
- new driver for Google storage API
+ RHEV-M
- treat status as case-insensitive
- inject data through a virtual floppy rather than modifying
the instance storage directly
+ vSphere
- report minimum of max memory across all hosts in a data center, so
that instances can be placed on any host
- user_data is placed in file 'deltacloud-user-data.txt'
Client:
* fix parsing of enums in HWP properties
* fix handling of float value for number of vCPU in HWP
0.4.0 - 2011-08-12
Server:
* deltacloudd: new option --drivers to list all drivers
* deltacloudd: new options --ssl, --ssl-key and --ssl-cert to
enable HTTPS support
* deltacloudd: new option -d to daemonize server, --user and --pid to
control the user server runs as and where pid file goes
* API entrypoint reports features in JSON
* unify response behavior: any operation returning a 201 Created also
sets the Location header to point to the new resource; ensure the
status for an operation is the same regardless of output format
* Add type to public addresses; type can be one of 'ipv4', 'mac', 'vnc',
and 'hostname'
* Complete overhaul of the HTML UI, now uses jquery-mobile
* Response status for attach/detach storage is now 202 (instead of 302)
* Response status for get/set blob metadata is 204 No Content
* Response status for (un)register with load balancer is 204 No Content
* The user_name feature now reports the permissible length of the name
as the 'max_length' constraint
* Add Date header to responses as per RFC 2616
* New collection 'firewalls' for managing sets of firewalling rules
* split server/config/drivers.yaml into individual files so each driver
can be packaged separately; gives deployers better choice of what
drivers they want enabled
* new rake task 'routes' that prints all server routes
* Numerous bug fixes and improvements to the test suite
* Drivers
+ Condor
- new driver to run a simple cloud based on the Condor grid scheduler
+ EC2
- Fix bug in reboot instance so that the details returned are those
of the stopped instance, not some random instance
- Support getting and updating blob metadata
- support destroying images
- support firewalls (security groups)
- do not support user_name anymore; instance tagging is too fragile
in EC2 to be used reliably for this
- do not support registering an instance with a load balancer upon
creation anymore
- stream blob PUT to backend (requires thin)
- support attaching EBS snapshot to instance upon creation (feature
'attach_snapshot')
- support elastic IP's
+ Eucalyptus
- support firewalls (security groups)
- support elastic IP's
+ Gogrid
- when retrieving single realm, make sure we return the right one
- correctly capture load_balancer params
- report a listener if load_balancer has no instances
+ Mock
- support destroying images
- split into driver and client to make the code clearer; this should
help driver writers in understanding what a driver must do
+ Rackspace
- support destroying images
- stream blob PUT to backend (requires thin)
+ RHEV-M
- support creating and destroying images
- report VNC address of instances
- can use Audrey's confserver to fetch IP of an instance
+ vSphere
- turns a VMWare vSphere installation into a cloud
- driver stateless, state is stored in vSphere's data store in
'deltacloud' folder
- images are template VM's
- single HWP, whose max_cpu and max_memory are based on available
cpus and memory across all vSphere hosts
- support data injection via user_data and user_iso (upload entire
ISO image) For both, instance gets virtual CD-ROM with injected
data
Client:
* make authentication info for instances available
* retrieve type and address for public addresses of an instance
* deltacloudc: allow specifying bucket location when creating a bucket
Site:
* Major rewrite of REST API docs, covers the entire API now
* Add libdeltacloud API docs
* Add Incubator logo and disclaimer to all pages
0.3.0 - 2011-04-01
Server:
* Dynamic driver switching: select driver on a per-request basis; new
toplevel 'drivers' collection describing drivers supported by server
* Create images from running instances (EC2, Mock, GoGrid, Rackspace);
advertised as action 'create_image' in instance details when possible
* New 'user_files' feature for create_instance to advertise RAX-style
injection of user data
* Return status 204 after successful DELETE operation
* Return status 401 when authentication fails because of invalid
credentials
* Blobs: support user metadata as key/value pairs passed through
X-Deltacloud-Blobmeta-KEY: VALUE headers
* Support HEAD requests to retrieve the operations and methods supported
by a collection
* Support for OPTIONS request to retrieve optional and required
parameters for operations
* Advertise 'create_instance' action for each image
* Drivers
+ EC2
- instance_count feature to allow creating multiple instances at once
- run commands inside an insance via ssh
- by default, list images owned by 'amazon', when passing in empty
owner_id, list _all_ images (thousands)
+ Eucalyptus
- new driver for Eucalyptus (Sang-Min Park)
+ Gogrid
- run commands inside an insance via ssh
- allow creating sandbox instances
+ Rackspace
- report root password after instance creation
+ SBC
- new driver for IBM SBC cloud (Eric Woods)
Client:
* run: new method to run commands via ssh
* drivers: list drivers supported by server
* properly list blobs in a bucket when showing bucket details
* full support for managing blobs and buckets
0.2.0 - 2011-01-25
Server:
* Dynamically select driver through the X-Deltacloud-Driver HTTP header;
allow passing in driver-specific endpoint with the
X-Deltacloud-Provider header
* New 'load_balancers' collection, supported for EC2 and GoGrid
* Support 'keys' collection in Mock driver
* Allow creation/deletion of blobs (S3, CloudFiles, Azure)
* Return HTTP status 405 when trying to perform an action on a instance
that is not available
* Drivers
+ EC2
- security_group and public_ip features for instance creation
- switched to aws gem
+ GoGrid: now have two hardware profiles
+ RHEV-M: completely rewritten; now uses RHEV-M REST API, not Powershell
Client: