Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Use o Ansible com tabelas PyEZ do Junos para recuperar informações operacionais dos dispositivos Junos

RESUMO Use tabelas e visualizações do Junos PyEZ em seus playbooks Ansible para recuperar informações operacionais dos dispositivos Junos.

Visão geral do módulo

Tabelas operacionais (op) Junos PyEZ oferecem uma maneira simples e eficiente de extrair informações da complexa saída de comando operacional. A Juniper Networks oferece um módulo Ansible que permite que você aproveite as tabelas de op do Junos PyEZ de dentro de playbooks ansible. A Tabela 1 descreve o módulo.

Tabela 1: Módulo de tabela Junos PyEZ

Conjunto de conteúdo

Nome do módulo

juniper.device coleção

table

Nota:

O table módulo não oferece suporte ao uso de tabelas e visualizações de configuração.

Entendendo as tabelas do Junos PyEZ

O Junos PyEZ é uma microframetra para Python que permite que você gerencie e automatize dispositivos Junos. O Junos PyEZ oferece suporte ao uso de definições YAML simples, que são conhecidas como Tabelas e Visualizações, para recuperar e filtrar dados de saída de comando operacional e configuração dos dispositivos Junos.

Tabelas operacionais (op) Junos PyEZ extraem informações da saída de comandos operacionais ou RPCs. Os módulos Junos PyEZ jnpr.junos.op contêm definições predefinidas de Tabela e Visualização para alguns RPCs comuns. Você também pode criar tabelas e visualizações personalizadas.

Quando você usa o Ansible para gerenciar dispositivos Junos, o módulo pode usar o table Junos PyEZ Tables para recuperar dados de um dispositivo. O módulo pode fazer referência às tabelas e visualizações operacionais predefinidas que estão incluídas na distribuição do Junos PyEZ, ou pode fazer referência a tabelas e visualizações definidas pelo usuário que residem no nó de controle Ansible.

Para obter informações gerais sobre tabelas e visualizações do Junos PyEZ, veja as seguintes seções e documentação relacionadas no Junos PyEZ Developer Guide:

Como usar os módulos ansíveis da Juniper Networks com tabelas Junos PyEZ

O juniper.device.table módulo pode incluir os seguintes argumentos para especificar a Tabela a ser usada:

  • file— Nome de arquivo do arquivo YAML que define a tabela e a visualização do Junos PyEZ.

  • path— (Opcional) Caminho para o diretório que contém o arquivo YAML com as definições de Tabela e visualização. O caminho de arquivo padrão é a localização das tabelas op Do Junos PyEZ predefinidas, que residem no caminho de instalação do Junos PyEZ sob o diretório jnpr/junos/op .

  • table—(Opcional) Nome da Tabela que será usada para recuperar os dados. Essa opção só é necessária quando um arquivo contém várias definições de Tabela ou o arquivo contém uma única Tabela que não inclui "Tabela" em seu nome.

Por exemplo, a tarefa a seguir recupera dados usando uma tabela personalizada nomeada FPCTable, que é definida no arquivo fpc.yaml localizado no diretório de playbook:

A resposta do módulo inclui a resource chave, que contém uma lista de itens devolvidos pela Tabela. Cada item da lista é um nívem que contém os nomes de campo definidos pela Visualização e o valor extraído dos dados para cada um dos campos correspondentes.

Considere a tabela e a visualização predefinidas a seguir eArpView, ArpTable no arquivo arp.yml da distribuição Junos PyEZ. ArpTable executa o <get-arp-table-information> RPC com a opção, o <no-resolve/> que equivale ao show arp no-resolve comando CLI. A visualização correspondente extrai o endereço MAC, endereço IP e nome da interface para cada <arp-table-entry> item na resposta.

O manual ansible a seguir executa o table módulo, que usa para recuperar informações do Protocolo de Resolução de Endereços ArpTable (ARP) dos dispositivos Junos. Como ArpTable está incluído com a distribuição Junos PyEZ e reside no diretório padrão para as tabelas op Do Junos PyEZ predefinidas, o argumento do path módulo não é necessário para especificar a localização do arquivo. Além disso, como ArpTable é a única Tabela definida no arquivo e inclui "Tabela" em seu nome, o table argumento não é necessário para especificar a Tabela.

A saída de manual, que é truncada para brevidade, inclui os campos correspondentes, conforme definido pelo ArpView, para cada <arp-table-entry> item devolvido pelo dispositivo.

O manual ansível a seguir aproveita a tabela OspfInterfaceTableoperacional Junos PyEZ predefinida para recuperar informações sobre interfaces OSPF em dispositivos Junos. O arquivo ospf.yml define várias Tabelas e visualizações, de modo que a chamada do módulo inclui o table argumento para especificar qual Tabela usar.

Especifique os argumentos do RPC

As Tabelas operacionais do Junos PyEZ têm uma chave opcional args que define as opções de comando padrão e os argumentos para o RPC executado por essa Tabela. O aplicativo executa o RPC com as opções padrão a menos que o usuário substitua os padrões. Nos aplicativos Junos PyEZ, você pode substituir as opções padrão ou passar opções e argumentos adicionais para o RPC ao chamar o get() método.

O juniper.device.table módulo também permite substituir as opções padrão definidas na Tabela ou passar opções e argumentos adicionais ao RPC usando o kwargs argumento. O kwargs valor é um grande valor e opções de comando, que devem ser suportados pelo RPC e pelo dispositivo no qual o RPC é executado.

Por exemplo, a tabela EthPortTable de operações predefinida do Junos PyEZ no arquivo ethport.yml executa o <get-interface-information> RPC com a opção media de comando. Por padrão, o RPC retorna informações para todas as interfaces que correspondem à expressão regular dada para o nome da interface.

A cartilha Ansible a seguir usa EthPortTable para extrair informações sobre as interfaces em dispositivos Junos. O kwargs argumento inclui interface_name: "ge-1/0/0", o que substitui o EthPortTable padrão interface_name e instrui o módulo a recuperar os campos solicitados apenas para a interface ge-1/0/0.

Para obter mais informações sobre as opções e argumentos de comando padrão e fornecidos pelo usuário nas Tabelas PyEZ do Junos, veja como definir as tabelas operacionais do Junos PyEZ e use tabelas operacionais e visualizações do Junos PyEZ que analisam a saída estruturada.