nova/nova
Dan Smith 72058b7a40 Join quota exception family trees
For some reason, we have two lineages of quota-related exceptions in
Nova. We have QuotaError (which sounds like an actual error), from
which all of our case-specific "over quota" exceptions inhert, such
as KeypairLimitExceeded, etc. In contrast, we have OverQuota which
lives outside that hierarchy and is unrelated. In a number of places,
we raise one and translate to the other, or raise the generic
QuotaError to signal an overquota situation, instead of OverQuota.
This leads to places where we have to catch both, signaling the same
over quota situation, but looking like there could be two different
causes (i.e. an error and being over quota).

This joins the two cases, by putting OverQuota at the top of the
hierarchy of specific exceptions and removing QuotaError. The latter
was only used in a few situations, so this isn't actually much change.
Cleaning this up will help with the unified limits work, reducing the
number of potential exceptions that mean the same thing.

Related to blueprint bp/unified-limits-nova

Change-Id: I17a3e20b8be98f9fb1a04b91fcf1237d67165871
2022-02-08 07:52:01 -08:00
..
accelerator smartnic support - reject server move and suspend 2021-08-05 15:58:41 +08:00
api Join quota exception family trees 2022-02-08 07:52:01 -08:00
cmd Merge "db: Replace use of Executable.scalar(), Executable.execute()" 2021-11-23 11:09:58 +00:00
compute Join quota exception family trees 2022-02-08 07:52:01 -08:00
conductor Add autopep8 to tox and pre-commit 2021-11-08 12:37:27 +00:00
conf Merge "Add service version check workaround for FFU" 2022-01-25 00:37:20 +00:00
console Merge "console: Improve logging" 2021-09-07 14:29:08 +00:00
db db: Remove use of 'bind' arguments 2021-11-15 11:19:46 +00:00
hacking Add wrapper for oslo.concurrency lockutils.ReaderWriterLock() 2022-01-12 04:15:26 +00:00
image Merge "Close Glance image if downloading failed." 2022-01-17 10:31:21 +00:00
keymgr
locale Imported Translations from Zanata 2020-04-26 07:51:21 +00:00
network [yoga] Add PCI VPD Capability Handling 2022-02-01 17:31:04 +03:00
notifications objects: Remove 'bandwidth' fields from notifications 2021-11-03 17:33:43 +00:00
objects Merge "[yoga] Add PCI VPD Capability Handling" 2022-02-05 09:33:35 +00:00
pci Add autopep8 to tox and pre-commit 2021-11-08 12:37:27 +00:00
policies policy: Deprecate field from 'os-extended-server-attributes' policy 2021-08-26 10:54:25 +01:00
privsep Retry lvm volume and volume group query 2021-06-15 12:39:26 +02:00
releasenotes/notes api: enable oslo.reports when using uWSGI 2021-10-14 09:23:08 +03:00
scheduler Remove Python 2-specific imports 2022-01-28 12:27:06 +00:00
servicegroup Remove six.binary_type/integer_types/string_types 2020-12-13 11:25:14 +00:00
storage Add autopep8 to tox and pre-commit 2021-11-08 12:37:27 +00:00
tests Join quota exception family trees 2022-02-08 07:52:01 -08:00
virt Merge "[yoga] Add PCI VPD Capability Handling" 2022-02-05 09:33:35 +00:00
volume Add autopep8 to tox and pre-commit 2021-11-08 12:37:27 +00:00
__init__.py
availability_zones.py Remove six.PY2 and six.PY3 2020-08-15 07:45:23 +00:00
baserpc.py
block_device.py fup: Remove unused legacy block_device_info format 2021-08-20 13:26:46 +01:00
cache_utils.py trivial: Remove unused 'cache_utils' APIs 2020-02-05 17:20:28 +00:00
config.py conf: Allow cinderclient and os_brick to independently log at DEBUG 2021-12-03 18:21:16 +00:00
context.py db: Unify 'nova.db.api', 'nova.db.sqlalchemy.api' 2021-08-09 15:34:40 +01:00
crypto.py Replace md5 for fips 2021-02-25 16:01:43 -05:00
debugger.py trivial: Remove remaining '_LW' instances 2020-05-18 17:00:41 +01:00
exception_wrapper.py rpc: Rework 'get_notifier', 'wrap_exception' 2021-03-01 11:06:48 +00:00
exception.py Join quota exception family trees 2022-02-08 07:52:01 -08:00
filters.py Add autopep8 to tox and pre-commit 2021-11-08 12:37:27 +00:00
i18n.py trivial: Remove remaining '_LI' instances 2020-05-18 17:00:57 +01:00
loadables.py trivial: Remove dead code 2019-12-12 10:55:02 +00:00
manager.py db: Unify 'nova.db.api', 'nova.db.sqlalchemy.api' 2021-08-09 15:34:40 +01:00
middleware.py Allow X-OpenStack-Nova-API-Version header in CORS 2021-06-15 07:35:36 -04:00
monkey_patch.py Correctly disable greendns 2020-09-11 12:42:04 -04:00
policy.py Reuse code from oslo lib for JSON policy migration 2021-01-14 22:41:33 +00:00
profiler.py
quota.py db: Post reshuffle cleanup 2021-08-09 15:34:40 +01:00
rpc.py rpc: Rework 'get_notifier', 'wrap_exception' 2021-03-01 11:06:48 +00:00
safe_utils.py
service_auth.py
service.py Add service version check workaround for FFU 2022-01-24 08:45:58 -08:00
test.py db: Don't pass strings to 'Connection.execute' 2021-11-12 09:58:42 +00:00
utils.py Move ReaderWriterLock to the test tree 2022-01-17 13:29:35 +01:00
version.py Change API unexpected exception message 2021-02-17 21:30:07 +00:00
weights.py Add autopep8 to tox and pre-commit 2021-11-08 12:37:27 +00:00
wsgi.py trivial: Remove remaining '_LI' instances 2020-05-18 17:00:57 +01:00