Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Visão geral do script do Commit

Entender scripts de compromisso

Você pode usar scripts de compromisso do Junos OS para personalizar o processo de validação de suas configurações de acordo com suas próprias práticas e políticas e aplicar regras de configuração personalizadas durante o processo de compromisso. Quando você comete uma configuração de candidato, ela é inspecionada por cada script de compromisso ativo. Se uma configuração violar suas regras personalizadas, o script pode instruir o Junos OS a tomar as medidas apropriadas. Um script de compromisso pode:

  • Gere e exibir mensagens de aviso personalizadas para o usuário.

  • Gere e registre mensagens de log de sistema personalizado (syslog).

  • Altere a configuração para estar em conformidade com as regras de negócios personalizadas.

  • Gere um erro de comprometimento e interrompa a operação de compromisso.

Os scripts de compromisso são baseados no protocolo de gerenciamento Junos XML e na API Junos XML. O protocolo de gerenciamento Junos XML é um mecanismo RPC baseado em XML, e a API Junos XML é uma representação XML de declarações de configuração do Junos OS e comandos de modo operacional.

Você pode escrever scripts de compromisso em Python, Extensible Stylesheet Language Transformations (XSLT) ou Stylesheet Language Alternative syntaX (SLAX). A API Junos XML define um XML equivalente para todas as declarações na hierarquia de configuração do Junos. Os scripts de compromisso usam a XML Path Language (XPath) para localizar os objetos de configuração para inspecionar, e eles usam construções de script de automação para especificar as ações a serem executadas nos objetos de configuração. As ações podem gerar mensagens ou alterar a configuração.

Além disso, você pode criar macros, que permitem que você use sintaxe de configuração personalizada que simplifica a tarefa de configurar dispositivos Junos. Por si só, sua sintaxe personalizada não tem impacto operacional no dispositivo. Uma macro de script de compromisso correspondente usa sua sintaxe personalizada como dados de entrada para gerar declarações de configuração padrão do Junos OS que executam seu impacto operacional pretendido.

Para ver a configuração atual do dispositivo no XML, emita o show configuration | display xml comando no modo operacional CLI. Para ver sua configuração no estilo de script de compromisso XML, emita o show configuration | display commit-scripts view comando. A visualização XML no estilo de script commit exibe a configuração no formato que seria a entrada para um script de compromisso.

Benefícios dos scripts de compromisso

Os scripts de compromisso fornecem os seguintes benefícios:

  • Habilite a aplicação de regras de configuração personalizadas.

  • Melhore a confiabilidade e o tempo de atividade da rede, minimizando o erro humano.

  • Corrija automaticamente erros de configuração durante uma operação de compromisso.

  • Abstrair e simplificar configurações complexas.

  • Aplique limites de escala para configurações críticas.

Vantagens de usar scripts de compromisso

Reduzir o erro humano em uma configuração de rede pode melhorar significativamente o tempo de atividade da rede. Comprometer scripts permitem que você controle práticas operacionais e aplique políticas operacionais, diminuindo assim a possibilidade de erro humano. Restringir as configurações dos dispositivos de acordo com as regras de design personalizadas pode melhorar consideravelmente a confiabilidade da rede.

Considere os seguintes exemplos de ações que você pode executar com scripts de compromisso:

  • Teste básico de sanidade — Garanta que as hierarquias e [edit protocols] as [edit interfaces] hierarquias não sejam excluídas acidentalmente.

  • Verificação de consistência — Garanta que todas as interfaces T1 configuradas no nível de [edit interfaces] hierarquia também sejam configuradas no nível da [edit protocols rip] hierarquia.

  • Teste de configuração do mecanismo de roteamento duplo — garanta que os grupos de configuração e re1 os re0 grupos de configuração sejam configurado corretamente. Quando você usa grupos de configuração, os valores herdados podem ser substituídos na configuração do alvo. Um script de compromisso pode determinar se um elemento de configuração de alvo individual está bloqueando a herança adequada das configurações do grupo de configuração.

  • Densidade de interface — Garanta que uma interface canalizada não tenha muitos canais configurados.

  • Escalamento de enlace — Garanta que as interfaces SONET/SDH nunca tenham um tamanho MTU inferior a 4 KB.

  • Verificação de políticas de importação — Garanta que um protocolo de gateway interno (IGP) não use uma política de importação que importe toda a tabela de roteamento.

  • Verificações de protocolo cruzado — Garanta que todas as interfaces habilitadas por LDP estejam configuradas para um IGP ou garanta que todas as interfaces habilitadas para IGP estejam configuradas para LDP.

  • Verificação de design do IGP — Garanta que a configuração nunca habilite roteadores IS-IS de nível 1.

Quando uma configuração de candidato não adere às suas regras de design, um script de compromisso pode instruir o Junos OS a gerar avisos personalizados, registrar mensagens de registro do sistema ou gerar mensagens de erro que impedem o sucesso da operação de comprometimento. Além disso, o script de compromisso pode alterar a configuração de acordo com suas regras e, em seguida, prosseguir com a operação de compromisso.

Considere um design de rede que exige que você habilite o MPLS em todas as interfaces onde você habilita a família iso de protocolos. No momento do commit, um script de compromisso inspeciona a configuração e emite um erro se a configuração não atender a esse requisito. Esse erro faz com que a operação de compromisso falhe e força o usuário a atualizar a configuração para cumprir.

Em vez de um erro, o script de compromisso pode emitir um aviso sobre o problema de configuração e, em seguida, corrigir automaticamente a configuração para habilitar MPLS em todas as interfaces. O script commit também pode gerar uma mensagem de log do sistema, indicando que o script tomou medidas corretivas na configuração.

Outra opção é definir uma macro que habilita protocolos ISO e MPLS quando você aplica a macro a uma interface. Configurar essa macro simplifica a tarefa de configuração, ao mesmo tempo em que garante que ambos os protocolos estejam configurados juntos.

Por fim, você pode fazer com que o script de compromisso corrija a configuração usando uma mudança transitória. Em nosso exemplo, uma mudança transitória pode habilitar o MPLS em interfaces habilitadas por ISO sem exibir as declarações de configuração correspondentes na configuração do candidato.

Nota:

Os scripts de compromisso geram alterações transitórias na configuração de checkout, mas não na configuração do candidato. A configuração de checkout é o banco de dados de configuração que o sistema verifica a sintaxe padrão do Junos OS pouco antes de uma configuração ficar ativa. Isso significa que alterações transitórias não são salvas na configuração se você excluir ou desativar o script de compromisso associado. O show configuration | display commit-scripts comando exibe todas as declarações que estão na configuração, incluindo declarações que são geradas por mudanças transitórias. Para obter mais informações, consulte a visão geral da geração de mudanças de configuração persistentes ou transitórias usando scripts de compromisso.