summaryrefslogtreecommitdiffstats
path: root/keystone/exception.py
diff options
context:
space:
mode:
authorHenry Nash <henryn@linux.vnet.ibm.com>2013-03-15 22:48:50 +0000
committerHenry Nash <henryn@linux.vnet.ibm.com>2013-03-18 16:14:16 +0000
commit90fcb996cb2acf7b829b2cccfa485c09e4c0d0e8 (patch)
treef73dff8715ffa872dc634a8e1195f22dd04d7c1d /keystone/exception.py
parent16b464376ea5d2a056cb0a2a9ea946eefa372af6 (diff)
downloadkeystone-90fcb996cb2acf7b829b2cccfa485c09e4c0d0e8.tar.gz
keystone-90fcb996cb2acf7b829b2cccfa485c09e4c0d0e8.tar.xz
keystone-90fcb996cb2acf7b829b2cccfa485c09e4c0d0e8.zip
Ensure delete domain removes all owned entities
Deleting a domain should delete all Users, Groups and Projects that are owned by that domain. This is intertwined with making sure that deleting Users/Projects clean up their relevant Tokens and Credentials (raised as a separate bug, bug fixed here). To help avoid inadvertent deletion, we insist that a domain must be disabled before it can be deleted. In implementing this change, it was discovered that the exception CredentialNotFound is referenced in the identity backend, but never defined - this was needed here for the unit tests. This is raised as a separate bug, and fixed here. A further bug has been raised that this indicates we are lacking in negative testing for Credentials (not fixed in this change) Fixes Bug #1097995 Fixes Bug #1155921 Fixes Bug #1155924 Change-Id: Ibc926f8212fb9bd4426088339a21002a07c86984
Diffstat (limited to 'keystone/exception.py')
-rw-r--r--keystone/exception.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/keystone/exception.py b/keystone/exception.py
index 09c43585..5b519cd4 100644
--- a/keystone/exception.py
+++ b/keystone/exception.py
@@ -194,6 +194,10 @@ class TrustNotFound(NotFound):
"""Could not find trust: %(trust_id)s"""
+class CredentialNotFound(NotFound):
+ """Could not find credential: %(credential_id)s"""
+
+
class Conflict(Error):
"""Conflict occurred attempting to store %(type)s.