Merge "adapt vFW, vDNS, and VOLTE to new framework"
[policy/parent.git] / docs / drools / tutorial_VOLTE.rst
1
2 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
3 .. http://creativecommons.org/licenses/by/4.0
4
5 **********************************************************
6 Tutorial: Testing the VOLTE Use Case in a standalone PDP-D
7 **********************************************************
8
9 .. contents::
10     :depth: 3
11
12 In this tutorial we will test the vDNS flow in a standalone PDP-D docker container.
13
14 Initial Setup
15 ^^^^^^^^^^^^^
16
17 It is assumed that the set up steps from section
18 *Using the Control Loop PDP-D docker image for standalone testing* has been followed for
19 this tutorial.
20
21 Running the Flow
22 ^^^^^^^^^^^^^^^^
23
24 **Step 1:** Deploy the vDNS Operational Policy.
25
26     .. code-block:: bash
27
28         cat pdp-update-volte.json
29         {
30           "policies": [
31              {
32              "type": "onap.policies.controlloop.Operational",
33              "type_version": "1.0.0",
34              "properties": {
35              "content": "controlLoop%3A%0A%20%20version%3A%202.0.0%0A%20%20controlLoopName%3A%20ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b%0A%20%20trigger_policy%3A%20unique-policy-id-1-restart%0A%20%20timeout%3A%203600%0A%20%20abatement%3A%20false%0A%0Apolicies%3A%0A%20%20-%20id%3A%20unique-policy-id-1-restart%0A%20%20%20%20name%3A%20Restart%20the%20VM%0A%20%20%20%20description%3A%0A%20%20%20%20actor%3A%20VFC%0A%20%20%20%20recipe%3A%20Restart%0A%20%20%20%20target%3A%0A%20%20%20%20%20%20type%3A%20VM%0A%20%20%20%20retry%3A%203%0A%20%20%20%20timeout%3A%201200%0A%20%20%20%20success%3A%20final_success%0A%20%20%20%20failure%3A%20final_failure%0A%20%20%20%20failure_timeout%3A%20final_failure_timeout%0A%20%20%20%20failure_retries%3A%20final_failure_retries%0A%20%20%20%20failure_exception%3A%20final_failure_exception%0A%20%20%20%20failure_guard%3A%20final_failure_guard%0A"
36              },
37              "name": "operational.volte",
38              "version": "1.0.0"
39              }
40            ],
41            "messageName": "PDP_UPDATE",
42            "requestId": "a7a32d3b-37b4-4fb7-9322-b90c6a6fe365",
43            "timestampMs": 1556125347251,
44            "name": "PDPDcl",
45            "pdpGroup": "controlloop",
46            "pdpSubgroup": "drools"
47         }
48
49         http --verify=no -a "${TELEMETRY_USER}:${TELEMETRY_PASSWORD}" PUT https://localhost:9696/policy/pdp/engine/topics/sources/noop/POLICY-PDP-PAP/events @pdp-update-volte.json Content-Type:'text/plain'
50
51         telemetry
52         > get controllers/usecases/drools/facts/usecases/controlloops
53         > get controllers/usecases/drools/facts/usecases/controlloops/ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b
54
55 **Step 2:** Inject a simulated *ONSET* message.
56
57     .. code-block:: bash
58
59         cat dcae.volte.onset.json
60         {
61             "closedLoopControlName": "ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b",
62             "closedLoopAlarmStart": 1484677482204798,
63             "closedLoopEventClient": "DCAE.HolmesInstance",
64             "closedLoopEventStatus": "ONSET",
65             "requestID": "97964e10-686e-4790-8c45-bdfa61df770f",
66             "target_type": "VM",
67             "target": "vserver.vserver-name",
68             "AAI": {
69                 "vserver.is-closed-loop-disabled": "false",
70                 "vserver.prov-status": "ACTIVE",
71                 "vserver.vserver-name": "dfw1lb01lb01",
72                 "service-instance.service-instance-id" : "vserver-name-16102016-aai3255-data-11-1",
73                 "generic-vnf.vnf-id" : "vnf-id-16102016-aai3255-data-11-1",
74                 "generic-vnf.vnf-name" : "vnf-name-16102016-aai3255-data-11-1"
75             },
76             "from": "DCAE",
77             "version": "1.0.2"
78         }
79
80         http --verify=no -a "${TELEMETRY_USER}:${TELEMETRY_PASSWORD}" PUT https://localhost:9696/policy/pdp/engine/topics/sources/noop/POLICY-PDP-PAP/events @dcae.volte.onset.json Content-Type:'text/plain'
81
82 The network log can be used to monitor the PDP-D network input/output operations.
83 This log is located at *$POLICY_LOGS/network.log*.
84 The log file will show interactions with the AAI and SO simulator to fulfill the flow.
85 Once the transaction has completed, a final success notification will be recorded in this file.
86
87 End of Document