blob: f67d98d2cfd3ac6d388e6fae3364ec3721849df3 [file] [log] [blame]
import time
from pprint import pprint
from libcloud.loadbalancer.base import Member, Algorithm
from libcloud.loadbalancer.types import State, Provider
from libcloud.loadbalancer.providers import get_driver
driver = get_driver(Provider.RACKSPACE_US)('username', 'api key')
name = 'test-lb'
members = (Member(None, '192.168.86.1', 8080),
Member(None, '192.168.86.2', 8080))
print 'Creating load balancer'
new_balancer = driver.create_balancer(name=name,
algorithm=Algorithm.ROUND_ROBIN,
port=80, protocol='http',
members=members)
print 'Waiting for load balancer to become ready...'
while True:
balancer = driver.get_balancer(balancer_id=new_balancer.id)
if balancer.state == State.RUNNING:
break
print 'Load balancer not ready yet, sleeping 20 seconds...'
time.sleep(20)
print 'Load balancer is ready'
pprint(balancer)
# fetch list of members
members = balancer.list_members()
pprint(members)