On Tue, Jan 5, 2010 at 9:28 PM, Paul Querna <[email protected]> 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 >
