cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Announcements

Community Helping Community

36
Views
0
Helpful
4
Replies
Highlighted
Cisco Employee

CDS POC - Cisco IOS Additions

We’ve got a service that produces the following configuration I want to apply to an IOS devices:

admin@ncs(config)# commit dry-run out format native Device lab03 interface Port-channel200

  switchport trunk allowed vlan 100,971,2924 exit

  interface Vlan2924

  description Acme-111

  xconnect vfi Acme-2924

  no ip address

  no shutdown

exit

  l2 vfi Acme-2924 manual

  vpn id 222

  neighbor 10.7.7.7 encapsulation mpls

  !

When I commit the transaction I get the following error:

"Aborted: Network Element Driver error ned_prepare_cli for device lab03:

command: xconnect vfi Acme-2924: VFI Acme-2924 must be configured first with a valid vpn id”

Is there a way to force NCS to produce the configuration such that the ‘l2’ section is run before the ‘Vlan’. I think the ordering of commands is why I’m getting this error.

Everyone's tags (6)
1 ACCEPTED SOLUTION

Accepted Solutions
Cisco Employee

Re: CDS POC - Cisco IOS Additions

> Yes, template-based. Xml attached. I’ve tried to re-order the XML but

> it seems the NED always re-orders it during commit.

Yes, we’re talking about (network-wide) transactions here. A transaction is a set of changes, not a sequence. This is actually one of the beauties with transactions. As a client, you don’t need to know the correct sequence, or that there is any sequencing constraint at all. The network operating system is responsible for dealing with that.

In this case, it may be that the information about the dependency is missing in the NED, so the commands are sent to the device in the wrong order. There’s nothing you can do about that in the template, the NED needs to be fixed/updated with the dependency.

Talk to the Tail-f NED team.

View solution in original post

4 REPLIES 4
Cisco Employee

Re: CDS POC - Cisco IOS Additions

Silly question perhaps but is this a template-based service? If so, can you share the .xml file? I had the impression that the order came from there.

Cisco Employee

Re: CDS POC - Cisco IOS Additions

Yes, template-based. Xml attached. I’ve tried to re-order the XML but it seems the NED always re-orders it during commit.

Cisco Employee

Re: CDS POC - Cisco IOS Additions

This is done in the NED via the following extension:

tailf:cli-diff-dependency path

Tells the 'show configuration' command, and the diff generator that this node depends on another node.

When removing the node with this declaration, it should be removed before the node it depends on is removed, ie the declaration controlls the ordering of the commands in the 'show configuration' output.

You should ask your Solutions Architect to fill-up a ticket for your customer to fix the production NED. You can also modify your lab NED to get going right away.

There are 100s of examples in the Cisco-IOS NED YANG file as dependencies and lack to atomisation is lets say ³common² in Cisco IOS.

Cisco Employee

Re: CDS POC - Cisco IOS Additions

> Yes, template-based. Xml attached. I’ve tried to re-order the XML but

> it seems the NED always re-orders it during commit.

Yes, we’re talking about (network-wide) transactions here. A transaction is a set of changes, not a sequence. This is actually one of the beauties with transactions. As a client, you don’t need to know the correct sequence, or that there is any sequencing constraint at all. The network operating system is responsible for dealing with that.

In this case, it may be that the information about the dependency is missing in the NED, so the commands are sent to the device in the wrong order. There’s nothing you can do about that in the template, the NED needs to be fixed/updated with the dependency.

Talk to the Tail-f NED team.

View solution in original post

Content for Community-Ad
FusionCharts will render here