Add stub unified limits driver
The unified limits driver is starting with the noop driver. This gives us the closest API behaviour to what we describe in the spec. The Unified Limits quota driver will has several purposes: * stop all existing quota enforcement, so we can replace it * stop checking the database for quota info * make the API do what it does today with the noop driver enabled The next few patches will assert the existing API behaviour with the unified limits quota driver. This is the exact same thing that happens today when you enable the noop driver. As we add back limits, using the new unified limits approach, we will update the API so users are informed about what limits are actually being enforced. blueprint unified-limits-nova Change-Id: Iab152a6b2bb58454c32889390ec9add43771fa62
This commit is contained in:
committed by
melanie witt
parent
78f02e96ed
commit
4fbe94a98c
@@ -768,6 +768,19 @@ class NoopQuotaDriver(object):
|
||||
pass
|
||||
|
||||
|
||||
class UnifiedLimitsDriver(NoopQuotaDriver):
|
||||
"""Ease migration to new unified limits code.
|
||||
|
||||
Help ease migration to unified limits by ensuring the old code
|
||||
paths still work with unified limits. Eventually the expectation is
|
||||
all this legacy quota code will go away, leaving the new simpler code
|
||||
"""
|
||||
|
||||
def __init__(self):
|
||||
LOG.warning("The Unified Limits Quota Driver is experimental and "
|
||||
"is under active development. Do not use this driver.")
|
||||
|
||||
|
||||
class BaseResource(object):
|
||||
"""Describe a single resource for quota checking."""
|
||||
|
||||
|
||||
@@ -1871,6 +1871,12 @@ class NoopQuotaDriverTestCase(test.TestCase):
|
||||
self.assertEqual(self.expected_settable_quotas, result)
|
||||
|
||||
|
||||
class UnifiedLimitsDriverTestCase(NoopQuotaDriverTestCase):
|
||||
def setUp(self):
|
||||
super(UnifiedLimitsDriverTestCase, self).setUp()
|
||||
self.driver = quota.UnifiedLimitsDriver()
|
||||
|
||||
|
||||
@ddt.ddt
|
||||
class QuotaCountTestCase(test.NoDBTestCase):
|
||||
@mock.patch('nova.scheduler.client.report.SchedulerReportClient.'
|
||||
|
||||
Reference in New Issue
Block a user