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/04/24 00:07:38 UTC
svn commit: r1471179 - in /libcloud/trunk: CHANGES
libcloud/loadbalancer/drivers/rackspace.py
libcloud/test/loadbalancer/fixtures/rackspace/v1_0_slug_loadbalancers_8290_usage_current.json
libcloud/test/loadbalancer/test_rackspace.py
Author: tomaz
Date: Tue Apr 23 22:07:38 2013
New Revision: 1471179
URL: http://svn.apache.org/r1471179
Log:
Add ex_list_current_usage method to the Rackspace load balancer driver.
Added:
libcloud/trunk/libcloud/test/loadbalancer/fixtures/rackspace/v1_0_slug_loadbalancers_8290_usage_current.json
Modified:
libcloud/trunk/CHANGES
libcloud/trunk/libcloud/loadbalancer/drivers/rackspace.py
libcloud/trunk/libcloud/test/loadbalancer/test_rackspace.py
Modified: libcloud/trunk/CHANGES
URL: http://svn.apache.org/viewvc/libcloud/trunk/CHANGES?rev=1471179&r1=1471178&r2=1471179&view=diff
==============================================================================
--- libcloud/trunk/CHANGES (original)
+++ libcloud/trunk/CHANGES Tue Apr 23 22:07:38 2013
@@ -10,6 +10,10 @@ Changes with Apache Libcloud in deveplom
- Add ex_start_node method to the Joyent driver. (LIBCLOUD-319)
[rszabo50]
+ *) Load Balancer
+
+ - Add ex_list_current_usage method to the Rackspace driver.
+
Changes with Apache Libcloud 0.12.4:
*) Compute
Modified: libcloud/trunk/libcloud/loadbalancer/drivers/rackspace.py
URL: http://svn.apache.org/viewvc/libcloud/trunk/libcloud/loadbalancer/drivers/rackspace.py?rev=1471179&r1=1471178&r2=1471179&view=diff
==============================================================================
--- libcloud/trunk/libcloud/loadbalancer/drivers/rackspace.py (original)
+++ libcloud/trunk/libcloud/loadbalancer/drivers/rackspace.py Tue Apr 23 22:07:38 2013
@@ -1298,6 +1298,21 @@ class RackspaceLBDriver(Driver, OpenStac
return resp.status == httplib.ACCEPTED
+ def ex_list_current_usage(self, balancer):
+ """
+ Return current load balancer usage report.
+
+ @param balancer: Balancer to remove the access rules from.
+ @type balancer: L{LoadBalancer}
+
+ @return: Raw load balancer usage object.
+ @rtype: C{dict}
+ """
+ uri = '/loadbalancers/%s/usage/current' % (balancer.id)
+ resp = self.connection.request(uri, method='GET')
+
+ return resp.object
+
def _to_protocols(self, object):
protocols = []
for item in object["protocols"]:
Added: libcloud/trunk/libcloud/test/loadbalancer/fixtures/rackspace/v1_0_slug_loadbalancers_8290_usage_current.json
URL: http://svn.apache.org/viewvc/libcloud/trunk/libcloud/test/loadbalancer/fixtures/rackspace/v1_0_slug_loadbalancers_8290_usage_current.json?rev=1471179&view=auto
==============================================================================
--- libcloud/trunk/libcloud/test/loadbalancer/fixtures/rackspace/v1_0_slug_loadbalancers_8290_usage_current.json (added)
+++ libcloud/trunk/libcloud/test/loadbalancer/fixtures/rackspace/v1_0_slug_loadbalancers_8290_usage_current.json Tue Apr 23 22:07:38 2013
@@ -0,0 +1,35 @@
+{
+ "links": [],
+ "loadBalancerUsageRecords": [
+ {
+ "id": 1234,
+ "startTime": "2013-04-22T22:00:00Z",
+ "endTime": "2013-04-22T23:00:00Z",
+ "numVips": 1,
+ "incomingTransfer": 0,
+ "outgoingTransfer": 0,
+ "incomingTransferSsl": 6182163,
+ "outgoingTransferSsl": 9702071,
+ "vipType": "PUBLIC",
+ "averageNumConnections": 0,
+ "averageNumConnectionsSsl": 14.9166666666666,
+ "numPolls": 12,
+ "sslMode": "ON"
+ },
+ {
+ "id": 12345,
+ "startTime": "2013-04-22T23:00:00Z",
+ "endTime": "2013-04-23T00:00:00Z",
+ "numVips": 1,
+ "incomingTransfer": 0,
+ "outgoingTransfer": 0,
+ "incomingTransferSsl": 6815503,
+ "outgoingTransferSsl": 10474092,
+ "vipType": "PUBLIC",
+ "averageNumConnections": 0,
+ "averageNumConnectionsSsl": 19.9166666666667,
+ "numPolls": 12,
+ "sslMode": "ON"
+ }
+ ]
+}
Modified: libcloud/trunk/libcloud/test/loadbalancer/test_rackspace.py
URL: http://svn.apache.org/viewvc/libcloud/trunk/libcloud/test/loadbalancer/test_rackspace.py?rev=1471179&r1=1471178&r2=1471179&view=diff
==============================================================================
--- libcloud/trunk/libcloud/test/loadbalancer/test_rackspace.py (original)
+++ libcloud/trunk/libcloud/test/loadbalancer/test_rackspace.py Tue Apr 23 22:07:38 2013
@@ -884,6 +884,12 @@ class RackspaceLBTests(unittest.TestCase
condition=MemberCondition.ENABLED, weight=12)
self.assertTrue(resp)
+ def test_ex_list_current_usage(self):
+ balancer = self.driver.get_balancer(balancer_id='8290')
+ usage = self.driver.ex_list_current_usage(balancer=balancer)
+ self.assertEqual(usage['loadBalancerUsageRecords'][0]['incomingTransferSsl'],
+ 6182163)
+
class RackspaceUKLBTests(RackspaceLBTests):
@@ -1413,6 +1419,13 @@ class RackspaceLBMockHttp(MockHttpTestCa
return (httplib.OK, json.dumps(response_body), {}, httplib.responses[httplib.OK])
raise NotImplementedError
+ def _v1_0_slug_loadbalancers_8290_usage_current(self, method, url, body,
+ headers):
+ if method == 'GET':
+ body = self.fixtures.load('v1_0_slug_loadbalancers_8290_usage_current.json')
+ return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+ raise NotImplementedError
+
def _v1_1_auth(self, method, url, body, headers):
headers = {'content-type': 'application/json; charset=UTF-8'}
body = self.auth_fixtures.load('_v1_1__auth.json')