blob: 9ecebe4176e5f506082c4511fdb7bd1373939918 [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)