Import loadbalancer API examples.
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/00c35ab6 Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/00c35ab6 Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/00c35ab6 Branch: refs/heads/trunk Commit: 00c35ab635cd49a4eea88bb5b19519a832a0050b Parents: c5bf1c8 Author: Tomaz Muraus <[email protected]> Authored: Sat Aug 3 15:12:48 2013 +0200 Committer: Tomaz Muraus <[email protected]> Committed: Sat Aug 3 15:12:48 2013 +0200 ---------------------------------------------------------------------- .../loadbalancer/create_lb_wait_for_ready.py | 36 ++++++++++++++++++++ docs/loadbalancers/examples.rst | 8 +++++ 2 files changed, 44 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/libcloud/blob/00c35ab6/docs/examples/loadbalancer/create_lb_wait_for_ready.py ---------------------------------------------------------------------- diff --git a/docs/examples/loadbalancer/create_lb_wait_for_ready.py b/docs/examples/loadbalancer/create_lb_wait_for_ready.py new file mode 100644 index 0000000..f67d98d --- /dev/null +++ b/docs/examples/loadbalancer/create_lb_wait_for_ready.py @@ -0,0 +1,36 @@ +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) http://git-wip-us.apache.org/repos/asf/libcloud/blob/00c35ab6/docs/loadbalancers/examples.rst ---------------------------------------------------------------------- diff --git a/docs/loadbalancers/examples.rst b/docs/loadbalancers/examples.rst new file mode 100644 index 0000000..bfc2dda --- /dev/null +++ b/docs/loadbalancers/examples.rst @@ -0,0 +1,8 @@ +LoadBalancer Examples +===================== + +Create a Load Balancer with two members and wait for it to become ready +----------------------------------------------------------------------- + +.. literalinclude:: /examples/loadbalancer/create_lb_wait_for_ready.py + :language: python
