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 2011/09/21 15:53:12 UTC
svn commit: r1173646 - in /libcloud/trunk:
libcloud/compute/drivers/openstack.py test/compute/test_openstack.py
test/compute/test_rackspace.py
Author: tomaz
Date: Wed Sep 21 13:53:12 2011
New Revision: 1173646
URL: http://svn.apache.org/viewvc?rev=1173646&view=rev
Log:
Fix a regression in Rackspace compute driver pricing. Now the correct pricing
should be returned again. Also update the tests to prevent regressions in the
future.
Modified:
libcloud/trunk/libcloud/compute/drivers/openstack.py
libcloud/trunk/test/compute/test_openstack.py
libcloud/trunk/test/compute/test_rackspace.py
Modified: libcloud/trunk/libcloud/compute/drivers/openstack.py
URL: http://svn.apache.org/viewvc/libcloud/trunk/libcloud/compute/drivers/openstack.py?rev=1173646&r1=1173645&r2=1173646&view=diff
==============================================================================
--- libcloud/trunk/libcloud/compute/drivers/openstack.py (original)
+++ libcloud/trunk/libcloud/compute/drivers/openstack.py Wed Sep 21 13:53:12 2011
@@ -649,13 +649,13 @@ class OpenStack_1_0_NodeDriver(NodeDrive
)
def _get_size_price(self, size_id):
- if 'openstack' not in PRICING_DATA['compute']:
+ try:
+ return get_size_price(driver_type='compute',
+ driver_name=self.api_name,
+ size_id=size_id)
+ except KeyError:
return 0.0
- return get_size_price(driver_type='compute',
- driver_name='openstack',
- size_id=size_id)
-
class OpenStack_1_0_SharedIpGroup(object):
"""
Modified: libcloud/trunk/test/compute/test_openstack.py
URL: http://svn.apache.org/viewvc/libcloud/trunk/test/compute/test_openstack.py?rev=1173646&r1=1173645&r2=1173646&view=diff
==============================================================================
--- libcloud/trunk/test/compute/test_openstack.py (original)
+++ libcloud/trunk/test/compute/test_openstack.py Wed Sep 21 13:53:12 2011
@@ -278,10 +278,15 @@ class OpenStackTests(unittest.TestCase,
for size in sizes:
self.assertTrue(isinstance(size.price, float),
'Wrong size price type')
- self.assertEqual(size.price, 0,
- 'Size price should be zero by default')
+
+ if self.driver.api_name == 'openstack':
+ self.assertEqual(size.price, 0,
+ 'Size price should be zero by default')
def test_list_sizes_with_specified_pricing(self):
+ if self.driver.api_name != 'openstack':
+ return
+
pricing = dict((str(i), i) for i in range(1, 9))
set_pricing(driver_type='compute', driver_name='openstack',
@@ -293,8 +298,7 @@ class OpenStackTests(unittest.TestCase,
for size in sizes:
self.assertTrue(isinstance(size.price, float),
'Wrong size price type')
- self.assertEqual(size.price, pricing[size.id],
- 'Size price should be zero by default')
+ self.assertEqual(float(size.price), float(pricing[size.id]))
class OpenStackMockHttp(MockHttpTestCase):
Modified: libcloud/trunk/test/compute/test_rackspace.py
URL: http://svn.apache.org/viewvc/libcloud/trunk/test/compute/test_rackspace.py?rev=1173646&r1=1173645&r2=1173646&view=diff
==============================================================================
--- libcloud/trunk/test/compute/test_rackspace.py (original)
+++ libcloud/trunk/test/compute/test_rackspace.py Wed Sep 21 13:53:12 2011
@@ -28,6 +28,11 @@ class RackspaceTests(OpenStackTests):
driver_type = RackspaceNodeDriver
driver_args = RACKSPACE_PARAMS
+ def test_list_sizes_pricing(self):
+ sizes = self.driver.list_sizes()
+
+ for size in sizes:
+ self.assertTrue(size.price > 0)
if __name__ == '__main__':
sys.exit(unittest.main())