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 | |
- 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 | |
- 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: |