You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by to...@apache.org on 2013/08/03 15:20:04 UTC

[2/4] git commit: Import loadbalancer API examples.

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 <to...@apache.org>
Authored: Sat Aug 3 15:12:48 2013 +0200
Committer: Tomaz Muraus <to...@apache.org>
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