Libcloud Design Day

Tomaz Muraus
Rackspace SF office, June 11th, 2013

Today's objectives

Agenda

Whole thing is interactive so please provide your feedback in real time!

Current state of the art (code)

Current state of the art - releases

Current state of the art (community)

Current state of the art - contributors

Current weak / pain points

Using providers with multiple regions

Currently

from libcloud.compute.types import Provider
from libcloud.compute.providers import get_driver

Cls1 = get_driver(Provider.RACKSPACE_NOVA_LON)
Cls2 = get_driver(Provider.RACKSPACE_NOVA_DFW)

driver1 = Cls1('username', 'api key')
driver2 = Cls2('username', 'api key')

* In some cases impossible to avoid even with new approach

Using providers with multiple regions

In trunk

from libcloud.compute.types import Provider
from libcloud.compute.providers import get_driver

Cls = get_driver(Provider.RACKSPACE)

driver1 = Cls('username', 'api key', datacenter='lon')
driver2 = Cls('username', 'api key', datacenter='dfw')

Provider capability discovery

Exception handling in methods which perform multiple API calls

Documentation

Misc

Thank you