【发布时间】:2021-11-12 21:01:04
【问题描述】:
我是 netconf 的新手。我创建了一个 xml 数据模型作为 jinja2 模板。我正在阅读该文件并尝试使用字典中的变量来呈现它。打印出模板,但未填充任何变量的原始文件。所以我得到的文件是以 Jinja 格式打印的字典键,而不是字典值。我只是想确保文件中填充了正确的信息。稍后我会担心连接问题。
from ncclient import manager
from jinja2 import Template
# netconf Connection Manager
# netconf_connection = manager.connect(host='1.1.1.1',
# port=830,
# username='admin',
# password='admin',
# device_params={'name': 'iosxr'},
# hostkey_verify=False,
# look_for_keys=False)
#
netconf_data = {
"carrier_vlan": 101,
"customer_vlan": 1000,
"HUB_WAN1_PUBLIC_IP": "10.10.10.10",
"customer": "FirstNetConfTest",
"PRIMARY_TRANSIT": "11.11.11.11",
"neighbor_IP": "11.11.11.12",
"Location": "LAX"
}
netconf_file = open('templates/new_config.j2').read()
netconf_template = Template(netconf_file)
netconf_payload = netconf_template.render(netconf_data)
print(netconf_payload)
【问题讨论】:
-
错误是什么,你的模板是什么?
-
这里的xml是怎么关联的?
-
没有错误信息,只是没有渲染模板。我得到了没有填写变量的模板输出,所以我得到的是 {{carrier_vlan}} 而不是 101。