cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
355
Views
0
Helpful
3
Replies
Highlighted
Cisco Employee

Define a order in Service Template commands

 

Dear experts,

 

 

I’m experiencing problem regarding order definition of commands to be executed on the target device (driven by template file).

 

 

to configure MPLS Traffing Engineering (this problem could be easily found under other features like ‘ipv6 unicast routing’ and so on….) under IOS is my priority place a global command mpls traffic-eng tunnels before starting configure TE directives under interfaces to avoid a warning command

 

 

R14(config)#int GigabitEthernet0/1.614

 

R14(config-subif)#mpls traffic-eng tunnels

 

LSP tunnels are not enabled on this router.

 

 

warning because the command is actually accepted

 

 

interface GigabitEthernet0/1.614

 

encapsulation dot1Q 614

 

ip address 10.6.14.14 255.255.255.0

 

ip router isis

 

mpls traffic-eng tunnels                           <<<<

 

mpls ip

 

isis network point-to-point

 

end

 

 

R14#sh run | i  mpls traffic-eng tunnels

 

mpls traffic-eng tunnels                           <<<<

 

R14#conf t

 

Enter configuration commands, one per line.  End with CNTL/Z.

 

R14(config)#interface GigabitEthernet0/1.614

 

R14(config-subif)#no  mpls traffic-eng tunnels

 

                          

 

when I defined the service template file I placed xml directive on the top of the file

 

 

<config-template xmlns="http://tail-f.com/ns/config/1.0"

 

                 servicepoint="te">

 

  <devices xmlns="http://tail-f.com/ns/ncs">

 

  <device>

 

    <name>{/device}</name>

 

      <config>

 

      <mpls xmlns="urn:ios">                                      <<<<<

 

        <traffic-eng>                                             <<<<<

 

          <tunnels/>                                              <<<<<

 

        </traffic-eng>                                                    <<<<<

 

      </mpls>                                                     <<<<<

 

      <interface xmlns="urn:ios">

 

         <GigabitEthernet xmlns="urn:ios">

 

           <name>{/interfaces/cisco_ios/mod-ge}</name>

 

        <mpls>

 

          <traffic-eng>

 

            <tunnels/>

 

          </traffic-eng>

 

        </mpls>

 

        <ip>

 

          <rsvp>
...

 

 

after recompilation and pkgs reload ops I populate my service data and try a commit DR native

 

 

admin@ncs(config)# services te dev-R14

 

admin@ncs(config-te-dev-R14)# topological-protocol-info protocol isis cisco_ios Loopback 0

 

admin@ncs(config-te-dev-R14)# interfaces 2 cisco_ios int GigabitEthernet mod-ge 0/1.114

 

admin@ncs(config-interfaces-2)# interfaces 3 cisco_ios int GigabitEthernet mod-ge 0/1.614

 

admin@ncs(config-interfaces-3)#

 

admin@ncs(config-interfaces-3)#

 

admin@ncs(config-interfaces-3)# commit dry-run outformat native

 

native {

 

    device {

 

        name dev-R14

 

        data interface GigabitEthernet0/1.114

 

              mpls traffic-eng tunnels

 

              ip rsvp bandwidth 10000

 

             exit

 

             interface GigabitEthernet0/1.614

 

              mpls traffic-eng tunnels

 

              ip rsvp bandwidth 10000

 

             exit

 

             mpls traffic-eng tunnels                                     <<<<<

 

             router ospf 1

 

              log-adjacency-changes

 

              mpls traffic-eng router-id Loopback0

 

              mpls traffic-eng area 0

 

              mpls traffic-eng multicast-intact

 

             !

 

             router isis

 

              mpls traffic-eng level-2

 

              mpls traffic-eng multicast-intact

 

              mpls traffic-eng router-id Loopback0

 

             !

 

    }

 

}

 

 

now, seems that the global command (placed in red) will be executed after the interface command and this lead to an error and a rollback

 

 

admin@ncs(config-interfaces-3)# commit

 

Aborted: External error in the NED implementation for device dev-R14: mpls traffic-eng tunnels:

 

LSP tunnels are not enabled on this router.

 

 

I tried to find a tag in XML to specify an order (nso_development/ch11s03s07.html suggest a similar situation but is not possible to apply them in here) with no success.

 

 

could you suggest me some tips to handle this situation?

 

 

additional data:

 

nso 4.3

 

ios neds 4.1.1

 

 

Francesco

 

3 REPLIES 3
Highlighted
Cisco Employee

 

Hi Francesco,

 

 

The order of commands within a transaction is determined by the NED. The issue you are seeing is a typical scenario where you should open a TAC case. TAC will work with the Tail-f NED team to resolve your issue.

 

                                                                                                                                                 

 

Best Regards,

 

.:|:.:|:. Michel Papiashvili

 

Highlighted
Cisco Employee

 

If this is IOS (or even IOS-XR) and you’re seeing a “warning” that is not covered by the NED, you may be able to _add_

 

 

 

Check the README file in the cisco-ios NED for details… in part:

 

 

 

  1. 4. Configure additional config warning exceptions

 

-------------------------------------------------

 

 

   After having sent a config command to the device the NED will treat

 

   any text reply as an error and abort the transaction. The config

 

   command that caused the failed transaction will be shown together

 

   with the error message returned by the device. Sometimes the text

 

   message is not an actual error. It could be a warning that should be

 

   ignored. The NED has a static list of known warnings, presently these:

 

(skip)…

 

   If you stumble upon a warning not in the list above, which is quite

 

   likely due to the large number of warnings, you can configure the

 

   NED to ignore them under ned-settings in the cisco-ios-config-warning

 

   list. The list resides in three places and you can configure a

 

   warning in any of these:

 

 

     devices device iosdev ned-settings cisco-ios-config-warning

 

     devices global-settings ned-settings cisco-ios-config-warning

 

     devices profiles profile cisco-ios ned-settings cisco-ios-config-warning

 

 

cisco-ios-config-warning is a regular expression string list of

 

   warnings that should also be ignored.

 

 

   For example, to add a new warning exception:

 

 

admin@ncs(config)# devices profiles profile cisco-ios ned-settings

 

cisco-ios-config-warning "Address .* may not be up"

 

admin@ncs(config-profile-cisco-ios)# commit

 

     Commit complete.

 

admin@ncs(config-profile-cisco-ios)# devices device iosdev disconnect

 

admin@ncs(config-profile-cisco-ios)# devices device iosdev connect

 

     result true

 

     info (admin) Connected to iosdev

 

 

   Note that in order for the warning exception to take effect, you

 

   must disconnect and connect again.

 

 

 

 

perhaps this helps - i have not tested this (for you) nor tried this myself - but did notice it as a possible feature i might need

 

 

 

cheers

 

gregg

 

Highlighted
Cisco Employee

 

Hi Gregg

 

 

it worksss!!!!

 

 

thank you very much for your time

 

 

Francesco

 

 

Content for Community-Ad
Cisco Community October 2020 Spotlight Award Winners