cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2673
Views
0
Helpful
3
Replies

[Best Practices] Making CFS/RFS package(Layer Service Architecture)

tony.frbezar
Level 1
Level 1

Hello Cisco Community,

 

I'm searching a solution to deploy a NSO service in CFS/RFS mode. I already did a RFS service that manage my equipment like i want. 

For creating CFS, here is the solution provided by a colleague :

- Create RFS NED by the command ncs-make-package --no-netsim --netconf-net  <myPackage>/src/yang <rfs-ned-package name>. 

- Create a new service for upper-nso with option "service-skeleton python-and-template' that will manage our rfs-service using RFS NED that we created

- Copy RFS service YANG file in our newly created service, and convert leafref type in string.

- Manage XML template in order to configure RFS Service in lower-nso by just copying all the variable from CFS to RFS.

 

Example : (vars in red below)

<config-template xmlns="http://tail-f.com/ns/config/1.0">
  <devices xmlns="http://tail-f.com/ns/ncs">
    <device>
      <name>{$RFSNODE}</name>
      <config>
       <myrfsservice>
         <ipAddress>{/ipAddress}</ipAddress>
         <mask>{/mask}</mask>
          ....
        </myrfsservice>
      </config>
    </device>
  </devices>
</config-template>

I have no problem with this solution, cause it works well when the configuration is OK.

 

I 'm just a bit curious cause i saw an option --lsa by typing "ncs-make-package --help" command  (in red below) that could make apparently LSA packages:

 

nso@nso:~$ ncs-make-package --help 
Usage: ncs-make-package [options] package-name

  ncs-make-package --netconf-ned DIR package-name
  ncs-make-package --snmp-ned DIR package-name

[...]

  LSA PACKAGES

  ncs-make-package --lsa PATH base-name
  ncs-make-package --lsa-upper PATH base-name
  ncs-make-package --lsa-lower PATH TYPE base-name

    Where PATH is the path of a YANG file.

    For LSA packages the resulting name of the package will be:
      --lsa:       <base-name>
      --lsa-upper: lsa-upper-<base-name>
      --lsa-lower: lsa-lower-<base-name>

    For LSA packages the name used in the YANG data model will be:
      --lsa:        <base-name>
      --lsa-upper:  lsa-<base-name>
      --lsa-lower:  lsa-<base-name>

See manpage for ncs-make-package(1) for more info.

What's this option stand for ? Could it be useful for making CFS/RFS services ? Is anyone have a case example of using this command ?

 

Thank you,

 

Regards,

1 Accepted Solution

Accepted Solutions

uavsec001
Level 1
Level 1

Hey,

the lsa commands are just slightly tweaked netconf-ned and service-skeleton commands to serve the lsa idea.

lsa - your CFS <- this is where you will also have to place your dispatch logic in

lsa-upper - NED your colegue told you about

lsa-lower - your RFS

 

You don't necessarily need to use these commands... you will get by with the old netconf-ned, service-skeleton commands as well, however they are there so it is dead obvious what you can pick when doing LSA.

View solution in original post

3 Replies 3

uavsec001
Level 1
Level 1

Hey,

first lsa option is basically a CFS package template. This is also where you will place your dispatch logic ( basically some sort of mapping between device names and RFN names so that CFS knows where to send the service).

lsa-upper is the ned that your colleague told you about.

lsa-lower is basically a RFS package.

 

These commands basically just generate tweaked package skeletons for your standard netconf ned and service packages to fit lsa idea as far as I understand. That doesn't mean you necessary have to use them if you want to do LSA.

uavsec001
Level 1
Level 1

Hey,

the lsa commands are just slightly tweaked netconf-ned and service-skeleton commands to serve the lsa idea.

lsa - your CFS <- this is where you will also have to place your dispatch logic in

lsa-upper - NED your colegue told you about

lsa-lower - your RFS

 

You don't necessarily need to use these commands... you will get by with the old netconf-ned, service-skeleton commands as well, however they are there so it is dead obvious what you can pick when doing LSA.

rohitspostowl
Level 1
Level 1

what package are u referring here:  <myPackage>/src/yang