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 op SLAX e XSLT

Este exemplo explica como fazer alterações estruturadas na configuração do Junos OS usando um script op 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 /var/db/scripts/op/ diretório 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. Emita 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ções

Os scripts de op 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 op SLAX que usa o jcs:load-configuration modelo para desabilitar 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 que você verifique se está usando o script para a finalidade correta.

O script chama a jcs:get-input() função, que solicita que o nome da interface desabile e armazena o nome da interface na interface 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 equivale ao comando load mergede modo de configuração CLI.

A options variável define as opções para a operação de confirmação. 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 confirmação 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 retorna uma alça de conexão que é armazenada na conn variável. O script então chama o jcs:load-configuration modelo.

O := operador copia os resultados da chamada do jcs:load-configuration modelo para uma variável temporária e executa a node-set função nessa variável. O conjunto de nós resultante é então armazenado na results variável. O := operador garante que a results variável seja um conjunto de nós 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 compromisso foi bem sucedido.

Ação

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

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

  • Verifique o arquivo de mensagens de syslog para verificar se a operação de confirmação foi registrada. Neste caso, você também vê uma SNMP_TRAP_LINK_DOWN mensagem para a interface desabilitada para 0/0/0. Dependendo das configurações de sua configuração para traceoptions, 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 este exemplo, você também pode emitir o comando de show interfaces interface-name modo operacional para verificar se a interface foi desativada. Neste 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.