Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Exemplo: altere a configuração usando scripts de operação SLAX e XSLT

Este exemplo explica como fazer alterações estruturadas na configuração do Junos OS usando um script operacional SLAX.

Configuração do dispositivo

Procedimento passo a passo

Baixar, habilitar e testar o script:

  1. Copie o script em um arquivo de texto, nomeie o arquivo config-change.slax e copie-o para o /var/db/scripts/op/ directory no dispositivo.

  2. No modo de configuração, configure o nome de arquivo do script no nível de [edit system scripts op file] hierarquia.

  3. Emite o commit and-quit comando para comprometer a configuração e voltar ao modo operacional.

  4. Antes de executar o script, emita o comando do show interfaces interface-name modo operacional e registre o estado atual da interface que será desativado pelo script.

  5. Execute o script de operação.

Requisitos

Este exemplo usa um dispositivo que executa o Junos OS.

Visão geral e script de operação

Os scripts de operação SLAX e XSLT podem usar o jcs:load-configuration modelo, que está localizado no arquivo de importação junos.xsl , para fazer alterações estruturadas na configuração do Junos OS. Este exemplo cria um script de operação SLAX que usa o jcs:load-configuration modelo para desativar uma interface em um dispositivo que executa o Junos OS. Todos os valores necessários para o jcs:load-configuration modelo são definidos como variáveis, que são então passados para o modelo.

Neste exemplo, a usage variável é inicializada com uma descrição geral da função do script. Quando você executa o script, ele chama a jcs:output() função de saída da descrição de uso para a CLI. Isso permite verificar se você está usando o script para a finalidade correta.

O script chama a jcs:get-input() função, que solicita a desativação do nome da interface e armazena o nome da interface interface na variável. A config-changes variável armazena os dados de configuração do Junos XML para carregar no dispositivo e faz referência à interface variável. A jcs:load-configuration chamada de modelo define o valor do configuration parâmetro para os dados armazenados na config-changes variável.

A load-action variável está definida para merge, o que mescla os novos dados de configuração com a configuração do candidato. Isso é o equivalente ao comando load mergede modo de configuração CLI.

A options variável define as opções para a operação de compromisso. Ele usa o := operador para criar um conjunto de nós, que é passado para o modelo como o valor do commit-options parâmetro. Este exemplo inclui a log tag para adicionar a descrição do compromisso ao log de compromisso para referência futura.

A chamada para a jcs:open() função abre uma conexão com o processo de gerenciamento do Junos OS (mgd) no dispositivo local e devolve uma alça de conexão armazenada na conn variável. O script então chama o jcs:load-configuration modelo.

O := operador copia os resultados da chamada de jcs:load-configuration modelo para uma variável temporária e executa a node-set função nessa variável. O conjunto de nó resultante é então armazenado na results variável. O := operador garante que a results variável seja um conjunto de nó em vez de um fragmento de árvore de resultado para que o script possa acessar o conteúdo.

A jcs:close() função fecha a conexão com o dispositivo. Por padrão, o jcs:load-configuration modelo não fornece mensagens para a CLI. Este exemplo pesquisa e imprime xmn:warning e xnm:error mensagens na resposta para identificar rapidamente quaisquer problemas com o commit.

Sintaxe SLAX

Verificação

Verificando o Commit

Propósito

Verifique se o commit foi bem sucedido.

Ação

Você deve incluir um código em seu script que analisa o conjunto de nó devolvido pelo jcs:load-configuration modelo para quaisquer erros ou avisos. Isso permite determinar com mais facilidade se o commit foi bem sucedido. Se não houver mensagens de aviso ou erro, você pode verificar o sucesso do commit de várias maneiras.

  • Verifique o log de compromisso para verificar se o commit foi bem-sucedido. Se você incluir a opção log no commit-options parâmetro, a mensagem deve ser visível no log de compromisso, juntamente com as informações de compromisso.

  • Verifique o arquivo de mensagens de syslog para verificar se a operação de compromisso foi registrada. Nesse caso, você também vê uma SNMP_TRAP_LINK_DOWN mensagem para a interface desabilitada para 0/0/0/0. Dependendo das configurações de configuração para rastreamentos, essa mensagem pode ou não aparecer em seu arquivo de log.

Verificando as mudanças de configuração

Propósito

Verifique se as alterações corretas estão integradas à configuração.

Ação

  • Exibir a configuração e verificar se as alterações são visíveis para a interface especificada.

  • Por exemplo, você também pode emitir o comando de show interfaces interface-name modo operacional para verificar se a interface foi desabilitada. Nesse caso, a saída capturada antes da interface ser desativada mostra que a interface é Enabled.

    A saída capturada após executar o script para desativar a interface mostra que a interface está agora Administratively down.