Standard defined schema files in VES Collector
[integration.git] / docs / docs_vfw.rst
1 .. _docs_vfw:
2
3 :orphan:
4
5 vFirewall Use Case
6 ------------------
7
8 Source files
9 ~~~~~~~~~~~~
10
11 - vFirewall/vSink template file: https://git.onap.org/demo/tree/heat/vFWCL/vFWSNK/base_vfw.yaml?h=elalto
12 - vFirewall/vSink environment file: https://git.onap.org/demo/tree/heat/vFWCL/vFWSNK/base_vfw.env?h=elalto
13
14 - vPacketGenerator template file: https://git.onap.org/demo/tree/heat/vFWCL/vPKG/base_vpkg.env?h=elalto
15 - vPacketGenerator environment file: https://git.onap.org/demo/tree/heat/vFWCL/vPKG/base_vpkg.env?h=elalto
16
17 VVP Report
18 ~~~~~~~~~~
19
20 :download:`vFWCL/vPKG report <files/vFWCL_vPKG_report.json>`
21
22 :download:`vFWCL/vFWSNK report <files/vFWCL_vFWSNK_report.json>`
23
24 Description
25 ~~~~~~~~~~~
26
27 The use case, introduced in Amsterdam version, is composed of three virtual
28 functions (VFs): packet generator, firewall, and traffic sink.
29 These VFs run in three separate VMs. The packet generator sends packets to the
30 packet sink through the firewall.
31 The firewall reports the volume of traffic passing though to the ONAP DCAE
32 collector. To check the traffic volume that lands at the sink VM, you can access
33 the link <http://SINK_IP_ADDRESS:667> through your browser and enable automatic page
34 refresh by clicking the "Off" button. You can see the traffic volume in the charts.
35
36 The packet generator includes a script that periodically generates different
37 volumes of traffic. The closed-loop policy has been configured to re-adjust the
38 traffic volume when high-water or low-water marks are crossed.
39
40 Since Casablanca, we have used a vFWCL service tag for this testing instead of
41 the vFW service tag. vFW servic tag is a regression for onboard and
42 instantiation of a single VNF service (all three VMs in the same VNF) where as the
43 vFWCL is a two VNF service (vFW+ vSNK and separeate vPKG)
44
45 ./demo-k8s.sh onap instantiateVFWCL can be used to onboard and instantiate a
46 vFWCL via robot scripts or follow the procedure to use the GUI that is available
47 in the documentation.
48
49
50 Closed-Loop for vFirewall Use Case
51 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
52
53 Through the ONAP Portal's Policy Portal, we can find the configuration and
54 operation policies that are currently enabled for the vFirewall use case:
55
56 - The configuration policy sets the thresholds for generating an onset event
57   from DCAE to the Policy engine. Currently, the high-water mark is set to 700
58   packets while the low-water mark is set to 300 packets.
59   The measurement interval is set to 10 seconds.
60 - When a threshold is crossed (i.e. the number of received packets is below 300
61   packets or above 700 packets per 10 seconds), the Policy engine executes the
62   operational policy to request APPC to adjust the traffic volume to 500 packets
63   per 10 seconds.
64 - APPC sends a request to the packet generator to adjust the traffic volume.
65 - Changes to the traffic volume can be observed through the link <http://SINK_IP_ADDRESS:667>.
66
67
68 Adjust packet generator
69 ~~~~~~~~~~~~~~~~~~~~~~~
70
71 The packet generator contains 10 streams: fw_udp1, fw_udp2, fw_udp3, ..., fw_udp10.
72 Each stream generates 100 packets per 10 seconds.
73 A script in /opt/run_traffic_fw_demo.sh on the packet generator VM starts
74 automatically and alternates high traffic (i.e. 10 active streams at the same
75 time) and low traffic (1 active stream) every 5 minutes.
76
77 To adjust the traffic volume produced by the packet generator, run the following
78 command in a shell, replacing PacketGen_IP in the HTTP argument with localhost
79 (if you run it in the packet generator VM) or the packet generator IP address:
80
81 ::
82
83   curl -X PUT \
84   https://PacketGen_IP:8445/restconf/config/stream-count:stream-count/streams \
85   -H 'Accept: application/json' \
86   -H 'Content-Type: application/json' \
87   -H 'Postman-Token: 88610924-938b-4d64-a682-0b0aabed4a6d' \
88   -H 'cache-control: no-cache' \
89   -d '{
90     "streams": {
91         "active-streams": 5
92     }}'
93
94
95 The command above enables 5 streams.
96
97 Running the Use Case
98 ~~~~~~~~~~~~~~~~~~~~
99
100 Users can run the use case using the automated Robot Framework or manually.
101 For using the Robot Framework in an ONAP instance installed with OOM, users have
102 to ssh to the Rancher VM and run the following command:
103
104 ::
105
106   bash oom/kubernetes/robot/demo-k8s.sh <namespace> vfwclosedloop <pgn-ip-address>
107
108 The script sets the packet generator to high and low rates, and checks whether
109 the policy kicks in to modulate the rates back to medium.
110 At the end of the test , robot sets the streams back to Medium so that it is
111 setup for the next test.
112
113 For documentation about running the use case manually for previous releases,
114 please look at the videos and the material available in
115 `Running the ONAP Demos wiki page <https://wiki.onap.org/display/DW/Running+the+ONAP+Demos>`_
116
117 Although videos are still valid, users are encouraged to use the Heat templates
118 linked at the top of this page rather than the old Heat templates in that wiki page.
119
120 Known issues and resolution
121 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
122
123 The packet generator may become unresponsive to external inputs like changing
124 the number of active streams.
125 To solve the problem, reboot the packet generator VM.
126
127 Policy can lock the target VNF if there are too many failed attempts due to
128 mis-configuration etc.
129 Set the streams to medium and wait 30 minutes or so and the lock in policy will
130 expire. Monitoring the DMaaP topic for DCAE_CL_OUTPUT can be used to confirm
131 that no TCA events are coming in from the VNF through VES/TCA.
132
133 ::
134    http://K8S_HOST:30227/events/unauthenticated.DCAE_CL_OUTPUT/g1/c3?timeout=5000
135
136 +-------------+------------+
137 | JIRA ID     | Status     |
138 +=============+============+
139 | POLICY-2109 | Closed     |
140 +-------------+------------+
141 | INT-1272    | Closed     |
142 +-------------+------------+