From cbc6cd1419fae404ebb1da573d45ab9634564f5b Mon Sep 17 00:00:00 2001 From: Saryu Shah Date: Wed, 8 Nov 2017 23:13:31 +0000 Subject: documentation: Tutorial VOLTE Use Case documentation for Tutorial: Testing the VOLTE Use Case in a standalone PDP-D ------------------------------------------------------------- Issue-Id: POLICY-335 Change-Id: I71b12aebabf08e996785df99ee7d73b78e3553bd Signed-off-by: Saryu Shah --- docs/platform/index.rst | 1 + docs/platform/tutorial_VOLTE.rst | 122 +++++++++++++++++++++++++++++++++++++ docs/platform/tutorial_VOLTE_1.png | Bin 0 -> 61677 bytes docs/platform/tutorial_VOLTE_2.png | Bin 0 -> 39224 bytes docs/platform/tutorial_vDNS.rst | 19 +++++- 5 files changed, 139 insertions(+), 3 deletions(-) create mode 100644 docs/platform/tutorial_VOLTE.rst create mode 100755 docs/platform/tutorial_VOLTE_1.png create mode 100755 docs/platform/tutorial_VOLTE_2.png diff --git a/docs/platform/index.rst b/docs/platform/index.rst index e805ad643..fcdfcaca4 100644 --- a/docs/platform/index.rst +++ b/docs/platform/index.rst @@ -14,4 +14,5 @@ Policy Engine Platform deployPDPPAP.rst guardpdp.rst tutorial_vDNS.rst + tutorial_VOLTE.rst diff --git a/docs/platform/tutorial_VOLTE.rst b/docs/platform/tutorial_VOLTE.rst new file mode 100644 index 000000000..3ccb02704 --- /dev/null +++ b/docs/platform/tutorial_VOLTE.rst @@ -0,0 +1,122 @@ + +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +********************************************************** +Tutorial: Testing the VOLTE Use Case in a standalone PDP-D +********************************************************** + +.. contents:: + :depth: 3 + +In this tutorial we will go over how to access and start up the PDP-D, setup the prerequisites for the VOLTE flow, enable/disable the VFC Simulator that will be used in the VOLTE flow, and inject messages to trigger the VOLTE flow. + +Accessing and starting the PDP-D +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The first step is to access the docker container of name *drools*. + + .. code-block:: bash + + docker exec -it -u 0 drools su - policy + +The PDP-D software is installed under the *policy* account, the policy root directory is under *${POLICY_HOME}* environment variable and it may be changed on a per installation basis. It is typically set up under the */opt/app/policy* directory but can be changed during installation. All PDP-D software runs with non-root privileges as *policy* is a regular user account. + +Once within the drools container, the running status can be observed by using the *policy* command: + + .. code-block:: bash + + policy [--debug] status|start|stop + +The running status of the PDP-D can be observed with *policy status* + + .. code-block:: bash + + policy@drools:~$ policy status [drools-pdp-controllers] L []: Policy Management (pid 1500) is running 1 cron jobs installed. + + +Prerequisites for the VOLTE flow +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +In order to trigger the VOLTE flow we will need to inject an ONSET message via curl command. We're going to create a temporary *util* directory to store a file that contains the VOLTE ONSET message. + +Navigate to */tmp* and create directory *util*. *util* is just a temporary folder we've created to use as our 'workspace'. + + .. code-block:: bash + + cd /tmp + mkdir util + + +Next, we're going to create a file named *dcae.volte.onset.json* and edit it to paste the VOLTE ONSET message contents. + + .. code-block:: bash + + touch dcae.volte.onset.json + vi dcae.volte.onset.json + +Here are the contents of the VOLTE ONSET message. Copy/paste this into dcae.volte.onset.json: + + .. code-block:: json + + { + "closedLoopEventClient": "DCAE.HolmesInstance", + "policyVersion": "1.0.0.5", + "policyName": "vVOLTE", + "policyScope": "resource=volte,service=VolteSErvice,type=SampleType,closedLoopControlName=CL-VOLTE-SIG-d925ed73-8231-4d02-9545-db4e101f88f8", + "target_type": "VM", + "AAI": { + "vserver.vserver-name": "dfw1lb01lb01", + "service-instance.service-instance-id" : "TBD", + "generic-vnf.vnf-id" : "TBD", + "generic-vnf.vnf-name" : "TBD" + }, + "closedLoopAlarmStart": 1484677482204798, + "closedLoopEventStatus": "ONSET", + "closedLoopControlName": "ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b", + "version": "1.0.2", + "target": "vserver.vserver-name", + "requestID": "97964e10-686e-4790-8c45-bdfa61df770f", + "from": "DCAE" + } + + +Enabling the VFC Simulator +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Enabling the *controlloop-utils* feature will enable the simulators. To do this, simply stop the drools pdp, enable the feature, and restart the drools pdp like so: + + .. code-block:: bash + + policy stop + features enable controlloop-utils + policy start + +Now, in */opt/app/policy/config/* directory, you should see a new properties file named *simulators.properties.environment*. In here you will find the credentials for the VFC simulator. + +Injecting an ONSET to trigger the VOLTE Flow +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +We are now ready to inject an ONSET message to trigger the VOLTE flow. Simply navigate back to the directory *dcae.volte.onset.json* file is saved (i.e. cd /tmp/util) and run this curl command: + + .. code-block:: bash + + http -a @1b3rt:31nst31n PUT :9696/policy/pdp/engine/topics/sources/ueb/unauthenticated.DCAE_CL_OUTPUT/events @dcae.volte.onset.json Content-Type:"text/plain" + +You should see some output similar to this: + +.. image:: tutorial_VOLTE_1.png + +You can view the logs to see the network activity or find any errors that may have occurred. Logs are located in */opt/app/policy/logs*. + +Reading the logs +^^^^^^^^^^^^^^^^ + +Once you've injected the onset message, this should appear in the network.log: + +.. image:: tutorial_VOLTE_2.png + + +End of Document + +.. SSNote: Wiki page ref. https://wiki.onap.org/display/DW/Tutorial%3A+Testing+the+VOLTE+Use+Case+in+a+standalone+PDP-D diff --git a/docs/platform/tutorial_VOLTE_1.png b/docs/platform/tutorial_VOLTE_1.png new file mode 100755 index 000000000..d65e24339 Binary files /dev/null and b/docs/platform/tutorial_VOLTE_1.png differ diff --git a/docs/platform/tutorial_VOLTE_2.png b/docs/platform/tutorial_VOLTE_2.png new file mode 100755 index 000000000..689c79f5b Binary files /dev/null and b/docs/platform/tutorial_VOLTE_2.png differ diff --git a/docs/platform/tutorial_vDNS.rst b/docs/platform/tutorial_vDNS.rst index d9a2b6d5c..5e864a8a2 100644 --- a/docs/platform/tutorial_vDNS.rst +++ b/docs/platform/tutorial_vDNS.rst @@ -53,13 +53,26 @@ Next, we're going to create a file named *dcae.vdns.onset.json* and edit it to p .. code-block:: bash touch dcae.vdns.onset.json - vi dcae.vdns.onset json + vi dcae.vdns.onset.json Here are the contents of the vDNS ONSET message. Copy/paste this into dcae.vdns.onset.json: - .. code-block:: bash + .. code-block:: json - { "closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca", "target_type": "VNF", "AAI": { "vserver.vserver-name": "vlb-lb-32c8", "vserver.is-closed-loop-disabled": "false" }, "closedLoopAlarmStart": 1484677482204798, "closedLoopEventStatus": "ONSET", "closedLoopControlName": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3", "version": "1.0.2", "target": "vserver.vserver-name", "requestID": "99999999-686e-4790-8c45-bdfa61df770f", "from": "DCAE" } + { "closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca", + "target_type": "VNF", + "AAI": { + "vserver.vserver-name": "vlb-lb-32c8", + "vserver.is-closed-loop-disabled": "false" + }, + "closedLoopAlarmStart": 1484677482204798, + "closedLoopEventStatus": "ONSET", + "closedLoopControlName": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3", + "version": "1.0.2", + "target": "vserver.vserver-name", + "requestID": "99999999-686e-4790-8c45-bdfa61df770f", + "from": "DCAE" + } Enabling the AAI and SO Simulators -- cgit 1.2.3-korg