On Mon, Jan 11, 2010 at 5:41 AM, Upayavira <[email protected]> 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.

Thoughts?

Thanks,

Paul

Reply via email to