0

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 ?

azbarcea
  • 3,323
  • 1
  • 20
  • 25
  • Fixed your `m.close_session()` indentation. Curious if that was the issue ... Not sure that you've noticed that your `m` object is not used, only to close your session. Please add the intention of your code and what you're trying to achieve: https://stackoverflow.com/help/how-to-ask – azbarcea Jan 10 '21 at 02:28

1 Answers1

0

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()