blob: 1fdb2aaa707b52e6069a3ffb93112bae8526bae7 [file] [log] [blame]
Gary Wue4a2df82018-11-29 12:49:09 -08001.. _docs_vfw:
2
mrichommee4643892020-11-30 18:31:29 +01003:orphan:
4
Marco Plataniae5064cd2018-11-28 15:33:47 -05005vFirewall Use Case
6------------------
7
8Source files
9~~~~~~~~~~~~
10
mrichommeaa961842019-10-15 11:34:19 +020011- 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
Marco Plataniae5064cd2018-11-28 15:33:47 -050013
mrichommeaa961842019-10-15 11:34:19 +020014- 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
Marco Plataniae5064cd2018-11-28 15:33:47 -050016
stark, steven6a507a42019-04-24 12:04:41 -070017VVP Report
18~~~~~~~~~~
19
20:download:`vFWCL/vPKG report <files/vFWCL_vPKG_report.json>`
21
22:download:`vFWCL/vFWSNK report <files/vFWCL_vFWSNK_report.json>`
Marco Plataniae5064cd2018-11-28 15:33:47 -050023
24Description
25~~~~~~~~~~~
26
mrichommeaa961842019-10-15 11:34:19 +020027The use case, introduced in Amsterdam version, is composed of three virtual
28functions (VFs): packet generator, firewall, and traffic sink.
29These VFs run in three separate VMs. The packet generator sends packets to the
30packet sink through the firewall.
31The firewall reports the volume of traffic passing though to the ONAP DCAE
32collector. To check the traffic volume that lands at the sink VM, you can access
mrichommea958b982020-04-13 18:46:35 +020033the link <http://SINK_IP_ADDRESS:667> through your browser and enable automatic page
mrichommeaa961842019-10-15 11:34:19 +020034refresh by clicking the "Off" button. You can see the traffic volume in the charts.
Marco Plataniae5064cd2018-11-28 15:33:47 -050035
mrichommeaa961842019-10-15 11:34:19 +020036The packet generator includes a script that periodically generates different
37volumes of traffic. The closed-loop policy has been configured to re-adjust the
38traffic volume when high-water or low-water marks are crossed.
Marco Plataniae5064cd2018-11-28 15:33:47 -050039
mrichommeaa961842019-10-15 11:34:19 +020040Since Casablanca, we have used a vFWCL service tag for this testing instead of
41the vFW service tag. vFW servic tag is a regression for onboard and
42instantiation of a single VNF service (all three VMs in the same VNF) where as the
Gary Wu9da1b692019-06-17 22:36:04 -070043vFWCL is a two VNF service (vFW+ vSNK and separeate vPKG)
Brian Freeman8aeeef82019-06-17 10:07:36 -050044
mrichommeaa961842019-10-15 11:34:19 +020045./demo-k8s.sh onap instantiateVFWCL can be used to onboard and instantiate a
46vFWCL via robot scripts or follow the procedure to use the GUI that is available
47in the documentation.
Brian Freeman8aeeef82019-06-17 10:07:36 -050048
Marco Plataniae5064cd2018-11-28 15:33:47 -050049
50Closed-Loop for vFirewall Use Case
51~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
52
mrichommeaa961842019-10-15 11:34:19 +020053Through the ONAP Portal's Policy Portal, we can find the configuration and
54operation policies that are currently enabled for the vFirewall use case:
Marco Plataniae5064cd2018-11-28 15:33:47 -050055
mrichommeaa961842019-10-15 11:34:19 +020056- 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.
Gary Wu9da1b692019-06-17 22:36:04 -070064- APPC sends a request to the packet generator to adjust the traffic volume.
mrichommea958b982020-04-13 18:46:35 +020065- Changes to the traffic volume can be observed through the link <http://SINK_IP_ADDRESS:667>.
Marco Plataniae5064cd2018-11-28 15:33:47 -050066
67
68Adjust packet generator
69~~~~~~~~~~~~~~~~~~~~~~~
70
mrichommeaa961842019-10-15 11:34:19 +020071The packet generator contains 10 streams: fw_udp1, fw_udp2, fw_udp3, ..., fw_udp10.
72Each stream generates 100 packets per 10 seconds.
73A script in /opt/run_traffic_fw_demo.sh on the packet generator VM starts
74automatically and alternates high traffic (i.e. 10 active streams at the same
75time) and low traffic (1 active stream) every 5 minutes.
Marco Plataniae5064cd2018-11-28 15:33:47 -050076
mrichommeaa961842019-10-15 11:34:19 +020077To adjust the traffic volume produced by the packet generator, run the following
78command 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:
Marco Plataniae5064cd2018-11-28 15:33:47 -050080
81::
82
Marco Platania9442f8f2019-06-17 09:12:21 -040083 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
Marco Plataniae5064cd2018-11-28 15:33:47 -050094
95The command above enables 5 streams.
96
Marco Plataniae5064cd2018-11-28 15:33:47 -050097Running the Use Case
98~~~~~~~~~~~~~~~~~~~~
Brian Freeman8aeeef82019-06-17 10:07:36 -050099
mrichommeaa961842019-10-15 11:34:19 +0200100Users can run the use case using the automated Robot Framework or manually.
101For using the Robot Framework in an ONAP instance installed with OOM, users have
102to ssh to the Rancher VM and run the following command:
Marco Plataniae5064cd2018-11-28 15:33:47 -0500103
104::
105
106 bash oom/kubernetes/robot/demo-k8s.sh <namespace> vfwclosedloop <pgn-ip-address>
107
mrichommeaa961842019-10-15 11:34:19 +0200108The script sets the packet generator to high and low rates, and checks whether
109the policy kicks in to modulate the rates back to medium.
110At the end of the test , robot sets the streams back to Medium so that it is
111setup for the next test.
Marco Plataniae5064cd2018-11-28 15:33:47 -0500112
mrichommeaa961842019-10-15 11:34:19 +0200113For documentation about running the use case manually for previous releases,
mrichommee4643892020-11-30 18:31:29 +0100114please 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>`_
Marco Plataniae5064cd2018-11-28 15:33:47 -0500116
mrichommeaa961842019-10-15 11:34:19 +0200117Although videos are still valid, users are encouraged to use the Heat templates
118linked at the top of this page rather than the old Heat templates in that wiki page.
Marco Plataniae5064cd2018-11-28 15:33:47 -0500119
120Known issues and resolution
121~~~~~~~~~~~~~~~~~~~~~~~~~~~
Brian Freeman8aeeef82019-06-17 10:07:36 -0500122
mrichommeaa961842019-10-15 11:34:19 +0200123The packet generator may become unresponsive to external inputs like changing
124the number of active streams.
125To solve the problem, reboot the packet generator VM.
126
127Policy can lock the target VNF if there are too many failed attempts due to
128mis-configuration etc.
129Set the streams to medium and wait 30 minutes or so and the lock in policy will
130expire. Monitoring the DMaaP topic for DCAE_CL_OUTPUT can be used to confirm
131that no TCA events are coming in from the VNF through VES/TCA.
Brian Freeman8aeeef82019-06-17 10:07:36 -0500132
133::
mrichommea958b982020-04-13 18:46:35 +0200134 http://K8S_HOST:30227/events/unauthenticated.DCAE_CL_OUTPUT/g1/c3?timeout=5000
mrichommeaa961842019-10-15 11:34:19 +0200135
136+-------------+------------+
137| JIRA ID | Status |
138+=============+============+
139| POLICY-2109 | Closed |
140+-------------+------------+
141| INT-1272 | Closed |
142+-------------+------------+