[Nsi-wg] Error code and serviceException
Radek Krzywania
radek.krzywania at man.poznan.pl
Tue Dec 11 08:22:17 EST 2012
Hi
For me it's reasonable, however shouldn't it be a binary notation? E.g. lets
take a byte as a base
PAYLOAD_ERROR 00010000 (16)
MISSING_PARAMETER 00010001 (17)
NOT_IMPLEMENTED 00010010 (18)
CONNECTION_ERROR 00100000 (32)
INVALID_TRANSITION 00100001 (33)
CONNECTION_EXISTS 00100010 (34)
CONNECTION_NONEXISTENT 00100011 (35)
CONNECTION_GONE 00100100 (36)
Etc.
This gives 15 error types (first 4 bits) + 15 specific errors per type
(second 4 bits). It may be easier to use it in the code, e.g. if you don't
care for specific errors (AND, OR, XOR operations possible) it will be
easier to extract and interpret interesting information IMHO. If 15x15
errors is insufficient, we can use 16 bits as a base for that (that would be
255x255), or something in between (e.g. 8bits base 31x7)
Best regards
Radek
______________________________________________
Radosław Krzywania
Network Department of
Poznan Supercomputing and Networking Center
http://www.man.poznan.pl
______________________________________________
> -----Original Message-----
> From: nsi-wg-bounces at ogf.org [mailto:nsi-wg-bounces at ogf.org] On Behalf
> Of Henrik Thostrup Jensen
> Sent: Tuesday, December 11, 2012 1:46 PM
> To: NSI Working Group
> Subject: [Nsi-wg] Error code and serviceException
>
> Hi everyone
>
> I was doing some error handling stuff in OpenNSA and realized that we
> probably didn't close that one properly after Oxford. These are also
pretty
> important to get into an appendix in the standard, so we can do proper
error
> handling in the imeplementations.
>
> Here are the error code that I presented in Oxford:
>
> PAYLOAD_ERROR 00100
> MISSING_PARAMETER 00101
> NOT_IMPLEMENTED 00102
> CONNECTION_ERROR 00200
> INVALID_TRANSITION 00201
> CONNECTION_EXISTS 00202
> CONNECTION_NONEXISTENT 00203
> CONNECTION_GONE 00204
> SECURITY_ERROR 00300
> UNAUTHORIZED 00301
> TOPOLOGY_ERROR 00400
> UNKNOWN_STP 00401
> STP_RESOLUTION_ERROR 00402
> NO_PATH_FOUND 00403
> INTERNAL_ERROR 00500
> INTERNAL_NRM_ERROR 00501
> RESOURCE_UNAVAILABLE 00600
> STP_UNAVALABLE 00601
> BANDWIDTH_UNAVAILABLE 00602
>
> I _think_ we agreed to them without to much fuzz. The idea is that we can
> add new errors without changing the protocol and that a new resource
> unavailable code (say 00603, can be generalized into 00600 if the
> implementation does not know 00603).
>
> I think we also need a failure to indicate that a connection could not be
> created due to a downstream NSA being unavailable or similar. I cannot
think
> of a good name though, but it belongs under 00200 / CONNECTION_ERROR.
> Maybe CONNECTION_CREATE_ERROR / 00205.
>
> Note that it is the error codes (the numbers) that should be specified in
the
> errorId field in the nsi:serviceException. The names should not be
> transmitted.
>
> Previously some have used 'SVC' as a prefix to the error codes (to
indicate
> service failure), but I am not sure if we agreed on anything for
> NSI2 (I don't see the need
>
> @John: Maybe you could put the error codes in the WSDL documentation.
>
> Finally, right now, variables is mandatory in nsi:serviceException,
however
> not all errors need to be related to a variable (downstream NSA
unavailable),
> so I suggest we make variables optional.
>
>
> Best regards, Henrik
>
> Henrik Thostrup Jensen <htj at nordu.net>
> Software Developer, NORDUnet
>
> _______________________________________________
> nsi-wg mailing list
> nsi-wg at ogf.org
> https://www.ogf.org/mailman/listinfo/nsi-wg
More information about the nsi-wg
mailing list