[Nsi-wg] Issue 24 in ogf-nsi-project: ServiceException needs further details
ogf-nsi-project at googlecode.com
ogf-nsi-project at googlecode.com
Wed Oct 12 12:36:10 CDT 2011
Comment #8 on issue 24 by jmacau... at gmail.com: ServiceException needs
further details
http://code.google.com/p/ogf-nsi-project/issues/detail?id=24
Peoples,
I took and action to start the error handling discussion so that we, as a
group, can document the error messages and behaviors. I would like to
start it off with when an NSIServiceException is returned as a SOAP fault
to a request, and when it is returned in a specific failed response message.
OpenDRAC used the strategy of validating a “key” set of attributes in the
request before returning an ACK response or SOAP fault. This gives
OpenDRAC the opportunity to validate parameters needed to accept the
message for processing, and possibly return the asynchronous failed message
at a later time. Here is the list of parameters I will validate in a
reservation message and return a SOAP fault if they are incorrect or
missing.
HTTP authentication – if you don’t have valid credentials you are rejected
with an HTTP 40x message.
correlationId - needed for any acknowledgment, confirmation, or failed
message. Must be unique within the context of the providerNSA otherwise
the request cannot be accepted.
replyTo - we will send the confirmation, or failed message back to this
location. We do not validate the contents of the endpoint, just that it
exists.
Reservation – if the reservation parameters are not present then we reject.
requesterNSA and providerNSA – must be present and resolve to an NsNetwork
in topology. Also, the providerNSA must be the NsNetwork OpenDRAC is
managing or we reject the message.
connectionId – this is used as the primary reference attribute for
reservation state machines and must be present.
If any of these fields are missing or invalid OpenDRAC will return a SOAP
fault containing the NSIServiceException set to an appropriate error
message.
Here is a list of error messages currently implemented in OpenDRAC. The
list continues to expand. I have kept the text generic with the specific
error values being returned in the associated attribute list. We will also
need to agree on the format of the message/errorId.
MISSINGPARAMETER, “SVC0001", "Invalid or missing parameter"
UNSUPPORTEDOPTION, “SVC0002", "Parameter provided contains an unsupported
value which MUST be processed"
ALREADYEXISTS, “SVC0003", "Schedule already exists for connectionId"
DOESNOTEXISTS, "SVC0004", "Schedule does not exists for connectionId"
MISSINGSECURITY, “SVC0005", "Invalid or missing user credentials"
TOPOLOGYRESOLUTION_STP, "SVC0006", "Could not resolve STP in Topology
database"
TOPOLOGYRESOLUTION_STP_NSA, SVC0007", "Could not resolve STP to managing
NSA"
PATHCOMPUTATION_NO_PATH, “SVC0008", "Path computation failed to resolve
route for reservation"
INVALIDSTATE, “SVC0009", "Connection state machine is in invalid state for
received message"
INTERNALERROR, "SVC0010", "An internal error has cause a message processing
failure"
Would people like to add to the list?
Comments?
John.
More information about the nsi-wg
mailing list