cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
509
Views
3
Helpful
1
Replies

Do NSO store all the capabilities of a device in a CDB?

equinix
Level 1
Level 1

Hello,

When we create a new service package, there is a default code snippet that is added to our RFS file which verifies the capabilities of all the devices added in NSO and if it couldn't retrieve capabilities for any of the device. even unrelated service creation or update will fail.

So far, we had developed and deployed multiple service-packages and we left the code snippet as is in the RFS file because we assumed, NSO stores all the capabilities of a device in the CDB and even when a device is temporarily disabled, it wouldn't affect a service lifecycle.

But, recently we had observed an issue in our test environment where all the service creations were failed because of one device which got disconnected. Now, before deploying the fix, we would like to understand when does NSO store these capabilities of a device in CDB and when will it delete this information from the CDB

Best Regards

Sandeep.T

1 Accepted Solution

Accepted Solutions

Jan Lindblad
Cisco Employee
Cisco Employee

That default code snippet should not go into production code. It is there only because it reduces the support load for the Tail-f BU. One of the most common beginner mistakes is to forget to sync-from before running the service, and bad things happen in the code. The snippet helps remind people to do the sync-from.

In production code, as you rightly mention, there will be cases occasionally where some device doesn't have any stored capabilities yet. And if there are many devices, this (somewhat stupid) check may even cause a performance problem.

So remove it. It's just a guard rails for beginners. I'm glad you asked.

/jan

View solution in original post

1 Reply 1

Jan Lindblad
Cisco Employee
Cisco Employee

That default code snippet should not go into production code. It is there only because it reduces the support load for the Tail-f BU. One of the most common beginner mistakes is to forget to sync-from before running the service, and bad things happen in the code. The snippet helps remind people to do the sync-from.

In production code, as you rightly mention, there will be cases occasionally where some device doesn't have any stored capabilities yet. And if there are many devices, this (somewhat stupid) check may even cause a performance problem.

So remove it. It's just a guard rails for beginners. I'm glad you asked.

/jan