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.

Unresolved issues

Wiki: StandardizedErrorCodes (last edited 2011-02-04 21:32:54 by CoryWright)