You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by pq...@apache.org on 2011/05/14 11:46:05 UTC
svn commit: r1102988 - in /incubator/libcloud/trunk:
libcloud/loadbalancer/base.py libcloud/loadbalancer/drivers/gogrid.py
libcloud/loadbalancer/drivers/rackspace.py test/loadbalancer/test_gogrid.py
test/loadbalancer/test_rackspace.py
Author: pquerna
Date: Sat May 14 09:46:05 2011
New Revision: 1102988
URL: http://svn.apache.org/viewvc?rev=1102988&view=rev
Log:
Rename 'node{,s}' in the load balancer API to be 'member{,s}', as this is less confusing terminology
Modified:
incubator/libcloud/trunk/libcloud/loadbalancer/base.py
incubator/libcloud/trunk/libcloud/loadbalancer/drivers/gogrid.py
incubator/libcloud/trunk/libcloud/loadbalancer/drivers/rackspace.py
incubator/libcloud/trunk/test/loadbalancer/test_gogrid.py
incubator/libcloud/trunk/test/loadbalancer/test_rackspace.py
Modified: incubator/libcloud/trunk/libcloud/loadbalancer/base.py
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/libcloud/loadbalancer/base.py?rev=1102988&r1=1102987&r2=1102988&view=diff
==============================================================================
--- incubator/libcloud/trunk/libcloud/loadbalancer/base.py (original)
+++ incubator/libcloud/trunk/libcloud/loadbalancer/base.py Sat May 14 09:46:05 2011
@@ -16,13 +16,13 @@
from libcloud.common.base import ConnectionKey
__all__ = [
- "LBNode",
+ "LBMember",
"LB",
"LBDriver",
"LBAlgorithm"
]
-class LBNode(object):
+class LBMember(object):
def __init__(self, id, ip, port):
self.id = str(id) if id else None
@@ -30,7 +30,7 @@ class LBNode(object):
self.port = port
def __repr__(self):
- return ('<LBNode: id=%s, address=%s:%s>' % (self.id,
+ return ('<LBMember: id=%s, address=%s:%s>' % (self.id,
self.ip, self.port))
class LBAlgorithm(object):
@@ -53,14 +53,14 @@ class LB(object):
self.port = port
self.driver = driver
- def attach_node(self, **kwargs):
- return self.driver.balancer_attach_node(self, **kwargs)
+ def attach_member(self, **kwargs):
+ return self.driver.balancer_attach_member(self, **kwargs)
- def detach_node(self, node):
- return self.driver.balancer_detach_node(self, node)
+ def detach_member(self, member):
+ return self.driver.balancer_detach_member(self, member)
- def list_nodes(self):
- return self.driver.balancer_list_nodes(self)
+ def list_members(self):
+ return self.driver.balancer_list_members(self)
def __repr__(self):
return ('<LB: id=%s, name=%s, state=%s>' % (self.id,
@@ -110,7 +110,7 @@ class LBDriver(object):
@type name: C{str}
@keyword port: Port the load balancer should listen on (required)
@type port: C{str}
- @keyword nodes: C{list} of L{LBNode}s to attach to balancer
+ @keyword members: C{list} of L{LBNode}s to attach to balancer
@type: C{list} of L{LBNode}s
"""
@@ -145,38 +145,38 @@ class LBDriver(object):
raise NotImplementedError, \
'balancer_detail not implemented for this driver'
- def balancer_attach_node(self, balancer, **kwargs):
+ def balancer_attach_member(self, balancer, **kwargs):
"""
- Attach a node to balancer
+ Attach a member to balancer
- @keyword ip: IP address of a node
+ @keyword ip: IP address of a member
@type ip: C{str}
- @keyword port: port that services we're balancing listens on on the node
+ @keyword port: port that services we're balancing listens on on the member
@keyword port: C{str}
"""
raise NotImplementedError, \
- 'balancer_attach_node not implemented for this driver'
+ 'balancer_attach_member not implemented for this driver'
- def balancer_detach_node(self, balancer, node):
+ def balancer_detach_member(self, balancer, member):
"""
- Detach node from balancer
+ Detach member from balancer
- @return: C{bool} True if node detach was successful, otherwise False
+ @return: C{bool} True if member detach was successful, otherwise False
"""
raise NotImplementedError, \
- 'balancer_detach_node not implemented for this driver'
+ 'balancer_detach_member not implemented for this driver'
- def balancer_list_nodes(self, balancer):
+ def balancer_list_members(self, balancer):
"""
- Return list of nodes attached to balancer
+ Return list of members attached to balancer
@return: C{list} of L{LBNode}s
"""
raise NotImplementedError, \
- 'balancer_list_nodes not implemented for this driver'
+ 'balancer_list_members not implemented for this driver'
Modified: incubator/libcloud/trunk/libcloud/loadbalancer/drivers/gogrid.py
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/libcloud/loadbalancer/drivers/gogrid.py?rev=1102988&r1=1102987&r2=1102988&view=diff
==============================================================================
--- incubator/libcloud/trunk/libcloud/loadbalancer/drivers/gogrid.py (original)
+++ incubator/libcloud/trunk/libcloud/loadbalancer/drivers/gogrid.py Sat May 14 09:46:05 2011
@@ -23,7 +23,7 @@ except ImportError:
from libcloud.common.types import LibcloudError
from libcloud.common.gogrid import GoGridConnection, BaseGoGridDriver
-from libcloud.loadbalancer.base import LB, LBNode, LBDriver
+from libcloud.loadbalancer.base import LB, LBMember, LBDriver
from libcloud.loadbalancer.types import Provider, LBState, LibcloudLBImmutableError
@@ -43,12 +43,12 @@ class GoGridLBDriver(BaseGoGridDriver, L
def ex_create_balancer_nowait(self, **kwargs):
name = kwargs['name']
port = kwargs['port']
- nodes = kwargs['nodes']
+ members = kwargs['members']
params = {'name': name,
'virtualip.ip': self._get_first_ip(),
'virtualip.port': port}
- params.update(self._nodes_to_params(nodes))
+ params.update(self._members_to_params(members))
resp = self.connection.request('/api/grid/loadbalancer/add',
method='GET',
@@ -108,41 +108,41 @@ class GoGridLBDriver(BaseGoGridDriver, L
return self._to_balancers(resp.object)[0]
- def balancer_attach_node(self, balancer, **kwargs):
+ def balancer_attach_member(self, balancer, **kwargs):
ip = kwargs['ip']
port = kwargs['port']
- nodes = self.balancer_list_nodes(balancer)
- nodes.append(LBNode(None, ip, port))
+ members = self.balancer_list_members(balancer)
+ members.append(LBMember(None, ip, port))
params = {"id": balancer.id}
- params.update(self._nodes_to_params(nodes))
+ params.update(self._members_to_params(members))
- resp = self._update_node(params)
+ resp = self._update_balancer(params)
- return [ node for node in
- self._to_nodes(resp.object["list"][0]["realiplist"])
- if node.ip == ip ][0]
+ return [ member for member in
+ self._to_members(resp.object["list"][0]["realiplist"])
+ if member.ip == ip ][0]
- def balancer_detach_node(self, balancer, node):
- nodes = self.balancer_list_nodes(balancer)
+ def balancer_detach_member(self, balancer, member):
+ members = self.balancer_list_members(balancer)
- remaining_nodes = [n for n in nodes if n.id != node.id]
+ remaining_members = [n for n in members if n.id != member.id]
params = {"id": balancer.id}
- params.update(self._nodes_to_params(remaining_nodes))
+ params.update(self._members_to_params(remaining_members))
- resp = self._update_node(params)
+ resp = self._update_balancer(params)
return resp.status == 200
- def balancer_list_nodes(self, balancer):
+ def balancer_list_members(self, balancer):
resp = self.connection.request('/api/grid/loadbalancer/get',
params={'id': balancer.id})
- return self._to_nodes(resp.object["list"][0]["realiplist"])
+ return self._to_members(resp.object["list"][0]["realiplist"])
- def _update_node(self, params):
+ def _update_balancer(self, params):
try:
return self.connection.request('/api/grid/loadbalancer/edit',
method='POST',
@@ -153,9 +153,9 @@ class GoGridLBDriver(BaseGoGridDriver, L
raise LibcloudError(value='Exception: %s' % str(err), driver=self)
- def _nodes_to_params(self, nodes):
+ def _members_to_params(self, members):
"""
- Helper method to convert list of L{LBNode} objects
+ Helper method to convert list of L{LBMember} objects
to GET params.
"""
@@ -163,9 +163,9 @@ class GoGridLBDriver(BaseGoGridDriver, L
params = {}
i = 0
- for node in nodes:
- params["realiplist.%s.ip" % i] = node.ip
- params["realiplist.%s.port" % i] = node.port
+ for member in members:
+ params["realiplist.%s.ip" % i] = member.ip
+ params["realiplist.%s.port" % i] = member.port
i += 1
return params
@@ -183,11 +183,11 @@ class GoGridLBDriver(BaseGoGridDriver, L
driver=self.connection.driver)
return lb
- def _to_nodes(self, object):
- return [ self._to_node(el) for el in object ]
+ def _to_members(self, object):
+ return [ self._to_member(el) for el in object ]
- def _to_node(self, el):
- lbnode = LBNode(id=el["ip"]["id"],
+ def _to_member(self, el):
+ member = LBMember(id=el["ip"]["id"],
ip=el["ip"]["ip"],
port=el["port"])
- return lbnode
+ return member
Modified: incubator/libcloud/trunk/libcloud/loadbalancer/drivers/rackspace.py
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/libcloud/loadbalancer/drivers/rackspace.py?rev=1102988&r1=1102987&r2=1102988&view=diff
==============================================================================
--- incubator/libcloud/trunk/libcloud/loadbalancer/drivers/rackspace.py (original)
+++ incubator/libcloud/trunk/libcloud/loadbalancer/drivers/rackspace.py Sat May 14 09:46:05 2011
@@ -21,7 +21,7 @@ except ImportError:
import simplejson
from libcloud.common.base import Response
-from libcloud.loadbalancer.base import LB, LBNode, LBDriver
+from libcloud.loadbalancer.base import LB, LBMember, LBDriver
from libcloud.loadbalancer.types import Provider, LBState
from libcloud.common.rackspace import (AUTH_HOST_US,
RackspaceBaseConnection)
@@ -79,16 +79,16 @@ class RackspaceLBDriver(LBDriver):
def create_balancer(self, **kwargs):
name = kwargs['name']
port = kwargs['port']
- nodes = kwargs['nodes']
+ members = kwargs['members']
balancer_object = {"loadBalancer":
{"name": name,
"port": port,
"protocol": "HTTP",
"virtualIps": [{"type": "PUBLIC"}],
- "nodes": [{"address": node.ip,
- "port": node.port,
- "condition": "ENABLED"} for node in nodes],
+ "nodes": [{"address": member.ip,
+ "port": member.port,
+ "condition": "ENABLED"} for member in members],
}
}
@@ -114,11 +114,11 @@ class RackspaceLBDriver(LBDriver):
return self._to_balancer(resp.object["loadBalancer"])
- def balancer_attach_node(self, balancer, **kwargs):
+ def balancer_attach_member(self, balancer, **kwargs):
ip = kwargs['ip']
port = kwargs['port']
- node_object = {"nodes":
+ member_object = {"nodes":
[{"port": port,
"address": ip,
"condition": "ENABLED"}]
@@ -126,18 +126,18 @@ class RackspaceLBDriver(LBDriver):
uri = '/loadbalancers/%s/nodes' % (balancer.id)
resp = self.connection.request(uri, method='POST',
- data=json.dumps(node_object))
- return self._to_nodes(resp.object)[0]
+ data=json.dumps(member_object))
+ return self._to_members(resp.object)[0]
- def balancer_detach_node(self, balancer, node):
- uri = '/loadbalancers/%s/nodes/%s' % (balancer.id, node.id)
+ def balancer_detach_member(self, balancer, member):
+ uri = '/loadbalancers/%s/nodes/%s' % (balancer.id, member.id)
resp = self.connection.request(uri, method='DELETE')
return resp.status == 202
- def balancer_list_nodes(self, balancer):
+ def balancer_list_members(self, balancer):
uri = '/loadbalancers/%s/nodes' % (balancer.id)
- return self._to_nodes(
+ return self._to_members(
self.connection.request(uri).object)
def _to_balancers(self, object):
@@ -153,11 +153,11 @@ class RackspaceLBDriver(LBDriver):
driver=self.connection.driver)
return lb
- def _to_nodes(self, object):
- return [ self._to_node(el) for el in object["nodes"] ]
+ def _to_members(self, object):
+ return [ self._to_member(el) for el in object["nodes"] ]
- def _to_node(self, el):
- lbnode = LBNode(id=el["id"],
+ def _to_member(self, el):
+ lbmember = LBMember(id=el["id"],
ip=el["address"],
port=el["port"])
- return lbnode
+ return lbmember
Modified: incubator/libcloud/trunk/test/loadbalancer/test_gogrid.py
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/test/loadbalancer/test_gogrid.py?rev=1102988&r1=1102987&r2=1102988&view=diff
==============================================================================
--- incubator/libcloud/trunk/test/loadbalancer/test_gogrid.py (original)
+++ incubator/libcloud/trunk/test/loadbalancer/test_gogrid.py Sat May 14 09:46:05 2011
@@ -3,7 +3,7 @@ import os.path
import sys
import unittest
-from libcloud.loadbalancer.base import LB, LBNode
+from libcloud.loadbalancer.base import LB, LBMember
from libcloud.loadbalancer.drivers.gogrid import GoGridLBDriver
from test import MockHttp, MockRawResponse
@@ -29,8 +29,8 @@ class GoGridTests(unittest.TestCase):
def test_create_balancer(self):
balancer = self.driver.create_balancer(name='test2',
port=80,
- nodes=(LBNode(None, '10.1.0.10', 80),
- LBNode(None, '10.1.0.11', 80))
+ members=(LBMember(None, '10.1.0.10', 80),
+ LBMember(None, '10.1.0.11', 80))
)
self.assertEquals(balancer.name, 'test2')
@@ -48,30 +48,30 @@ class GoGridTests(unittest.TestCase):
self.assertEquals(balancer.name, 'test2')
self.assertEquals(balancer.id, '23530')
- def test_balancer_list_nodes(self):
+ def test_balancer_list_members(self):
balancer = self.driver.balancer_detail(balancer_id='23530')
- nodes = balancer.list_nodes()
+ members = balancer.list_members()
- expected_nodes = set([u'10.0.0.78:80', u'10.0.0.77:80',
+ expected_members = set([u'10.0.0.78:80', u'10.0.0.77:80',
u'10.0.0.76:80'])
- self.assertEquals(len(nodes), 3)
- self.assertEquals(expected_nodes,
- set(["%s:%s" % (node.ip, node.port) for node in nodes]))
+ self.assertEquals(len(members), 3)
+ self.assertEquals(expected_members,
+ set(["%s:%s" % (member.ip, member.port) for member in members]))
- def test_balancer_attach_node(self):
+ def test_balancer_attach_member(self):
balancer = LB(23530, None, None, None, None, None)
- node = self.driver.balancer_attach_node(balancer,
+ member = self.driver.balancer_attach_member(balancer,
ip='10.0.0.75', port='80')
- self.assertEquals(node.ip, '10.0.0.75')
- self.assertEquals(node.port, 80)
+ self.assertEquals(member.ip, '10.0.0.75')
+ self.assertEquals(member.port, 80)
- def test_balancer_detach_node(self):
+ def test_balancer_detach_member(self):
balancer = LB(23530, None, None, None, None, None)
- node = self.driver.balancer_list_nodes(balancer)[0]
+ member = self.driver.balancer_list_members(balancer)[0]
- ret = self.driver.balancer_detach_node(balancer, node)
+ ret = self.driver.balancer_detach_member(balancer, member)
self.assertTrue(ret)
Modified: incubator/libcloud/trunk/test/loadbalancer/test_rackspace.py
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/test/loadbalancer/test_rackspace.py?rev=1102988&r1=1102987&r2=1102988&view=diff
==============================================================================
--- incubator/libcloud/trunk/test/loadbalancer/test_rackspace.py (original)
+++ incubator/libcloud/trunk/test/loadbalancer/test_rackspace.py Sat May 14 09:46:05 2011
@@ -3,7 +3,7 @@ import os.path
import sys
import unittest
-from libcloud.loadbalancer.base import LB, LBNode
+from libcloud.loadbalancer.base import LB, LBMember
from libcloud.loadbalancer.drivers.rackspace import RackspaceLBDriver
from test import MockHttp, MockRawResponse
@@ -29,8 +29,8 @@ class RackspaceLBTests(unittest.TestCase
def test_create_balancer(self):
balancer = self.driver.create_balancer(name='test2',
port=80,
- nodes=(LBNode(None, '10.1.0.10', 80),
- LBNode(None, '10.1.0.11', 80))
+ members=(LBMember(None, '10.1.0.10', 80),
+ LBMember(None, '10.1.0.11', 80))
)
self.assertEquals(balancer.name, 'test2')
@@ -48,26 +48,26 @@ class RackspaceLBTests(unittest.TestCase
self.assertEquals(balancer.name, 'test2')
self.assertEquals(balancer.id, '8290')
- def test_balancer_list_nodes(self):
+ def test_balancer_list_members(self):
balancer = self.driver.balancer_detail(balancer_id='8290')
- nodes = balancer.list_nodes()
+ members = balancer.list_members()
- self.assertEquals(len(nodes), 2)
+ self.assertEquals(len(members), 2)
self.assertEquals(set(['10.1.0.10:80', '10.1.0.11:80']),
- set(["%s:%s" % (node.ip, node.port) for node in nodes]))
+ set(["%s:%s" % (member.ip, member.port) for member in members]))
- def test_balancer_attach_node(self):
+ def test_balancer_attach_member(self):
balancer = self.driver.balancer_detail(balancer_id='8290')
- node = balancer.attach_node(ip='10.1.0.12', port='80')
+ member = balancer.attach_member(ip='10.1.0.12', port='80')
- self.assertEquals(node.ip, '10.1.0.12')
- self.assertEquals(node.port, 80)
+ self.assertEquals(member.ip, '10.1.0.12')
+ self.assertEquals(member.port, 80)
- def test_balancer_detach_node(self):
+ def test_balancer_detach_member(self):
balancer = self.driver.balancer_detail(balancer_id='8290')
- node = balancer.list_nodes()[0]
+ member = balancer.list_members()[0]
- ret = balancer.detach_node(node)
+ ret = balancer.detach_member(member)
self.assertTrue(ret)