cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
730
Views
0
Helpful
2
Replies

rollback-on-error

Gastonper
Level 1
Level 1

Hi, I have a question regarding "error-option" in commit-queue configuration.

According to NSO manuals:

"The rollback-on-error value means that the commit queue item will roll back on errors. The commit queue will place a lock with block-others on the devices and services in the failed queue item. The rollback action will then automatically be invoked when the queue item has finished its execution. The lock will be removed as part of the rollback"

So, my question is, what happens if the rollback action also fail and get an error from device? Does this means that the lock never gets removed and I have to do it manually?

Thanks

2 Replies 2

u.avsec
Spotlight
Spotlight

Hey.

Transaction locks in NETCONF have a timeout (usually, maybe they can be configured to off??). If it is a netconf device, it will do it on its own, if it is a cli device, it is the NSOs job to handle this kind of stuff, since NSO is the one faking the netconf behaviour above the device.

This is a standard behaviour not exclusive to commit queues.

Thanks for the answer.

After a lit of bit of testing I found out that if the rollback action fail on the device, the lock is released. However, if the reverse fail in the Python service code, the lock remains and has to be release manually.

Here the proof:

admin@ncs(config)# *** ALARM commit-through-queue-failed: Commit queue item 1666358754116 has failed: External error in the NED implementation for device CEYD-01N: command: admin-state down: invalid token
admin@ncs(config)# *** ALARM commit-through-queue-rollback-failed: Python cb_create error. Numero de serie incorrecto

 

admin@ncs# show devices commit-queue 
devices commit-queue queue-item 1666358754116
age 25
status locked
devices [ CEYD-01N ]
failed CEYD-01N
reason "External error in the NED implementation for device CEYD-01N: command: admin-state down: invalid token"
is-atomic true

So my question is: If I really want to use the "rollback-on-error" option, how do I avoid commit-queue locked items for errors in the python create code after a rollback transaction.