clicon / clixon-controller

Clixon network controller
Apache License 2.0
14 stars 5 forks source link

Possible to get stuck in an lock-denied state with no way to recover #47

Closed krihal closed 11 months ago

krihal commented 11 months ago

Two devices configured (2 * cRPD) and developing an BGP peering service.

Configuring the service without the required variable as-number results in an error as expected:

debian@khn-dev[/]# set services bgp-peer test exchange-points foo peering 1.1.1.1 as-number 33333
debian@khn-dev[/]# set services bgp-peer test exchange-points foo peering 1.1.1.1 export-rules export-out
debian@khn-dev[/]# set services bgp-peer test exchange-points foo peering 1.1.1.1 import-rules asd
debian@khn-dev[/]# set services bgp-peer test exchange-points foo peering 1.1.1.1 md5-sum asd
debian@khn-dev[/]# commit
Transaction 2 failed application missing-element Mandatory variable of bgp-peer in module bgp-peer <bad-element>as-number</bad-element>
OK

Hoewever, when trying to add the missing variable the transactions are locked and I have no way to recover from here:

debian@khn-dev[/]# set services bgp-peer test as-number 1234
Oct 19 05:37:57: Editing configuration: protocol lock-denied Operation failed, lock is already held <session-id>1677721</session-id>
debian@khn-dev[/]# rollback
Oct 19 05:42:14: Discard changes: protocol lock-denied Operation failed, lock is already held <session-id>1677721</session-id>
debian@khn-dev[/]#
krihal commented 11 months ago

This scenario works fine, let's close this and re-open if needed.