summaryrefslogtreecommitdiffstats
path: root/nova
diff options
context:
space:
mode:
authorVishvananda Ishaya <vishvananda@yahoo.com>2010-09-09 22:13:38 -0700
committerVishvananda Ishaya <vishvananda@yahoo.com>2010-09-09 22:13:38 -0700
commit5cb90074df70daa60241930da9940e093a3812ba (patch)
tree61c2d37eec8b28d9c40dab6e8e4e1470fd1fea19 /nova
parentf12de05359c7ab3edce52bd529acc6dfd55e5cb4 (diff)
quota tests
Diffstat (limited to 'nova')
-rw-r--r--nova/endpoint/cloud.py1
-rw-r--r--nova/tests/quota_unittest.py25
2 files changed, 26 insertions, 0 deletions
diff --git a/nova/endpoint/cloud.py b/nova/endpoint/cloud.py
index 5209ec906..b5ac5be4d 100644
--- a/nova/endpoint/cloud.py
+++ b/nova/endpoint/cloud.py
@@ -450,6 +450,7 @@ class CloudController(object):
@defer.inlineCallbacks
def allocate_address(self, context, **kwargs):
# check quota
+ print quota.allowed_floating_ips(context, 1)
if quota.allowed_floating_ips(context, 1) < 1:
logging.warn("Quota exceeeded for %s, tried to allocate address",
context.project.id)
diff --git a/nova/tests/quota_unittest.py b/nova/tests/quota_unittest.py
index e3f23b84e..d7c07bfab 100644
--- a/nova/tests/quota_unittest.py
+++ b/nova/tests/quota_unittest.py
@@ -19,6 +19,7 @@
import logging
from nova import db
+from nova import exception
from nova import flags
from nova import quota
from nova import test
@@ -46,6 +47,7 @@ class QuotaTestCase(test.TrialTestCase):
self.manager = manager.AuthManager()
self.user = self.manager.create_user('admin', 'admin', 'admin', True)
self.project = self.manager.create_project('admin', 'admin', 'admin')
+ self.network = utils.import_object(FLAGS.network_manager)
self.context = api.APIRequestContext(handler=None,
project=self.project,
user=self.user)
@@ -125,3 +127,26 @@ class QuotaTestCase(test.TrialTestCase):
for volume_id in volume_ids:
db.volume_destroy(self.context, volume_id)
+ def test_too_many_gigabytes(self):
+ volume_ids = []
+ volume_id = self._create_volume(size=20)
+ volume_ids.append(volume_id)
+ self.assertRaises(cloud.QuotaError,
+ self.cloud.create_volume,
+ self.context,
+ size=10)
+ for volume_id in volume_ids:
+ db.volume_destroy(self.context, volume_id)
+
+ def test_too_many_addresses(self):
+ address = '192.168.0.100'
+ try:
+ db.floating_ip_get_by_address(None, address)
+ except exception.NotFound:
+ db.floating_ip_create(None, {'address': address,
+ 'host': FLAGS.host})
+ #float_addr = self.network.allocate_floating_ip(self.context,
+ # self.project.id)
+ self.assertFailure(self.cloud.allocate_address(self.context),
+ cloud.QuotaError)
+