Mettre fin à une session NETCONF
Dans une session NETCONF, la tentative d’une application cliente de verrouiller la configuration du candidat peut échouer parce qu’un autre utilisateur ou application détient déjà le verrou. Dans ce cas, le serveur NETCONF renvoie un message d’erreur qui inclut le nom d’utilisateur et l’ID de processus (PID) de l’entité qui détient le verrou existant :
<rpc-reply xmlns="URN" xmlns:junos="URL"> <rpc-error> <error-severity>error</error-severity> <error-message> configuration database locked by: user terminal (pid PID) on since YYYY-MM-DD hh:mm:ss TZ, idle hh:mm:ss exclusive </error-message> </rpc-error> </rpc-reply> ]]>]]>
Si l’application cliente dispose de l’autorisation Junos OSmaintenance
, elle peut mettre fin à la session qui détient le verrou en émettant les éléments et <session-id>
de <kill-session>
balise dans un élément de <rpc>
balise. L’élément <session-id>
spécifie le PID obtenu à partir du message d’erreur :
<rpc> <kill-session> <session-id>PID</session-id> </kill-session> </rpc> ]]>]]>
Le serveur NETCONF confirme qu’il a mis fin à l’autre session en renvoyant la <ok/>
balise dans l’élément <rpc-reply>
de balise :
<rpc-reply xmlns="URN" xmlns:junos="URL"> <ok/> </rpc-reply> ]]>]]>
Nous recommandons que l’application inclue une logique pour déterminer s’il est approprié de mettre fin à une autre session, en fonction de facteurs tels que l’identité de l’utilisateur ou de l’application qui détient le verrou, ou la durée du temps d’inactivité.
Lorsqu’une session est terminée, le serveur NETCONF qui assure la maintenance de la session restauration de toutes les modifications non validées qui ont été apportées au cours de la session. Si un engagement confirmé est en attente (les modifications ont été validées mais pas encore confirmées), le serveur NETCONF restaure la configuration à son état avant l’émission de l’instruction de validation confirmée. Pour plus d’informations sur l’opération de validation confirmée, voir Valider la configuration du candidat uniquement après confirmation à l’aide de NETCONF.
L’exemple suivant montre comment mettre fin à une autre session :
