On Mon, 2010-05-31 at 18:10 +0200, mfojtik(a)redhat.com wrote:
I added a new feature named 'brief_listing_mode' which fixing
a Terremark
issue (and maybe other providers) when a full objects are returned in
'index' action. This can can be a long and slow process, leading to
random HTTP timeouts for clients.
So instead of returning a full object, only URL and id is returned for object.
Details can be obtained using GET method.
Because it's implemented as a 'feature', it doesn't break API for
drivers,
which don't have this feature declared.
There's not really any need to make this a feature - clients can tell
from the response to the index operation if they are getting a full or
brief listing.
To make their life easier, we could add an attribute on the enclosing
<instances/> or <images/> tag, something like <instances
listing='brief'>; in the ruby client, we should support this by making
objects lazy-load their attributes (IIRC, there's already some support
for that)
The behavior should be that we return a full listing from drives that
make that cheap, i.e. allow listing with just one call into their API,
and return a brief listing from all other drivers.
Also I added an option to return a full object using
'&listing_mode=full'.
I don't think this is very useful - for drivers that make full listings
cheap, we already send them. For the others, a full listing is just
asking for trouble and random behavior, based on whether we'll hit a
timeout or not.
David