Exceptions raised by the Horizon code and the machinery for handling them.
horizon.exceptions.
AlreadyExists
(name, resource_type)[source]¶API resources tried to create already exists.
horizon.exceptions.
BadRequest
[source]¶Generic error to replace all “BadRequest”-type API errors.
horizon.exceptions.
ConfigurationError
[source]¶Exception to be raised when invalid settings have been provided.
horizon.exceptions.
Conflict
[source]¶Generic error to replace all “Conflict”-type API errors.
horizon.exceptions.
GetFileError
(name, resource_type)[source]¶Exception to be raised when the value of get_file is not expected.
The expected values start with https:// or http://. Otherwise this exception will be raised.
horizon.exceptions.
HandledException
(wrapped)[source]¶Used internally to track exceptions that are already handled.
It is used to track exceptions that have gone through
horizon.exceptions.handle()
more than once.
horizon.exceptions.
HorizonException
[source]¶Base exception class for distinguishing our own exception classes.
horizon.exceptions.
HorizonReporterFilter
[source]¶Error report filter that’s always active, even in DEBUG mode.
horizon.exceptions.
Http302
(location, message=None)[source]¶Exception used to redirect at the middleware level.
This error class which can be raised from within a handler to cause an early bailout and redirect at the middleware level.
horizon.exceptions.
NotAuthenticated
[source]¶Raised when a user is trying to make requests and they are not logged in.
The included HorizonMiddleware
catches
NotAuthenticated
and handles it gracefully by displaying an error
message and redirecting the user to a login page.
horizon.exceptions.
NotAuthorized
[source]¶User tries to access a resource without sufficient permissions.
Raised whenever a user attempts to access a resource which they do not
have permission-based access to (such as when failing the
require_perms()
decorator).
The included HorizonMiddleware
catches
NotAuthorized
and handles it gracefully by displaying an error
message and redirecting the user to a login page.
horizon.exceptions.
NotAvailable
[source]¶Exception to be raised when something is not available.
horizon.exceptions.
NotFound
[source]¶Generic error to replace all “Not Found”-type API errors.
horizon.exceptions.
RecoverableError
[source]¶Generic error to replace any “Recoverable”-type API errors.
horizon.exceptions.
ServiceCatalogException
(service_name)[source]¶A requested service is not available in the ServiceCatalog
.
ServiceCatalog
is fetched from Keystone.
horizon.exceptions.
WorkflowError
[source]¶Exception to be raised when something goes wrong in a workflow.
horizon.exceptions.
WorkflowValidationError
[source]¶Exception raised during workflow validation.
It is raised if required data is missing, or existing data is not valid.
horizon.exceptions.
check_message
(keywords, message)[source]¶Checks an exception for given keywords and raises an error if found.
It raises a new ActionError
with the desired message if the
keywords are found. This allows selective
control over API error messages.
horizon.exceptions.
handle
(request, message=None, redirect=None, ignore=False, escalate=False, log_level=None, force_log=None)[source]¶Centralized error handling for Horizon.
Because Horizon consumes so many different APIs with completely
different Exception
types, it’s necessary to have a centralized
place for handling exceptions which may be raised.
Exceptions are roughly divided into 3 types:
UNAUTHORIZED
: Errors resulting from authentication or authorization
problems. These result in being logged out and sent to the login screen.NOT_FOUND
: Errors resulting from objects which could not be
located via the API. These generally result in a user-facing error
message, but are otherwise returned to the normal code flow. Optionally
a redirect value may be passed to the error handler so users are
returned to a different view than the one requested in addition to the
error message.RECOVERABLE
: Generic API errors which generate a user-facing message
but drop directly back to the regular code flow.All other exceptions bubble the stack as normal unless the ignore
argument is passed in as True
, in which case only unrecognized
errors are bubbled.
If the exception is not re-raised, an appropriate wrapper exception class indicating the type of exception that was encountered will be returned.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.