cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2665
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 

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the NSO Developer community: