Handle an Error or Warning in a NETCONF Session
In a NETCONF session with a device running Junos OS, a client
application sends RPCs to the NETCONF server to request information
from and manage the configuration on the device. The NETCONF server
sends a response to each client request. If the server encounters
an error condition, it emits an <rpc-error>
element containing child elements that describe the error.
<rpc-reply xmlns="URN" xmlns:junos="URL"> <rpc-error> <error-severity>error-severity</error-severity> <error-path>error-path</error-path> <error-message>error-message</error-message> <error-info> <bad-element>command-or-statement</bad-element> </error-info> <rpc-error> </rpc-reply> ]]>]]>
<bad-element>
identifies the command
or configuration statement that was being processed when the error
or warning occurred. For a configuration statement, the <error-path>
tag element enclosed in the <rpc-error>
tag element specifies the statement’s
parent hierarchy level.
<error-message>
describes the
error or warning in a natural-language text string.
<error-path>
specifies the path
to the Junos OS configuration hierarchy level at which the error or
warning occurred, in the form of the CLI configuration mode banner.
<error-severity>
indicates the
severity of the event that caused the NETCONF server to return the <rpc-error>
tag element. The two possible values
are error
and warning
.
An error can occur while the server is performing any of the following operations, and the server can send a different combination of child tag elements in each case:
Processing an operational request submitted by a client application
Opening, locking, changing, committing, or closing a configuration as requested by a client application
Parsing configuration data submitted by a client application in an
<edit-config>
tag element
Client applications must be prepared to receive and handle an <rpc-error>
tag element at any time. The information
in any response tag elements already received and related to the current
request might be incomplete. The client application can include logic
for deciding whether to discard or retain the information.
When the <error-severity>
tag
element has the value error
, the usual
response is for the client application to discard the information
and terminate. When the <error-severity>
tag element has the value warning
, indicating
that the problem is less serious, the usual response is for the client
application to log the warning or pass it to the user and to continue
parsing the server’s response.
Starting in Junos OS Release 17.4R3, 18.2R2, 18.3R2, and
18.4R1, when you configure the rfc-compliant
statement
at the [edit system services netconf]
hierarchy level to
enforce certain behaviors by the NETCONF server, the NETCONF server
cannot return an RPC reply that includes both an <rpc-error>
element and an <ok/>
element. If the
operation is successful, but the server reply would include one or
more <rpc-error>
elements with a severity
level of warning in addition to the <ok/>
element, then the warnings are omitted.