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
