Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Create a simple packet generator YANG model (pg.yang)


module sample-plugin {

yang-version 1;
namespace "urn:opendaylight:params:xml:ns:yang:sample-plugin";
prefix "sample-plugin";

description
"This YANG module defines the generic configuration and
operational data for sample-plugin in VPP";

revision "2016-09-18" {
description "Initial revision of sample-plugin model";
}

container sample-plugin {
uses sample-plugin-params;
description "Configuration data of sample-plugin in Honeycomb";

// READ
// curl -u admin:admin http://localhost:8181/restconf/config/sample-plugin:sample-plugin

// WRITE
// curl http://localhost:8181/restconf/operational/sample-plugin:sample-plugin

}

grouping sample-plugin-params {
container pg-streams {
list pg-stream {

key id;
leaf id {
type string;
}

leaf is-enabled {
type boolean;
}
}
}
}
}

  • Sample XML data definition for the above model to initialise one single PG stream (pg-data.xml)

<sample-plugin xmlns="urn:opendaylight:params:xml:ns:yang:sample-plugin">
<pg-streams>
<pg-stream>
<id>1</id>
<is-enabled>true</is-enabled>
</pg-stream>
</pg-streams>
</sample-plugin>


  • Copy the above two files into netopeer docker container (pg.yang & pg-data.xml) under /etc/sysrepo/data folder


  • Execute the following command within netopeer docker container to install the pg.yang model

sysrepoctl -i -g /etc/sysrepo/yang/pg.yang


  • Connect to netopeer docker container and execute the following commands to initialise the pg.yang model

cd /opt/dev/Netopeer2/cli/build
./netopeer2-cli
> connect --host localhost --login netconf
> edit-config --target running --config=/dev-models/pg-data.xml
> get --filter-xpath /sample-plugin:*

> quit

exit

  • Now create a simple CDS blue print to update the number of streams using NETCONF. 


  • The assumption is all the below parameters for config-assign will sent as part of config-assing REST call

              Day-0 : config-assign parameters

                            netconf-server-ip, netconf-server-port, netconf-username, netconf-password, pg-stream-count

              Day-1 : config-assign parameters

                            netconf-server-ip, netconf-server-port, netconf-username, netconf-password, pg-stream-count


  • config-deploy request will send the Day-0 or Day-1 resolution key as part of the REST call.

            "resolution-key" : "day-1"    (OR)  "resolution-key" : "day-2"


  • config-deploy should retrieve the Day-1 or Day-2 configuration based on the resolution-key and executes the NETCONF command processor Kotlin code