Merge "Show quota detail when inject file quota exceeds"

This commit is contained in:
Jenkins 2017-08-17 21:34:16 +00:00 committed by Gerrit Code Review
commit d64a292fb3
3 changed files with 10 additions and 6 deletions

View File

@ -311,9 +311,11 @@ class API(base.Base):
# Favor path limit over content limit for reporting # Favor path limit over content limit for reporting
# purposes # purposes
if 'injected_file_path_bytes' in exc.kwargs['overs']: if 'injected_file_path_bytes' in exc.kwargs['overs']:
raise exception.OnsetFilePathLimitExceeded() raise exception.OnsetFilePathLimitExceeded(
allowed=exc.kwargs['quotas']['injected_file_path_bytes'])
else: else:
raise exception.OnsetFileContentLimitExceeded() raise exception.OnsetFileContentLimitExceeded(
allowed=exc.kwargs['quotas']['injected_file_content_bytes'])
def _check_metadata_properties_quota(self, context, metadata=None): def _check_metadata_properties_quota(self, context, metadata=None):
"""Enforce quota limits on metadata properties.""" """Enforce quota limits on metadata properties."""

View File

@ -1398,11 +1398,11 @@ class OnsetFileLimitExceeded(QuotaError):
class OnsetFilePathLimitExceeded(OnsetFileLimitExceeded): class OnsetFilePathLimitExceeded(OnsetFileLimitExceeded):
msg_fmt = _("Personality file path too long") msg_fmt = _("Personality file path exceeds maximum %(allowed)s")
class OnsetFileContentLimitExceeded(OnsetFileLimitExceeded): class OnsetFileContentLimitExceeded(OnsetFileLimitExceeded):
msg_fmt = _("Personality file content too long") msg_fmt = _("Personality file content exceeds maximum %(allowed)s")
class KeypairLimitExceeded(QuotaError): class KeypairLimitExceeded(QuotaError):

View File

@ -3208,7 +3208,8 @@ class _ComputeAPIUnitTestMixIn(object):
def test_check_injected_file_quota_onset_file_path_limit(self): def test_check_injected_file_quota_onset_file_path_limit(self):
# This is the second call to limit_check. # This is the second call to limit_check.
side_effect = (mock.DEFAULT, side_effect = (mock.DEFAULT,
exception.OverQuota(overs='injected_file_path_bytes')) exception.OverQuota(overs='injected_file_path_bytes',
quotas={'injected_file_path_bytes': 255}))
self.assertRaises(exception.OnsetFilePathLimitExceeded, self.assertRaises(exception.OnsetFilePathLimitExceeded,
self._test_check_injected_file_quota_onset_file_limit_exceeded, self._test_check_injected_file_quota_onset_file_limit_exceeded,
side_effect) side_effect)
@ -3216,7 +3217,8 @@ class _ComputeAPIUnitTestMixIn(object):
def test_check_injected_file_quota_onset_file_content_limit(self): def test_check_injected_file_quota_onset_file_content_limit(self):
# This is the second call to limit_check but with different overs. # This is the second call to limit_check but with different overs.
side_effect = (mock.DEFAULT, side_effect = (mock.DEFAULT,
exception.OverQuota(overs='injected_file_content_bytes')) exception.OverQuota(overs='injected_file_content_bytes',
quotas={'injected_file_content_bytes': 10240}))
self.assertRaises(exception.OnsetFileContentLimitExceeded, self.assertRaises(exception.OnsetFileContentLimitExceeded,
self._test_check_injected_file_quota_onset_file_limit_exceeded, self._test_check_injected_file_quota_onset_file_limit_exceeded,
side_effect) side_effect)