使用 Juniper PyEZ 加载配置文件

Load Configuration File with Juniper PyEZ

我正在尝试使用 PyEZ 加载覆盖存储在 juniper 设备 (vSRX) 上的配置。代码看起来像这样

from jnpr.junos import Device
from jnpr.junos.utils.config import Config

dev = Device(host="x.x.x.x", user='user', password='pass').open()
with Config(dev, mode='private') as cu:  
    cu.load('load override minimal.conf', format='set')
    cu.pdiff()
    if cu.commit_check():
      cu.commit()

当我 运行 脚本时出现以下错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/jnpr/junos/utils/config.py", line 534, in load
    ignore_warning=ignore_warning)
  File "/usr/local/lib/python2.7/dist-packages/jnpr/junos/utils/config.py", line 455, in try_load
    raise ConfigLoadError(cmd=err.cmd, rsp=err.rsp, errs=err.errs)
jnpr.junos.exception.ConfigLoadError: ConfigLoadError(severity: error, bad_element: load, message: error: unknown command)

找不到解决我的问题的方法。任何帮助是极大的赞赏!

你的 cu.load() 是错误的。

这是一个例子:

https://github.com/Juniper/junosautomation/blob/master/pyez/pyez_building_blocks/bb4.provisioning.with.pyez.py

如果您尝试从本地文件(在 Junos 设备上)加载配置,您应该使用 url 选项

检查 url 在:

http://junos-http://junos-pyez.readthedocs.io/en/2.1.8/jnpr.junos.utils.html#jnpr.junos.utils.config.Config.load