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

NSO service re-deploy reconcile - refcount problem on sub-interface (remains at 2)

ben_piret
Level 1
Level 1

Hello NSO community,

I have a question about service reconciliation. I am doing a bottom-up service reconciliation i.e. : sync-from // script to inject service into the CDB // commit dry-run // commit // re-deploy reconcile.

Everything works fine except that the refcount on the specific sub-interface for the service redeployed is still at 2 after the last reconcile command (where other refcounts for the service are well decreased to 1). For instance :

 

show devices device R14B4530WIN0 | display service-meta-data

/* Refcount: 2 */
/* Backpointer: [ /l3vpn:l3vpn[l3vpn:name='WINCLINT'] ] */
GigabitEthernet 0/0/4.9990000 {
/* Refcount: 1 */
description [FE1A4530FFO1.9990000] FF WALLONIE DATA CENTER * FOREM/FF INTERNET;
encapsulation {
dot1Q {
/* Refcount: 1 */
vlan-id 999;
}
}
vrf {
/* Refcount: 1 */
forwarding WINCLINT;
}
ip {
address {
primary {
/* Refcount: 1 */
address 10.161.82.105;
/* Refcount: 1 */
mask 255.255.255.252;
}
}
/* Refcount: 1 */
unreachables false;
/* Refcount: 1 */
proxy-arp false;
redirects false;
}
service-policy {
/* Refcount: 1 */
output PHB-shape-1000000-pe;
}
}

 

I tried to reconcile with the flag { discard-non-service-config } but then it deletes all other services (not yet reconciliated).

Even more strange, I have another PE where doing the same input does not give me the same output :

 

show devices device R13B1435WIN0 | display service-meta-data

/* Refcount: 1 */
/* Backpointer: [ /l3vpn:l3vpn[l3vpn:name='WINCLINT'] ] */
GigabitEthernet 0/0/0.20090002 {
/* Refcount: 1 */
description [FE9S4530MUT1.2009] WDC;
encapsulation {
dot1Q {
/* Refcount: 1 */
vlan-id 2009;
/* Refcount: 1 */
second-dot1q 2;
}
}
vrf {
/* Refcount: 1 */
forwarding WINCLINT;
}
ip {
address {
primary {
/* Refcount: 1 */
address 10.162.53.149;
/* Refcount: 1 */
mask 255.255.255.252;
}
}
/* Refcount: 1 */
unreachables false;
/* Refcount: 1 */
proxy-arp false;
}
service-policy {
/* Refcount: 1 */
output PHB-shape-20000-pe;
}
}

 

Any idea of what could be wrong with my procedure ?

 

Many thanks in advance for your help.

 

Benoit

2 Replies 2

gschudel
Cisco Employee
Cisco Employee

Did the sub-interface exist (in the device) prior to the service model adding its code to this sub-interface? Or did the service actually create the subinterface as part of its tasks. I think the questions is what is NSO expecting to do when you delete the service instance.

Jan Lindblad
Cisco Employee
Cisco Employee

The key to your problem is what you wrote:


I tried to reconcile with the flag { discard-non-service-config } but then it deletes all other services (not yet reconciliated).

Each time you reconcile, NSO will see that there are other users of this interface, and hence keep the refcount one higher than you want. If you are sure you have reconciled all services except one, you can reconcile with discard, so that the last service understands that it should be a shared (vs unowned) asset. You can combine this with the no-networking flag to ensure no changes to the running network are made.