Exception has occurred: SessionCloseError

176 views Asked by At

I have the following code:

from ncclient import manager

router = {"host": "ios-xe-mgmt.cisco.com", "port": "8181",
          "username": "developer", "password": "C1sco12345"}

with manager.connect(host=router["host"], port=router["port"], username=router["username"], password=router["password"], hostkey_verify=False) as m:
    print('*' * 50)
    print(capability)
    m.close_session()

The error when debugging shows as:

Exception has occurred: SessionCloseError
Unexpected session close
  File "C:\Users\mathewsl\VScodeWorkSpace\.vscode\testnetconf.py", line 6, in <module>
    with manager.connect(host=router["host"], port=router["port"], username=router["username"], password=router["password"], hostkey_verify=False) as m:

Any ideas what specifically is causing/throwing this error?

Thanks ?

1

There are 1 answers

0
Davide Dias On

Your full code should look like this, you forgot to do a for loop to get all the YANG modules of your network device.

from ncclient import manager

router = {"host": "sandbox-iosxr-1.cisco.com", "port":"22",
            "username": "admin", "password" : "C1sco12345"}

with manager.connect(host=router["host"], port=router["port"], username=router["username"], password=router["password"], hostkey_verify=False) as m:
    for capability in m.server_capabilities:
        print('*' * 50)
        print(capability)    
    m.close_session()