Launchpad Entry: error-codes
Created: CoryWright
Contributors: RickHarris
Summary
In order to ease customer support requests Nova should provide standardized and easy-to-understand error codes.
Release Note
This release adds standardized error codes and error logging across Nova.
Rationale
Troubleshooting and debugging is much easier when well documented error codes are used throughtout a system. Adding a standardized format for error codes and messages will make it easier to provide support for Nova.
User stories
As a Cloud User I want access to informative error messages when problems arise.
Assumptions
Certain error conditions require error messages to be sent asynchronously. One example would be an image restore that fails midway.
PubSubHubBub is needed for publishing asyncronous error messages.
Design
An error handler will be used to process error messages and publish them to a queue. A queue processor will then send those messages to a PubSubHubBub service for consumption by users.
When possible, simple error messages will be returned directly in the HTTP response. Otherwise, end users will need to communicate with the PubSubHubBub service to access error messages.
Implementation
An error handler will be implemented that catches exceptions, logs them, and finally publishes them to a queue. A queue processor will need to be written that monitors the queue and publishes all messages to the PubSubHubBub service.
UI Changes
Code Changes
There may be cases where we need to rework how certain error conditions are currently being handled.
Migration
Test/Demo Plan
Work with the API team to ensure error codes are properly propagated.