Encerre uma sessão netconf
Em uma sessão netconf, a tentativa de um aplicativo do cliente de bloquear a configuração do candidato pode falhar porque outro usuário ou aplicativo já mantém o bloqueio. Nesse caso, o servidor NETCONF devolve uma mensagem de erro que inclui o nome de usuário e o ID de processo (PID) para a entidade que detém o bloqueio existente:
<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> ]]>]]>
Se o aplicativo do cliente tiver a permissão do Junos OS maintenance
, ele pode encerrar a sessão que mantém a fechadura emitindo os <kill-session>
elementos de tag e <session-id>
em um <rpc>
elemento de tag. O <session-id>
elemento especifica o PID obtido a partir da mensagem de erro:
<rpc> <kill-session> <session-id>PID</session-id> </kill-session> </rpc> ]]>]]>
O servidor NETCONF confirma que encerrou a outra sessão devolvendo a <ok/>
tag no <rpc-reply>
elemento tag:
<rpc-reply xmlns="URN" xmlns:junos="URL"> <ok/> </rpc-reply> ]]>]]>
Recomendamos que a aplicação inclua lógica para determinar se é apropriado encerrar outra sessão, com base em fatores como a identidade do usuário ou do aplicativo que mantém a fechadura ou o tempo ocioso.
Quando uma sessão é encerrada, o servidor NETCONF que está atendendo a sessão reverte todas as alterações não comprometidas que foram feitas durante a sessão. Se um compromisso confirmado estiver pendente (alterações foram cometidas, mas ainda não confirmadas), o servidor NETCONF restaurará a configuração ao seu estado antes que a instrução de compromisso confirmada seja emitida. Para obter informações sobre a operação de compromisso confirmada, consulte Confirmar a configuração do candidato somente após a confirmação usando o NETCONF.
O exemplo a seguir mostra como encerrar outra sessão:
