0

我正在使用 ncclient 配置我的 cisco XR 的主机名。但是我收到下面的 RPCError-

Traceback (most recent call last):
  File "obj4.py", line 13, in <module>
    edit_result = device.edit_config(target='running',config=host_name, default_operation='merge').data_xml
  File "/usr/local/lib/python3.5/dist-packages/ncclient/manager.py", line 162, in wrapper
    return self.execute(op_cls, *args, **kwds)
  File "/usr/local/lib/python3.5/dist-packages/ncclient/manager.py", line 232, in execute
    raise_mode=self._raise_mode).request(*args, **kwds)
  File "/usr/local/lib/python3.5/dist-packages/ncclient/operations/edit.py", line 67, in request
    return self._request(node)
  File "/usr/local/lib/python3.5/dist-packages/ncclient/operations/rpc.py", line 337, in _request
    raise self._reply.error
ncclient.operations.rpc.RPCError: 'YANG framework' detected the 'fatal' condition 'Operation not supported on this datastore'

我的代码是-

#!/usr/bin/env python3

from ncclient import manager

with manager.connect(host='198.51.100.1',port=830,username='netman',password='netman',hostkey_verify=False,device_params={'name':'iosxr'},allow_agent=True,look_for_keys=False) as device:

    host_name = '''<config>              
        <cli-config-data>
                  <cmd>hostname Lab9XR</cmd>
                 </cli-config-data>
                        </config>'''

    edit_result = device.edit_config(target='running',config=host_name, default_operation='merge').data_xml
    print (edit_result)

我的 cisco XR 设备上的配置是-

RP/0/0/CPU0:ios#sh run
Mon Apr  8 02:53:28.496 UTC
Building configuration...
!! IOS XR Configuration 6.1.3
!! Last configuration change at Mon Apr  8 02:08:58 2019 by netman
!
hostname ios
interface MgmtEth0/0/CPU0/0
 shutdown
!
interface GigabitEthernet0/0/0/0
 ipv4 address 198.51.100.1 255.255.255.0
!
interface GigabitEthernet0/0/0/1
 shutdown
!
xml agent
 iteration off
!
netconf agent tty
!
netconf-yang agent
 ssh
!
ssh server v2
ssh server netconf vrf default
ssh server logging
ssh timeout 120
end

请帮助解决问题。如何在此设备的数据存储上启用 cli 模块?

4

2 回答 2

1

这可能是由于 Cisco XR 不支持“urn:ietf:params:netconf:capability:writable-running:1.0”。在这种情况下,您需要使用候选数据存储

于 2019-04-29T06:14:57.670 回答
0

请尝试以下候选商店:

====当前代码--------

edit_result = device.edit_config(target='running',config=host_name, default_operation='merge').data_xml
    print (edit_result)

----新代码-----

edit_result = device.edit_config(target='candidate',config=host_name, default_operation='merge').data_xml
    print (edit_result)
于 2019-04-18T22:48:45.113 回答