Commits on Feb 16, 2017
Motivation: The output when an error occurs shows an integer error code, which isn't very helpful. And in the case of an error when creating a resource, you also get a redundant log message from the controller client. Modifications: * the controller client no longer logs errors * the generated String() allows for the enum name to be displayed in the error output * each errorCode enum member has a hand-generated description * the format of the error message from the CLI client was modified to display the error description with the error message Related to #112
Commits on Feb 13, 2017
This allows for proper classification of the error on the client side.
Motivation: Creating duplicate resources currently results in a 500 error being displayed by the client, with no information about the true nature of the failure. Modifications: * ResourceStore now converts any errors from the etcd client into fission errors, capturing the reason for the error in the case of a duplicate key (as ErrorNameExists) * ErrorNameExists errors are signaled to the client with a 409 (Conflict) HTTP status * MakeErrorFromHTTP() now reads the body of the error response to retrieve the actual error message instead of using the HTTP status message * the controller client now uses MakeErrorFromHTTP() to centralize status code -> error code mapping * tests for all of the resources now check that duplicate resources are reported properly Result: The client can now provide more context when a duplicate name is given related to #112