Adds profitbricks documentation output (nanoc)
[deltacloud.git] / NEWS
1 1.0.0 - 2012-06-15
2   * New EC2 frontend: clients can now use the EC2 API when talking to
3     Deltacloud. That makes Deltacloud an EC2-to-many-backends proxy.
4     See http://mifo.sk/deltacloud-with-ec2-frontend
5   * metrics: new collection for gathering/controlling metrics (supported by
6     EC2 driver)
7   * Report destroy/delete actions on images when available (JIRA 207)
8   * Compatibly with Ruby 1.9
9   * ability to run multiple frontends from the same server (see deltacloudd
10     --frontends)
11   * Deltacloud is now a modular Sinatra application. See
12     http://www.sinatrarb.com/intro#Modular%20vs.%20Classic%20Style
13   * Use sinatra-rabbit for RESTful routing/controllers
14     (https://github.com/mifo/sinatra-rabbit)
15   * Always return status 202 after reboot in all drivers (JIRA 162)
16   * Numerous enhancements and bug fixes in HTML UI (JIRA 232, 211, 210,
17     204, 67, and many more)
18   * Order hardware profiles by cpu, memory (JIRA 208)
19   * Return status 501 when backend lacks needed capability
20   * Report list of hardware profile with images to indicate compatibility
21     of an image with a set of HWP
22   * Windows: fix error caused by syslog not available on Windows (JIRA 186)
23   * Use minitest for all our tests
24   * Drivers
25     + EC2
26       - fix retrieval of IP address for run_on_instance (JIRA 211) (Dies Koper)
27       - return sttus 404 when deleting nonexistant load balancer (JIRA 169)
28       - CloudWatch support via new Metrics collection
29       - return status 404 when getting nonexistent blob (JIRA 174)
30       - fix memory amount reported for t1.micro
31       - add new m1.medium HWP
32       - return status 404 when getting nonexistent instance
33     + Fujitsu Global Cloud Platform (FGCP)
34       - new driver contributed by Dies Koper
35     + GoGrid
36       - fix retrieval of IP address for run_on_instance (JIRA 211) (Dies Koper)
37     + Mock
38       - support run_on_instance (JIRA 212) (Dies Koper)
39       - create storage directories with mode 0750 (JIRA 139)
40       - allow destroying storage snapshot
41       - return status 404 when deleting nonexistent bucket
42     + OpenNebula
43       - support AI v.3.x (Daniel Molina)
44       - support using API_PROVIDER env var to select OpenNebula installation
45     + OpenStack
46       - updated for API v2.0
47       - support buckets/blob collection
48       - use the new openstack gem (https://github.com/ruby-openstack)
49       - more accurate reporting of instance state (JIRA 209)
50     + Rackspace
51       - fix retrieval of IP address for run_on_instance (JIRA 211) (Dies Koper)
52     + RHEV-M
53       - better error message when trying to use user_data with a backend
54         that is missing the floppyinject hook (JIRA 233)
55       - better error message when instance stop/reboot fails (JIRA 185)
56       - return status 400 when no provider is specified
57       - return status 502 if backend runs out of memory (JIRA 154)
58       - return status code 400 when instance name is too long
59       - return status 404 for unknown data center
60       - return status 502 for inaccessible provider
61       - use rbovirt gem (https://github.com/abenari/rbovirt)
62     + vSphere
63       - return status 502 when user_data is used and backend datastore is
64         misconfigured (JIRA 203)
65       - respond with status 504 on connection timeout (JIRA 225)
66       - return status 502 when vSphere behaves erratically because being
67         overloaded (JIRA 225, BZ 805171)
68       - return status 502 when backend reports ToolsUnavailable, caused by
69         lack of VMWare tools in instance
70       - return created image after create_image operation (JIRA 122)
71       - return status 502 for inaccessible provider
72       - do not indicate that storage volumes and snapshots are supported,
73         they are not (JIRA 135)
74   * CIMI
75     + support networking collections (VSP, VSPTemplate, VSPConfig, Address,
76       AddressTemplate, Network, NetworkTemplate, RoutingGroup,
77       RoutingGroupTemplate)
78     + Improved support for many compute collections (Machine etc.)
79     + added X-CIMI-Specification-Version HTTP header for all responses
80     + support X-Deltacloud-Provider and X-Deltacloud-Driver request headers
81     + client app:
82       - allow switching between EC2, RHEV-M, and OpenStack as backend
83       - views for networking entities
84   * Ruby client
85     - Add --user and --password params to deltacloudc (JIRA 141)
86     - Fix error when instances have numeric names (JIRA 27)
87     - Fix listing keys collection (partial fix for JIRA 199)
88     - Handle 301 properly for API entrypoint
89
90 0.5.0 - 2012-01-05
91   * add display of storage volumes to instance view
92   * add way to change provider in HTML UI when applicable (JIRA 105)
93   * fix attach volume form in HTML UI
94   * fix incorrect handling of REQUEST_PATH (affects platforms like passenger)
95   * support dynamically generated provider lists for /api/drivers/:id
96   * create image: report correct URL in Location header
97   * fix parameter validation error when switching drivers (BZ 750920)
98   * create instance: validate hardware properties
99   * incredibly experimental support for DMTF CIMI
100     (http://dmtf.org/standards/cloud) If you run the server with --cimi and
101     it breaks, you get to keep both pieces
102   * various client fixes
103   * deltacloudd: add --webrick to force use of WEBRick
104   * Drivers
105     + EC2
106       - fetch available regions via DescribeRegions
107       - add ap-northeast-1, sa-east-1 and us-west-2 regions
108       - fix bucket creation when client specifies 'us-east-1' region
109         (BZ 725646)
110       - t1.micro HWP is available for 32 and 64 bit (JIRA 95)
111       - improvements for launching multiple instances (JIRA 79)
112     + Google storage
113       - fix blob metadata listing
114       - properly validate credentials
115     + Mock
116       - support storgae_volume create/delete
117       - fix m1-large HWP to use integral memory size
118     + OpenStack
119       - new driver
120     + Rackspace
121       - correctly report bucket size
122     + RHEV-M
123       - data centers are now treated as completely separate regions. For a
124         given provider URL, only the clusters for one datacenter are
125         considered
126       - fix deleting VMs (JIRA 110)
127       - preserve details about backend errors
128       - create instance: choose image realm when none is specified (JIRA 126)
129       - better error msg when floppyinject is not installed (BZ 765855)
130     + SBC
131        - correctly return the realm for /api/realms/:id (JIRA 106)
132     + vSphere
133        - fix internal error in reporting of instance addresses
134        - find objects (VMs etc.) even for datastores that are in nested
135          folders (Alfredo Moralejo)
136        - HWP: replace effectiveMemory with hardcoded values (JIRA 123)
137        - Reboot of a VM now does a RebootGuest rather than ResetVM_Task
138
139 0.4.1 - 2011-10-04
140   * change how dependencies are managed: canonical deps are now in the
141     gemspecs
142 Server:
143   * clarify how user_data injection should work; make sure all drivers
144     accept base64 encoded data and make the decoded version available to
145     instance
146   * fix URL generation so that server works when run behind a reverse proxy
147   * init script: honor defaults from sysconfig file
148   * init script: fix 'status', properly background deltacloudd
149   * deltacloudd: support verbose option
150   * Drivers:
151     + Condor
152       - use UUIDTools instead of UUID to simplify deps
153     + Google
154       - new driver for Google storage API
155     + RHEV-M
156       - treat status as case-insensitive
157       - inject data through a virtual floppy rather than modifying
158         the instance storage directly
159     + vSphere
160       - report minimum of max memory across all hosts in a data center, so
161         that instances can be placed on any host
162       - user_data is placed in file 'deltacloud-user-data.txt'
163
164 Client:
165   * fix parsing of enums in HWP properties
166   * fix handling of float value for number of vCPU in HWP
167
168 0.4.0 - 2011-08-12
169 Server:
170   * deltacloudd: new option --drivers to list all drivers
171   * deltacloudd: new options --ssl, --ssl-key and --ssl-cert to
172     enable HTTPS support
173   * deltacloudd: new option -d to daemonize server, --user and --pid to
174     control the user server runs as and where pid file goes
175   * API entrypoint reports features in JSON
176   * unify response behavior: any operation returning a 201 Created also
177     sets the Location header to point to the new resource; ensure the
178     status for an operation is the same regardless of output format
179   * Add type to public addresses; type can be one of 'ipv4', 'mac', 'vnc',
180     and 'hostname'
181   * Complete overhaul of the HTML UI, now uses jquery-mobile
182   * Response status for attach/detach storage is now 202 (instead of 302)
183   * Response status for get/set blob metadata is 204 No Content
184   * Response status for (un)register with load balancer is 204 No Content
185   * The user_name feature now reports the permissible length of the name
186     as the 'max_length' constraint
187   * Add Date header to responses as per RFC 2616
188   * New collection 'firewalls' for managing sets of firewalling rules
189   * split server/config/drivers.yaml into individual files so each driver
190     can be packaged separately; gives deployers better choice of what
191     drivers they want enabled
192   * new rake task 'routes' that prints all server routes
193   * Numerous bug fixes and improvements to the test suite
194   * Drivers
195     + Condor
196       - new driver to run a simple cloud based on the Condor grid scheduler
197     + EC2
198       - Fix bug in reboot instance so that the details returned are those
199         of the stopped instance, not some random instance
200       - Support getting and updating blob metadata
201       - support destroying images
202       - support firewalls (security groups)
203       - do not support user_name anymore; instance tagging is too fragile
204         in EC2 to be used reliably for this
205       - do not support registering an instance with a load balancer upon
206         creation anymore
207       - stream blob PUT to backend (requires thin)
208       - support attaching EBS snapshot to instance upon creation (feature
209         'attach_snapshot')
210       - support elastic IP's
211     + Eucalyptus
212       - support firewalls (security groups)
213       - support elastic IP's
214     + Gogrid
215       - when retrieving single realm, make sure we return the right one
216       - correctly capture load_balancer params
217       - report a listener if load_balancer has no instances
218     + Mock
219       - support destroying images
220       - split into driver and client to make the code clearer; this should
221         help driver writers in understanding what a driver must do
222     + Rackspace
223       - support destroying images
224       - stream blob PUT to backend (requires thin)
225     + RHEV-M
226       - support creating and destroying images
227       - report VNC address of instances
228       - can use Audrey's confserver to fetch IP of an instance
229     + vSphere
230       - turns a VMWare vSphere installation into a cloud
231       - driver stateless, state is stored in vSphere's data store in
232         'deltacloud' folder
233       - images are template VM's
234       - single HWP, whose max_cpu and max_memory are based on available
235         cpus and memory across all vSphere hosts
236       - support data injection via user_data and user_iso (upload entire
237         ISO image) For both, instance gets virtual CD-ROM with injected
238         data
239
240 Client:
241   * make authentication info for instances available
242   * retrieve type and address for public addresses of an instance
243   * deltacloudc: allow specifying bucket location when creating a bucket
244
245 Site:
246   * Major rewrite of REST API docs, covers the entire API now
247   * Add libdeltacloud API docs
248   * Add Incubator logo and disclaimer to all pages
249
250 0.3.0 - 2011-04-01
251 Server:
252   * Dynamic driver switching: select driver on a per-request basis; new
253     toplevel 'drivers' collection describing drivers supported by server
254   * Create images from running instances (EC2, Mock, GoGrid, Rackspace);
255     advertised as action 'create_image' in instance details when possible
256   * New 'user_files' feature for create_instance to advertise RAX-style
257     injection of user data
258   * Return status 204 after successful DELETE operation
259   * Return status 401 when authentication fails because of invalid
260     credentials
261   * Blobs: support user metadata as key/value pairs passed through
262     X-Deltacloud-Blobmeta-KEY: VALUE headers
263   * Support HEAD requests to retrieve the operations and methods supported
264     by a collection
265   * Support for OPTIONS request to retrieve optional and required
266     parameters for operations
267   * Advertise 'create_instance' action for each image
268   * Drivers
269     + EC2
270       - instance_count feature to allow creating multiple instances at once
271       - run commands inside an insance via ssh
272       - by default, list images owned by 'amazon', when passing in empty
273         owner_id, list _all_ images (thousands)
274     + Eucalyptus
275       - new driver for Eucalyptus (Sang-Min Park)
276     + Gogrid
277       - run commands inside an insance via ssh
278       - allow creating sandbox instances
279     + Rackspace
280       - report root password after instance creation
281     + SBC
282       - new driver for IBM SBC cloud (Eric Woods)
283
284 Client:
285   * run: new method to run commands via ssh
286   * drivers: list drivers supported by server
287   * properly list blobs in a bucket when showing bucket details
288   * full support for managing blobs and buckets
289
290 0.2.0 - 2011-01-25
291
292 Server:
293   * Dynamically select driver through the X-Deltacloud-Driver HTTP header;
294     allow passing in driver-specific endpoint with the
295     X-Deltacloud-Provider header
296   * New 'load_balancers' collection, supported for EC2 and GoGrid
297   * Support 'keys' collection in Mock driver
298   * Allow creation/deletion of blobs (S3, CloudFiles, Azure)
299   * Return HTTP status 405 when trying to perform an action on a instance
300     that is not available
301   * Drivers
302     + EC2
303       - security_group and public_ip features for instance creation
304       - switched to aws gem
305     + GoGrid: now have two hardware profiles
306     + RHEV-M: completely rewritten; now uses RHEV-M REST API, not Powershell
307
308 Client: