From 0f29c1c861538c19fd8550610ecb6cd41d16cdbc Mon Sep 17 00:00:00 2001 From: JakobKrieg Date: Thu, 1 Oct 2020 14:00:40 +0200 Subject: [PATCH] PNF Simulator Guide: Init version without Postman Issue-ID: CCSDK-2848 Change-Id: I15b5d38cf6c412b5fbee4a94565de13c57b11e15 Signed-off-by: JakobKrieg --- docs/usecases/pnf-simulator-demo-cba.zip | Bin 0 -> 31920 bytes docs/usecases/pnf-simulator.rst | 632 +++++++++++++++++++++++++++++++ docs/usecases/use-cases.rst | 3 +- 3 files changed, 634 insertions(+), 1 deletion(-) create mode 100644 docs/usecases/pnf-simulator-demo-cba.zip create mode 100644 docs/usecases/pnf-simulator.rst diff --git a/docs/usecases/pnf-simulator-demo-cba.zip b/docs/usecases/pnf-simulator-demo-cba.zip new file mode 100644 index 0000000000000000000000000000000000000000..08ee91b763101650cb92821b6ad02a5575ccc75d GIT binary patch literal 31920 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 + + + 1 + true + + + + + Execute the following command within netopeer docker container to install the pg.yang model + + .. code-block:: sh + + sysrepoctl -v3 -i pg.yang + + .. note:: + This command will just schedule the installation, it will be applied once the server is restarted. + + Stop the container from outside with ``docker stop netopeer2`` and start it again with ``docker start netopeer2`` + + Enter the container like it's mentioned above with ``docker exec -it netopeer2 bin/bash``. + + You can check all installed modules with ``sysrepoctl -l``. `sample-plugin` module should appear with ``I`` flag. + + Execute the following the commands to initialise the Yang model with one pg-stream record. + We will be using CDS to perform the day-1 configuration and day-2 configuration changes. + + .. code-block:: sh + + netopeer2-cli + > connect --host localhost --login root + # passwort is root + > get --filter-xpath /sample-plugin:* + # shows existing pg-stream records (empty) + > edit-config --target running --config=/etc/sysrepo/yang/pg-data.xml + # initialises Yang model with one pg-stream record + > get --filter-xpath /sample-plugin:* + # shows initialised pg-stream + + If the output of the last command is like this, everything went successful: + + .. code-block:: sh + + DATA + + + + 1 + true + + + + + + .. tab:: sysrepo/sysrepo-netopeer2 (legacy) + + Download and run docker container with ``docker run -d --name netopeer2 -p 830:830 -p 6513:6513 sysrepo/sysrepo-netopeer2:legacy`` + + Enter the container with ``docker exec -it netopeer2 bin/bash`` + + Browse to the target location where all YANG modules exist: ``cd /opt/dev/sysrepo/yang`` + + Create a simple mock YANG model for a packet generator (pg.yang). + + .. code-block:: sh + :caption: **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; + } + } + } + } + } + + Create the following sample XML data definition for the above model (pg-data.xml). + Later on this will initialise one single PG (packet-generator) stream. + + .. code-block:: sh + :caption: **pg-data.xml** + + + + + 1 + true + + + + + Execute the following command within netopeer docker container to install the pg.yang model + + .. code-block:: sh + + sysrepoctl -i -g pg.yang + + You can check all installed modules with ``sysrepoctl -l``. `sample-plugin` module should appear with ``I`` flag. + + In legacy version of `sysrepo/sysrepo-netopeer2` subscribers of a module are required, otherwise they are not + running and configurations changes are not accepted, see https://github.com/sysrepo/sysrepo/issues/1395. There is + an predefined application mock up which can be used for that. The usage is described + `https://github.com/sysrepo/sysrepo/issues/1395 `_. You need to run the following + commands to start the example application for subscribing to sample-plugin Yang module. + + .. code-block:: sh + + cd /opt/dev/sysrepo/build/examples + ./application_example sample-plugin + + Following output should appear: + + .. code-block:: sh + + ========== STARTUP CONFIG sample-plugin APPLIED AS RUNNING ========== + + ========== CONFIG HAS CHANGED, CURRENT RUNNING CONFIG sample-plugin: ========== + + /sample-plugin:sample-plugin (container) + /sample-plugin:sample-plugin/pg-streams (container) + /sample-plugin:sample-plugin/pg-streams/pg-stream[id='1'] (list instance) + /sample-plugin:sample-plugin/pg-streams/pg-stream[id='1']/id = 1 + /sample-plugin:sample-plugin/pg-streams/pg-stream[id='1']/is-enabled = true + + The terminal session needs to be kept open after application has started. + + Open a new terminal and enter the container with ``docker exec -it netopeer2 bin/bash``. + Execute the following commands in the container to initialise the Yang model with one pg-stream record. + We will be using CDS to perform the day-1 configuration and day-2 configuration changes. + + .. code-block:: sh + + netopeer2-cli + > connect --host localhost --login netconf + # passwort is netconf + > get --filter-xpath /sample-plugin:* + # shows existing pg-stream records (empty) + > edit-config --target running --config=/opt/dev/sysrepo/yang/pg-data.xml + # initialises Yang model with one pg-stream record + > get --filter-xpath /sample-plugin:* + # shows initialised pg-stream + + If the output of the last command is like this, everything went successful: + + .. code-block:: sh + + DATA + + + + 1 + true + + + + + .. tab:: PNF simulator integration project + + .. warning:: + This method of setting up the PNF simulator is not tested by the author of this guide + + You can refer to `PnP PNF Simulator wiki page `_ + to clone the GIT repo and start the required docker containers. We are interested in the + `sysrepo/sysrepo-netopeer2` docker container to load a simple YANG similar to vFW Packet Generator. + + Start PNF simulator docker containers. You can consider changing the netopeer image verion to image: + `sysrepo/sysrepo-netopeer2:iop` in docker-compose.yml file If you find any issues with the default image. + + .. code-block:: sh + + cd $HOME + + git clone https://github.com/onap/integration.git + + Start PNF simulator + + cd ~/integration/test/mocks/pnfsimulator + + ./simulator.sh start + + Verify that you have netopeer docker container are up and running. It will be mapped to host port 830. + + .. code-block:: sh + + docker ps -a | grep netopeer + + +Config-assign and config-deploy in CDS +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +In the following steps the CBA is published in CDS, config-assignment is done and the config is deployed to to the +Netconf server through CDS in the last step. We will use this CBA: :download:`zip `. +If you want to use scripts instead of Postman the CBA also contains all necessary scripts. + +.. tabs:: + + .. tab:: Scripts + + **There will be different scripts depending on your CDS installation. For running it in an IDE always use scripts with** + **-ide.sh prefix. For running in kubernetes use the scripts with -k8s.sh ending. For IDE scripts host will be localhost** + **and port will be 8081. For K8s host ip adress gets automatically detected, port is 8000.** + + **Set up CDS:** + + Unzip the downloaded CBA and go to ``/Scripts/`` directory. + + The below script will call Bootstrap API of CDS which loads the CDS default model artifacts into CDS DB. + You should get HTTP status 200 for the below command. + + .. code-block:: sh + + bash -x ./bootstrap-cds-ide.sh + # bash -x ./bootstrap-cds-k8s.sh + + Call ``bash -x ./get-cds-blueprint-models-ide.sh`` / ``bash -x ./get-cds-blueprint-models-k8s.sh`` to get all blueprint models in the CDS database. + You will see a default model "artifactName": "vFW-CDS" which was loaded by calling bootstrap. + + Push the PNF CDS blueprint model data dictionary to CDS by calling ``bash -x ./dd-microk8s-ide.sh ./dd.json`` / + ``bash -x ./dd-microk8s-k8s.sh ./dd.json``. + This will call the data dictionary endpoint of CDS. + + Check CDS database for PNF data dictionaries by entering the DB. You should see 6 rows as shown below. + + For IDE: + + .. code-block:: sh + + sudo docker exec -it mariadb_container_id mysql -uroot -psdnctl + > USE sdnctl; + > select name, data_type from RESOURCE_DICTIONARY where updated_by='Aarna service '; + + +---------------------+-----------+ + | name | data_type | + +---------------------+-----------+ + | netconf-password | string | + | netconf-server-port | string | + | netconf-username | string | + | pnf-id | string | + | pnf-ipv4-address | string | + | stream-count | integer | + +---------------------+-----------+ + + For K8s: + + .. code-block:: sh + + ./connect-cds-mariadb-k8s.sh + + select name, data_type from RESOURCE_DICTIONARY where updated_by='Aarna service '; + + +---------------------+-----------+ + | name | data_type | + +---------------------+-----------+ + | netconf-password | string | + | netconf-server-port | string | + | netconf-username | string | + | pnf-id | string | + | pnf-ipv4-address | string | + | stream-count | integer | + +---------------------+-----------+ + + quit + + exit + + **Enrichment:** + + Move to the main folder of the CBA with ``cd ..`` and archive all folders with ``zip -r pnf-demo.zip *``. + + .. warning:: + The provided CBA is already enriched, the following steps anyhow will enrich the CBA again to show the full workflow. + For Frankfurt release this causes an issue when the configuration is deployed later on. This happens because some parameters + get deleted when enrichment is done a second time. Skip the next steps until Deploy/Save Blueprint if you use + Frankfurt release and use the CBA as it is. In future this step should fixed and executed based on an unenriched CBA. + + Enrich the blueprint through calling the following script. Take care to provide the zip file you downloader earlier. + + .. code-block:: sh + + cd Scripts + bash -x ./enrich-and-download-cds-blueprint-ide.sh ../pnf-demo.zip + # bash -x ./enrich-and-download-cds-blueprint-k8s.sh ../pnf-demo.zip + + Go to the enriched CBA folder with ``cd /tmp/CBA/`` and unzip with ``unzip pnf-demo.zip``. + + **Deploy/Save the Blueprint into CDS database** + + Go to Scripts folder with ``cd Scripts``. + + Run the following script to save/deploy the Blueprint into the CDS database. + + .. code-block:: sh + + bash -x ./save-enriched-blueprint-ide.sh ../pnf-demo.zip + # bash -x ./save-enriched-blueprint-k8s.sh ../pnf-demo.zip + + Now you should see the new model "artifactName": "pnf_netconf" by calling ``bash -x ./get-cds-blueprint-models.sh`` + + **Config-Assign** + + The assumption is that we are using the same host to run PNF NETCONF simulator as well as CDS. You will need the + IP Adress of the Netconf server container which can be found out with + ``docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_id_or_name``. In the + following examples we will use 172.17.0.2. + + Day-1 configuration: + + .. code-block:: sh + + bash -x ./create-config-assing-data-ide.sh day-1 172.17.0.2 5 + # bash -x ./create-config-assing-data-k8s.sh day-1 172.17.0.2 5 + + You can verify the day-1 NETCONF RPC payload looking into CDS DB. You should see the NETCONF RPC with 5 + streams (fw_udp_1 TO fw_udp_5). Connect to the DB like mentioned above an run following statement. + + .. code-block:: sh + + MariaDB [sdnctl]> select * from TEMPLATE_RESOLUTION where resolution_key='day-1' AND artifact_name='netconfrpc'; + + + + + + + + + + + fw_udp_1 + true + + + fw_udp_2 + true + + + fw_udp_3 + true + + + fw_udp_4 + true + + + fw_udp_5 + true + + + + + + + + Create PNF configuration for resolution-key = day-2 (stream-count = 10). + You can verify the CURL command JSON pay load file /tmp/day-n-pnf-config.json + + .. code-block:: sh + + bash -x ./create-config-assing-data-ide.sh day-2 172.17.0.2 10 + # bash -x ./create-config-assing-data-k8s.sh day-2 172.17.0.2 10 + + You can verify the day-2 NETCONF RPC payload looking into CDS DB. You should see the NETCONF RPC with 10 + streams (fw_udp_1 TO fw_udp_10). Connect to the DB like mentioned above and run following statement. + + .. code-block:: sh + + MariaDB [sdnctl]> select * from TEMPLATE_RESOLUTION where resolution_key='day-2' AND artifact_name='netconfrpc'; + + + + + + + + + + + fw_udp_1 + true + + + fw_udp_2 + true + + + fw_udp_3 + true + + + fw_udp_4 + true + + + fw_udp_5 + true + + + fw_udp_6 + true + + + fw_udp_7 + true + + + fw_udp_8 + true + + + fw_udp_9 + true + + + fw_udp_10 + true + + + + + + + + .. note:: + Till this point CDS did not interact with the PNF simulator or device. We just created the day-1 and day-2 + configurations and stored in CDS database + + **Config-Deploy:** + + Now we will make the CDS REST API calls to push the day-1 and day-2 configuration changes to the PNF simulator. + + If you run CDS in Kubernetes open a new terminal and keep it running with ``bash -x ./tail-cds-bp-log.sh``, + we can use it to review the config-deploy actions. If you run CDS in an IDE you can have a look into the IDE terminal. + + Following command will deploy day-1 configuration. + Syntax is ``# bash -x ./process-config-deploy.sh RESOLUTION_KEY PNF_IP_ADDRESS`` + + .. code-block:: sh + + bash -x ./process-config-deploy-ide.sh day-1 127.17.0.2 + # bash -x ./process-config-deploy-k8s.sh day-1 127.17.0.2 + + Go back to PNF netopeer cli console and verify if you can see 5 streams fw_udp_1 to fw_udp_5 enabled + + .. code-block:: sh + + > get --filter-xpath /sample-plugin:* + DATA + + + + 1 + true + + + fw_udp_1 + true + + + fw_udp_2 + true + + + fw_udp_3 + true + + + fw_udp_4 + true + + + fw_udp_5 + true + + + + > + + The same can be done for day-2 config (follow same steps just with day-2 configuration) + + .. note:: + Through deployment we did not deploy the PNF, we just modified the PNF. The PNF could also be installed by CDS + but this is not targeted in this guide. + + .. tab:: Postman diff --git a/docs/usecases/use-cases.rst b/docs/usecases/use-cases.rst index 282f6a600..d1449b70f 100644 --- a/docs/usecases/use-cases.rst +++ b/docs/usecases/use-cases.rst @@ -9,4 +9,5 @@ Use Cases :caption: Table of Contents :maxdepth: 1 - wordpress-cnf-poc \ No newline at end of file + wordpress-cnf-poc + pnf-simulator \ No newline at end of file -- 2.16.6