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