Как получить таблицу MAC-адресов маршрутизатора Juniper с использованием PyEZ? Выдает erorr при запуске

Я создал простой скрипт на python для получения таблицы mac vpls от маршрутизатора с помощью команды RPC. Hower это выдает ошибку при запуске. Кто-нибудь знает, что я делаю не так?

root@ubuntu:~# cat vpls3.py

#!/usr/bin/python3
from jnpr.junos import Device
from lxml import etree
import jxmlease

username='lab'
password='lab'

dev = Device(host='10.85.164.172', user=username, password=password, normalize=True)

dev.open()
#invoke the RPC command
sw = dev.rpc.get-vpls-mac-table()
print(etree.tostring(sw, encoding='unicode'))

корень @ Ubuntu:~#

Ниже приведена ошибка:

root@ubuntu:~# python vpls3.py
Traceback (most recent call last):
  File "vpls3.py", line 13, in <module>
    sw = dev.rpc.get-vpls-mac-table()
NameError: name 'vpls' is not defined
root@ubuntu:~#

Я также попробовал ниже скрипт:

root@ubuntu:~# cat test1.py

from jnpr.junos import Device
from lxml import etree

# Set device information with IP-address, login user and passwort
dev = Device( user='lab', host='10.85.164.172', password='lab')

# Connect to the device
dev.open()

# Get MACs
macs = dev.rpc.get-vpls-mac-table(normalize=True)

# Print response of device
print (etree.tostring(macs))

# Close the connection
dev.close()

Та же ошибка:

root@ubuntu:~# python test1.py Traceback (последний вызов был последним): файл "test1.py", строка 11, в macs = dev.rpc.get-vpls-mac-table(normalize=True) NameError: name 'vpls' не определен root@ubuntu:~#

Заранее спасибо.

2 ответа

RPC JunOS переводятся в Pyez с подчеркиванием:

измените это на:

sw = dev.rpc.get_vpls_mac_table ()

Спасибо! теперь он работает с sw = dev.rpc.get_vpls_mac_table() .

Другие вопросы по тегам