使用ncclient配置DevNet IOS XE时遇RPCError: Unsupported capability :candidate
问题:使用ncclient编辑IOS XE设备配置时提示Unsupported capability :candidate
- 现象:通过ietf-interfaces YANG模型获取接口信息功能正常,但执行配置编辑操作时返回错误
- 用到的XML配置内容:
<config xmlns:xc="urn:ietf:params:xml:ns:netconf:base:1.0"> <interfaces xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces"> <interface> <name>Loopback138</name> <description>TEST_SPSJM</description> <type xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type">ianaift:softwareLoopback</type> <enabled>true</enabled> </interface> </interfaces> </config>
- 执行的ncclient命令:
nc_manager.edit_config(conf, default_operation="merge")
- 错误响应:
RPCError: Unsupported capability :candidate
原因分析
IOS XE设备默认不支持**候选配置(candidate)**数据存储能力,而ncclient的edit_config方法在未指定目标配置库时,默认会尝试使用candidate datastore,这就导致设备返回不支持该能力的错误。
解决方法
调用edit_config时显式指定目标为running配置库(IOS XE默认支持的配置存储),修改后的代码如下:
nc_manager.edit_config(conf, target="running", default_operation="merge")
修改后即可正常通过YANG模型编辑设备的运行配置,比如创建或修改Loopback接口这类操作。
内容的提问来源于stack exchange,提问作者user3603644
相关产品推荐
相关产品推荐

