incubator-libcloud mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Upayavira ...@odoko.co.uk>
Subject Re: [libcloud] Voxel support - how to handle sizes and creates
Date Mon, 25 Jan 2010 14:50:34 GMT
On Thu, 2010-01-14 at 12:56 -0800, Paul Querna wrote: 
> On Mon, Jan 11, 2010 at 5:41 AM, Upayavira <uv@odoko.co.uk> wrote:
> > I've mostly implemented support for Voxel in libcloud.
> >
> > I've done everything but create_node and list_sizes, as I haven't yet
> > worked out how best to implement them.
> >
> > My main question is that libcloud expects discrete "sizes", whereas at
> > Voxel the memory/CPU are not tied to the disk usage. A 10 core device
> > could have a 10Gb disk while a 1 core device could have a 1Tb disk.
> 
> Yup, several providers allow this kind of variable NodeSize.
> 
> I think the best thing we can do is in two parts:
> 1) Add a features["list_sizes"] dict, with:
>   - variable_disk
>   - variable_cores
>   - variable_memory

> If these features attributes are set, its an indicator to a user of
> the driver, they are safe to set arbitrary values on the NodeSize
> object.
> 
> 2) We should make a sensible set of default NodeSizes, this is what
> the vcloud driver does for example with regards to memory.  I would
> suggest just making a set of NodeSizes that is roughly the same as
> what amazon or rackspace offer.
> 
> This keeps the library easy to use for people who just want a node
> quickly, but also provides an API defined way for variable NodeSize
> objects.

I realised in thinking about this that cores/memory aren't variable -
there are 13 discrete steps (1 core through 13, each core has 2Gb). Only
disk is variable.

At present you specify disk when creating a VM in the create_node() call
(e.g. disk=5120).

I'll put together a patch and upload it to Jira.

Will you accept a patch without test cases though???

Upayavira



Mime
View raw message