blob: 59f9611018ec2d03a2923349adcd9a6e46cbbe4b [file] [log] [blame]
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 <dug@us.ibm.com>) 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: