Suporte para iPv6 em scripts de automação Python
A partir do Junos OS Release 19.3R1, dispositivos que executam o Junos OS com suporte gratuito atualizado usando IPv6 em scripts de automação Python, incluindo scripts de confirmação, evento, op e SNMP, scripts de toolkit de extensão (JET) da Juniper e scripts de ação YANG. O suporte ao IPv6 permite que scripts de automação Python estabeleçam conexões e realizem operações usando endereços IPv6.
Por exemplo, o script de operação a seguir usa o Junos PyEZ para se conectar ao host no endereço IPv6 especificado e imprimir o nome de host do dispositivo e informações sobre a interface ge-0/0/0. O script recupera o nome de usuário das entradas de script e solicita a senha do usuário.
from jnpr.junos import Device
from lxml import etree
from junos import Junos_Context
import jcs
user = Junos_Context['user-context']['user']
password = jcs.get_secret('Enter user password: ')
try:
with Device(host='2001:db8::2', user=user, password=password) as dev:
print (dev.facts['hostname'])
int_info = dev.rpc.get_interface_information({'format':'text'},
interface_name='ge-0/0/0', terse=True)
print (etree.tostring(int_info, encoding='unicode'))
except Exception as err:
print (err)
Para executar o script, configure a declaração ou language python3 a language python declaração e o nome do arquivo de script.
[edit] user@host# set system scripts language python3 user@host# set system scripts op file connect-ipv6.py user@host# commit and-quit
Quando você executa o script, ele imprime o nome de host do dispositivo remoto e informações sobre a interface ge-0/0/0.
user@host> op connect-ipv6.py
Enter user password:
r2
<output>
Interface Admin Link Proto Local Remote
ge-0/0/0 up up
ge-0/0/0.0 up up inet6 2001:db8::2/32
fe80::5668:a3ff:fe16:79ef/64
multiservice
</output>