Bloqueie e desbloqueie a configuração do candidato usando o NETCONF
Quando um aplicativo do cliente está solicitando ou mudando informações de configuração, ele pode usar um dos seguintes métodos para acessar a configuração do candidato:
Bloqueie a configuração do candidato, o que impede que outros usuários ou aplicativos alterem o banco de dados de configuração compartilhada até que o aplicativo libere o bloqueio. Isso é equivalente ao comando CLI
configure exclusive
.Altere a configuração do candidato sem bloqueá-la. Não recomendamos esse método, devido ao potencial de conflitos com mudanças feitas por outros aplicativos ou usuários que estão editando o banco de dados de configuração compartilhada ao mesmo tempo.
Se um aplicativo estiver simplesmente solicitando informações de configuração e não mudando-as, não é necessário bloquear a configuração. O aplicativo pode começar a solicitar informações imediatamente. No entanto, se for importante que as informações que estão sendo devolvidas não mudem durante a sessão, é apropriado bloquear a configuração.
Para obter mais informações sobre o bloqueio e o desbloqueio da configuração do candidato, consulte as seguintes seções:
Bloqueando a configuração do candidato
Para bloquear a configuração do candidato, um aplicativo do cliente emite os <lock>
elementos de tag e <target>
a <candidate/>
tag no <rpc>
elemento tag.
<rpc> <lock> <target> <candidate/> </target> </lock> </rpc> ]]>]]>
Bloquear a configuração do candidato impede que outros usuários ou aplicativos alterem a configuração do candidato até que o bloqueio seja liberado. Isso é equivalente ao comando CLI configure exclusive
. É recomendado bloquear a configuração antes de fazer alterações, especialmente em dispositivos onde vários usuários estão autorizados a alterar a configuração. Uma operação de compromisso se aplica a todas as mudanças na configuração do candidato, não apenas às feitas pelo usuário ou aplicativo que solicita o compromisso. Permitir que vários usuários ou aplicativos façam alterações simultaneamente pode levar a resultados inesperados.
O servidor NETCONF confirma que bloqueou o candidato devolvendo a <ok/>
tag no <rpc-reply>
elemento tag.
<rpc-reply xmlns="URN" xmlns:junos="URL"> <ok/> </rpc-reply> ]]>]]>
Se o servidor NETCONF não puder bloquear a configuração, o <rpc-reply>
elemento de tag em vez disso inclui um <rpc-error>
elemento de tag explicando o motivo da falha. Os motivos da falha podem incluir o seguinte:
Outro usuário ou aplicativo já bloqueou a configuração do candidato. A mensagem de erro informa o identificador de sessão NETCONF do usuário ou aplicativo. Se o aplicativo do cliente tiver o privilégio de acesso do Junos OS necessário, ele pode encerrar a sessão que mantém o bloqueio. Para obter mais informações, consulte Encerrar uma sessão NETCONF.
A configuração do candidato já inclui mudanças que ainda não foram comprometidas. Para confirmar as mudanças, consulte Confirmar a configuração do candidato usando o NETCONF. Para descartar alterações não comprometidas, consulte Reverter alterações não comprometidas na configuração do candidato usando o NETCONF.
Apenas uma aplicação pode manter o bloqueio na configuração do candidato por vez. Outros usuários e aplicativos podem ler a configuração do candidato enquanto ela está bloqueada. O bloqueio persiste até que a sessão NETCONF termine ou o aplicativo do cliente desbloqueie a configuração emitindo o <unlock>
elemento tag, conforme descrito no Desbloqueio da Configuração do Candidato.
Se a configuração do candidato não for comprometida antes que o aplicativo do cliente o desbloqueie ou se a sessão NETCONF terminar por qualquer motivo antes que as alterações sejam comprometidas, as alterações serão automaticamente descartadas. O candidato e as configurações comprometidas permanecem inalterados.
Liberando a configuração do candidato
Enquanto um aplicativo do cliente mantiver um bloqueio na configuração do candidato, outros aplicativos e usuários não podem alterar o candidato. Para desbloquear a configuração do candidato, o aplicativo do cliente inclui os <unlock>
elementos de tag e <target>
a <candidate/>
tag em um <rpc>
elemento de tag.
<rpc> <unlock> <target> <candidate/> </target> </unlock> </rpc> ]]>]]>
O servidor NETCONF confirma que desbloqueou o candidato devolvendo a <ok/>
tag no <rpc-reply>
elemento tag.
<rpc-reply xmlns="URN" xmlns:junos="URL"> <ok/> </rpc-reply> ]]>]]>
Se o servidor NETCONF não conseguir desbloquear a configuração, o <rpc-reply>
elemento de tag em vez disso inclui um <rpc-error>
elemento de tag explicando o motivo da falha.