cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
659
Views
0
Helpful
3
Replies

Yangsuite is hung in IOS XE on Cat8kv environment

mstng_1967
Level 1
Level 1

While attempting to load a yang model (Cisco-IOS-XE-vlan) from a set in the Netconf configuration area of Yangsuite, the application just hangs. I have no recourse. I've tried stopping and re-starting the Yangsuite container. That did not work. Here is a screenshot.

mstng_1967_0-1728259314827.png

Here you can see that Yangsuite is running:

mstng_1967_1-1728259357086.png

The logs show nothing of significance. As someone new to Yangsuite, I must say that I'm struggling to get into a groove with this tool. I have run head long into one problem after the next. Perhaps it is just because I'm a noob, but my gut tells me that it isn't just me.

Beyond, the issue specified as the subject of this post, here are a list of the issues I've encountered so far:

1) Within this sandbox environment, attempting to enable RESTCONF has failed. When I do so and then check connectivity, ping and NETCONF succeed, but RESTCONF fails. I've confirmed that RESTCONF has been enabled on the vswitch by checking the contents of  ztp.py and by SSHing into the vswitch which promptly informs me that it is already enabled. Furthermore, I can hit the /restconf interface from my local web browser and from curl and wget. However, Yangsuite insists that it cannot communicate with the vswitch over RESTCONF.
2) When using locally via docker container deployment and with a physical Catalyst 3850, I attempted to use the "Create default Repository and Yangset" function from the "Device profiles" page. This succeeded, but very little was available in terms of the models that were part of the set. In fact, the tool indicated to me that there were missing dependency models. The tool provides a convenient button to fetch the missing models, but this failed. I spent a long time wresting with Yangsuite when interfacing it with this 3850 in order to get some kind of educational value. In the end, I gave up and attempted to try one of these sandboxes.
3) Of the models that were automatically added as part of the set, none of them were usable. I suspect this has something to do with the missing dependency modules that could not be fetched.
4) I attempted to instead fetch the models for the Catalyst 3850 switch using the YangModels repository. This process executed for a very long time. I dutifully monitored the docker logs. However, at some point, the process stopped with a non-descriptive error dialog reading 504. In the logs, I was seeing a python OSError.
5) I tried running the tool as a pip application; however, getting python3.8 on my system proved problematic.

I love the vision behind this tool. I really like what Cisco is trying to accomplish. However, I do think that this tool needs some UX polish. Even modest improvements to the tool will make a big difference.

3 Replies 3

@mstng_1967 not seen this error before, from the images provided its showing your Yangsuite is running, but the logs don't indicate any errors, which is odd - i can only presume here the issue might be related to the specific Yang model you trying to load. Have you tried loading other models to see if the issue is specific to the Cisco-IOS-XE-vlan model, you can try checking the model's syntax and validity using tools like pyang or yanglint to ensure it's not a model-specific issue maybe.

Your issues observations are intertesting, i know while back i saw an issue with XE where it could not connect on restconf on the version of the device, i cannot recall the version this was a few years back, not saying this is the issues here - but a maybe. I would check teh device for logs to see if you see the connection for restconf, as you noted it active and works locally.

I think for more issues, i would open an issue on the repo for the team whom maintain this.

Hope this helps.

Please mark this as helpful or solution accepted to help others
Connect with me https://bigevilbeard.github.io

I had tried other modules before that issue with success. After that issue and when I was able to recover the interface, I tried loading the vlan module again and then left to go do something else. When I came back, it was loaded. I have no idea how long it took and I did not try to do other things within the interface the second time around. I think perhaps it was loading the vlan module (which I believe has a dependency on a much larger module) and was just churning on the load. I assumed it was hung and attempted to navigate away from the "Netconf" page. I suspect that is what induced the issue.
As for the issue not being able to connect to RESTCONF, I don't think this is actually an issue with Yangsuite but rather the environment. I was able to `docker exec` into the yangsuite container and do some debugging. I was not able to hit the cat8k's IP address on port 443 with wget from within the container. I think there's some network issue within the environment that is prohibiting Yangsuite from communicating with the cat8k on port 443.

@mstng_1967 thats an interesting idea, i never thought that this model could have a large number of nodes and leaves, which can make it more difficult to parse and process etc.. Nice!

Please mark this as helpful or solution accepted to help others
Connect with me https://bigevilbeard.github.io