You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@libcloud.apache.org by Paul Querna <pa...@querna.org> on 2010/01/05 09:28:56 UTC

[libcloud] location sensitive APIs

If you have been following trunk, I have added list_locations to the
NodeDriver, and added support for all of our current providers[1].
Most providers only have one location, Linode has multiple, EC2 has 3,
but we need to change a few things to expose that more transparently.
** Ignore EC2 for a little bit, until later on in this email **

One thing we don't have right now is a way to get location sensitive
NodeSize, which includes the price.   For example, both EC2 and
RimuHosting both vary the price of a node by the location.

It seems that list_sizes should have an optional location kwarg.  If
absent, a provider should:
  - List all sizes, across all locations? (implies adding Location
attribute to NodeSize)
  - Pick one 'main' location, list sizes for it?
  - Explode? (aka, its a required kwarg)

** On EC2:

EC2 also has different image storage for each location, so list_images
can be different between locations.  EC2 though also has completely
separate endpoint URLs for each location, (us-west, us-east, eu-west).
  Currently we make you have one NodeDriver for each EC2 Region, but
it seems like we should just have one EC2 NodeDriver which
transparently queries the right region -- this is how our Linode
driver and I expect the RimuHosting driver will behave.   WDYT?

Thanks,

Paul

[1] - http://ci.apache.org/projects/libcloud/apidocs/libcloud.base.NodeDriver.html#list_locations

Re: [libcloud] location sensitive APIs

Posted by Ivan Meredith <iv...@ivan.net.nz>.
On Tue, Jan 5, 2010 at 9:28 PM, Paul Querna <pa...@querna.org> wrote:
> If you have been following trunk, I have added list_locations to the
> NodeDriver, and added support for all of our current providers[1].
> Most providers only have one location, Linode has multiple, EC2 has 3,
> but we need to change a few things to expose that more transparently.
> ** Ignore EC2 for a little bit, until later on in this email **
>
> One thing we don't have right now is a way to get location sensitive
> NodeSize, which includes the price.   For example, both EC2 and
> RimuHosting both vary the price of a node by the location.
>
> It seems that list_sizes should have an optional location kwarg.  If
> absent, a provider should:
>  - List all sizes, across all locations? (implies adding Location
> attribute to NodeSize)
>  - Pick one 'main' location, list sizes for it?
>  - Explode? (aka, its a required kwarg)
>

I like the idea of having a location on a NodeSize, and then listing
all sizes across different locations, with the ability to filter it
down by location with a kwarg. If a driver supports the same NodeSize
at multiple locations it could return a  Cartesian list of NodeSizes
with different locations maybe.

> ** On EC2:
>
> EC2 also has different image storage for each location, so list_images
> can be different between locations.  EC2 though also has completely
> separate endpoint URLs for each location, (us-west, us-east, eu-west).
>  Currently we make you have one NodeDriver for each EC2 Region, but
> it seems like we should just have one EC2 NodeDriver which
> transparently queries the right region -- this is how our Linode
> driver and I expect the RimuHosting driver will behave.   WDYT?
>

+1

> Thanks,
>
> Paul
>
> [1] - http://ci.apache.org/projects/libcloud/apidocs/libcloud.base.NodeDriver.html#list_locations
>