Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Use Ansible para recuperar fatos dos dispositivos Junos

A Juniper Networks oferece suporte ao uso do Ansible para gerenciar dispositivos Junos e fornece módulos Ansible que permitem que você execute tarefas operacionais e de configuração nos dispositivos. Os módulos não exigem Python no dispositivo gerenciado porque usam o Junos PyEZ e a API Junos XML sobre NETCONF para interface com o dispositivo. Portanto, quando você usa o Ansible para realizar operações em dispositivos Junos, você deve executar os módulos Ansible localmente no nó de controle. Como resultado, a Ansible está inadimplente em coletar fatos do nó de controle Ansible em vez do nó gerenciado.

A Juniper Networks fornece módulos que permitem que você reúna fatos do dispositivo, incluindo a configuração ativa, a partir de dispositivos Junos. A Tabela 1 descreve os módulos disponíveis. Os módulos usam o sistema de coleta de fatos Junos PyEZ para recuperar os fatos do dispositivo. Para obter mais informações sobre o sistema de coleta de fatos Junos PyEZ e a lista completa de chaves de dicionário devolvidas, veja jnpr.junos.facts.

Tabela 1: Módulos para reunir fatos

Conjunto de conteúdo

Nome do módulo

juniper.device coleção

facts

Juniper.junos papel

juniper_junos_facts

Os facts módulos e juniper_junos_facts os módulos devolvem os fatos do dispositivo no insumos ansible_facts.junos . Os módulos também permitem que você economize os dados devolvidos em um arquivo no nó de controle ansível local. Para especificar o diretório no qual salvar as informações recuperadas, inclua o argumento do savedir módulo e defina o caminho para o diretório alvo. Quando você inclui o savedir argumento, o manual gera os seguintes arquivos para cada dispositivo, onde hostname está o valor do hostname fato recuperado do dispositivo, que pode ser diferente do nome de host passado para o módulo:

  • hostname-facts.json — Fatos do dispositivo no formato JSON

  • hostname-inventory.xml — Inventário de hardware do dispositivo em formato XML

Por exemplo, a playbook a seguir recupera os fatos do dispositivo para cada dispositivo no grupo de inventário e economiza os dados para cada dispositivo em arquivos separados no diretório de playbook no nó de controle Ansible. Como o manual executa o módulo da Juniper Networks localmente, a Ansible é padrão para coletar fatos do nó de controle. O manual inclui o gather_facts: no argumento para evitar que Ansible reúna fatos do nó de controle e, em vez disso, usa o facts módulo na juniper.device coleção para recuperar os fatos do dispositivo gerenciado. Para autenticar com o dispositivo, o exemplo usa as chaves SSH existentes no local padrão e, portanto, não fornece credenciais explicitamente para o facts módulo no manual.

Por padrão, os módulos e juniper_junos_facts os facts módulos não retornam a configuração do dispositivo. Para devolver a configuração ativa para um dispositivo, além dos fatos do dispositivo, inclua a opção config_format e especifique o formato em que devolver a configuração. Valores de formato aceitáveis são'json', 'set''text' e'xml'. O formato solicitado deve ser suportado pela versão do Junos OS em execução no dispositivo.

Quando você inclui a opção config_format , o ansible_facts.junos níquete na resposta do módulo inclui a config chave com a configuração no formato especificado em uma única corda multi-linha. Se a opção savedir estiver incluída, os dados de configuração não estiverem escritos no arquivo.

Ponta:

Usar o Ansible para recuperar dados de configuração de um dispositivo Junos e salvar os dados em um arquivo, usar o config ou juniper_junos_config módulo em vez do facts módulo. juniper_junos_facts Para obter mais informações, consulte Use Ansible para recuperar ou comparar as configurações do Junos OS.

O manual do próximo exemplo executa as seguintes operações:

  • Recupera os fatos do dispositivo e a configuração ativa para cada dispositivo no grupo de inventário

  • Salva os fatos e o inventário de hardware para cada dispositivo em arquivos separados no diretório de playbook no nó de controle Ansible

  • Imprime a configuração de cada dispositivo à saída padrão