summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormrpa <miruna.paun@enea.com>2021-11-23 18:45:40 +0100
committermrpa <miruna.paun@enea.com>2021-11-23 18:52:54 +0100
commit462dc71338b4dce48bfcfea9b9eb0c4193d024a4 (patch)
treea79056b7a96dd52b788a776dc215dcc6196888da
parent3b9e846ec9418b0e6a48c6b6f707f8019c46eca0 (diff)
downloadnfv-access-documentation-462dc71338b4dce48bfcfea9b9eb0c4193d024a4.tar.gz
Removed the obsolete appendix files from the example usecase manual,
Updated the Automation UG, Updated the Makefile build components. USERDOCAP-733,USERDOCAP-740 Change-Id: I1c8d19a4cd496c10a982a9965793ffb19c12ab12 Signed-off-by: mrpa <miruna.paun@enea.com>
-rw-r--r--doc/book-enea-edge-automation-user-guide/doc/automation_framework_test_harness.xml210
-rw-r--r--doc/book-enea-edge-example-usecases/doc/appendix_1.xml63
-rw-r--r--doc/book-enea-edge-example-usecases/doc/appendix_2.xml326
-rw-r--r--doc/book-enea-edge-example-usecases/doc/appendix_3.xml7
-rw-r--r--doc/book-enea-edge-example-usecases/doc/appendix_4.xml104
-rw-r--r--doc/book-enea-edge-example-usecases/doc/appendix_5.xml244
-rw-r--r--doc/book-enea-edge-example-usecases/doc/book.xml4
7 files changed, 116 insertions, 842 deletions
diff --git a/doc/book-enea-edge-automation-user-guide/doc/automation_framework_test_harness.xml b/doc/book-enea-edge-automation-user-guide/doc/automation_framework_test_harness.xml
index 5cc879d..4268582 100644
--- a/doc/book-enea-edge-automation-user-guide/doc/automation_framework_test_harness.xml
+++ b/doc/book-enea-edge-automation-user-guide/doc/automation_framework_test_harness.xml
@@ -240,14 +240,11 @@
240 <emphasis role="bold">Example</emphasis>: for a more extended output, 240 <emphasis role="bold">Example</emphasis>: for a more extended output,
241 change the output from selective to debug.</para> 241 change the output from selective to debug.</para>
242 242
243 <para>The <literal>test_harness</literal> directory contains all the 243 <para>The <literal>test_harness</literal> directory contains the custom
244 implemented playbooks. This directory is structured in multiple 244 Ansible modules, located in the modules directory, and the playbooks
245 subdirectories, each subdirectory represents a functionality of the Enea 245 mapping functionalities from the Enea Edge Management application. The
246 Edge Management application. Each implemented playbook from this 246 playbooks are atomic operations that can be used in complex test
247 directory runs a method from a Python class from the 247 scenarios.</para>
248 <literal>automation_framework</literal> directory. Each playbook is an
249 atomic operation, a basic operation that need to be tested. These
250 playbooks are used in complex test scenarios.</para>
251 </section> 248 </section>
252 249
253 <section id="log_dir"> 250 <section id="log_dir">
@@ -1299,41 +1296,81 @@ Parameters(not needed): --
1299 <literal>&lt;Automation-installerdir&gt;/test_harness</literal> 1296 <literal>&lt;Automation-installerdir&gt;/test_harness</literal>
1300 directory.</para> 1297 directory.</para>
1301 1298
1299 <para>The Ansible based Test Harness represents an example of structuring
1300 the files needed for creating automated test cases using the Enea Edge
1301 Automation, and provides a way to implement them.</para>
1302
1303 <para>The <filename>ansible.cfg</filename> file contains an example of the
1304 Ansible default configuration. The default value for
1305 <literal>stdout_callback</literal> is set to <literal>selective</literal>,
1306 to print only certain tasks. It is recommended to switch to
1307 <literal>debug</literal> when a test fails. By setting the parameter
1308 <literal>any_errors_fatal</literal> to <literal>True</literal>, task
1309 failures are considered fatal errors and the play execution stops.</para>
1310
1311 <para>All the Playbooks that execute Automation Framework Python modules
1312 run on <literal>localhost</literal>. New entries have to be created for
1313 direct communication over SSH with the boards.</para>
1314
1315 <para>The <filename>setup_env.sh</filename> script sets up the
1316 <literal>testHarness</literal> test environment by creating the
1317 <literal>testHarness-venv</literal> Python virtual environment, executing
1318 requests needed by Automation Framework Python modules, and installing
1319 Ansible. The Ansible package version is 2.9.6.</para>
1320
1321 <section id="ansible_mods">
1322 <title>Ansible modules</title>
1323
1324 <para>The custom Ansible modules can be found in the
1325 <literal>test_harness/modules/</literal> directory. The Ansible modules
1326 are wrappers of Python Handlers from the
1327 <literal>automation_framework/</literal> directory. Each Ansible module
1328 has been designed to instantiate a Python handler and to run a method of
1329 it with specific parameters.</para>
1330
1331 <para>The Ansible modules are used in Ansible playbooks as:</para>
1332
1333 <programlisting>&lt;name_of_the_module&gt;:
1334 method: &lt;which method will be called&gt;
1335 &lt;param1&gt;: &lt;value_of_param1&gt;
1336 &lt;param2&gt;: &lt;value_of_param2&gt;
1337 ...
1338 &lt;paramx&gt;: &lt;value_of_paramx&gt;
1339 chdir: &lt;the path where the Ansible playbook will be run&gt;</programlisting>
1340
1341 <para>The method is a mandatory argument for all Ansible modules, the
1342 other arguments are optional. The method must exist in the
1343 <literal>&lt;name_of_the_module&gt;</literal> Ansible module. The params
1344 list (param1, param2... paramx) must have the same name as the
1345 parameters of the method, otherwise an error will occur.</para>
1346
1347 <para>For example, for adding a uCPE Device into the Enea Edge
1348 Management application from an Ansible playbook, the
1349 <filename>uCPEDeviceModule</filename> should be used as:</para>
1350
1351 <programlisting>uCPEDeviceModule:
1352 method: addDevice
1353 device_name: &lt;name_of_the device&gt;
1354 chdir: "{{ lookup('env','BASE_DIR') }}"</programlisting>
1355
1356 <para>This will call the <literal>addDevice</literal> method from the
1357 <literal>uCPEDevice</literal> class that instantiates a
1358 <literal>uCPEDeviceHandler</literal> object for the
1359 <literal>device_name</literal> uCPE Device. Afterwards, the
1360 <literal>addDevice</literal> method is called.</para>
1361
1362 <para>The list of possible parameters for all methods of an Ansible
1363 module is saved in the <filename>module_args</filename> dictionary in
1364 the Python script. The default value of all parameters is
1365 <literal>None</literal>.</para>
1366 </section>
1367
1302 <section id="indiv_ansible_playbooks"> 1368 <section id="indiv_ansible_playbooks">
1303 <title>Individual Ansible Playbooks</title> 1369 <title>Individual Ansible Playbooks</title>
1304 1370
1305 <para>The Ansible based Test Harness represents an example of
1306 structuring the files needed for creating automated test cases using the
1307 Enea Edge Automation, and provides a way to implement them.</para>
1308
1309 <para>The <filename>ansible.cfg</filename> file contains an example of
1310 the Ansible default configuration. The default value for
1311 <literal>stdout_callback</literal> is set to
1312 <literal>selective</literal>, to print only certain tasks. It is
1313 recommended to switch to <literal>debug</literal> when a test fails. By
1314 setting the parameter <literal>any_errors_fatal</literal> to
1315 <literal>True</literal>, task failures are considered fatal errors and
1316 the play execution stops.</para>
1317
1318 <para>All the Playbooks that execute Automation Framework Python modules
1319 run on <literal>localhost</literal>. New entries have to be created for
1320 direct communication over SSH with the boards.</para>
1321
1322 <para>The <filename>setup_env.sh</filename> script sets up the
1323 <literal>testHarness</literal> test environment by creating the
1324 <literal>testHarness-venv</literal> Python virtual environment,
1325 executing requests needed by Automation Framework Python modules, and
1326 installing Ansible. The Ansible package version is 2.9.6.</para>
1327
1328 <para>The <literal>test_harness</literal> directory contains all the 1371 <para>The <literal>test_harness</literal> directory contains all the
1329 implemented Ansible Playbooks. This directory contains the 1372 implemented Ansible Playbooks and many subdirectories, each subdirectory
1330 <filename>check_error.yml</filename> Playbook and many subdirectories, 1373 representing an Enea Edge Management module.</para>
1331 each subdirectory representing an Enea Edge Management module.</para>
1332
1333 <para>The <filename>check_errors.yml</filename> Playbook checks the
1334 Python output and returns success or fail results. This file is imported
1335 in all playbooks from the <literal>test_harness</literal> directory and
1336 it cannot be run standalone.</para>
1337 1374
1338 <para>According to their functionality, the Ansible Playbooks that refer 1375 <para>According to their functionality, the Ansible Playbooks that refer
1339 to offline configuration are in the <literal>OfflineConfig</literal> 1376 to offline configuration are in the <literal>OfflineConfig</literal>
@@ -1360,61 +1397,46 @@ Parameters(not needed): --
1360 1397
1361 <para><emphasis role="bold">Example</emphasis>:</para> 1398 <para><emphasis role="bold">Example</emphasis>:</para>
1362 1399
1363 <orderedlist> 1400 <para>Display the help menu for
1364 <listitem> 1401 <filename>addDataPlaneOvsBridge.yml</filename>:</para>
1365 <para>Display the help menu for 1402
1366 <filename>addDataPlaneOvsBridge.yml</filename>:</para> 1403 <programlisting>ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml
1367 1404.
1368 <programlisting>ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml 1405# fail *************************************************************
1369 1406 * localhost - FAILED!!! -------------------------
1370This playbook runs 'addDataPlaneOvsBridge' method from uCPEDeviceHandler module 1407 The 'device' and 'bridge_config_file' or 'bridge_name' and \
1371 1408'bridge_type' parameters are mandatory
1372 The Python module will be run as: 1409 Usage:
1373 1410 ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml \
1374 Usage: uCPEDeviceHandler.py [OPTIONS] [PARAMETERS]... 1411-e "device=&lt;device_name&gt; bridge_config_file=&lt;bridge_config_file&gt;"
1375 1412 ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml \
1376 Options: 1413-e "device=&lt;device_name&gt; bridge_name=&lt;bridge_name&gt; bridge_type=integration"
1377 -v, --verbose Get info about the methods and parameters 1414 ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml \
1378 -d, --device_name TEXT The uCPE Device name 1415-e "device=&lt;device_name&gt; bridge_name=&lt;bridge_name&gt; bridge_type=communication"
1379 -m, --method TEXT The atomic operation you want to run 1416 ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml \
1380 -f, --config_file TEXT The config file for NIC or bridges (optional 1417-e "device=&lt;device_name&gt; bridge_name=&lt;bridge_name&gt; \
1381 argument) 1418bridge_type=communication interfaces=&lt;interfaces&gt;"
1382 1419
1383 -o, --display_output Display output of the method 1420 Example of usage:
1384 --help Show this message and exit. 1421 ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml \
1385 1422-e "device=inteld1521-17 bridge_config_file=sfc_br.json"
1386Usage: 1423 ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml \
1387 ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml -e 1424-e "device=inteld1521-17 bridge_config_file=lan_br.json"
1388 "device=&lt;device_name&gt; bridge_config_file=&lt;bridge_config_file&gt;" 1425 ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml \
1389 ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml -e 1426-e "device=inteld1521-17 bridge_name=sfc_br bridge_type=integration"
1390 "device=&lt;device_name&gt; bridge_name=&lt;bridge_name&gt; bridge_type=integration" 1427 ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml \
1391 ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml -e 1428-e "device=inteld1521-17 bridge_name=wap_br bridge_type=communication"
1392 "device=&lt;device_name&gt; bridge_name=&lt;bridge_name&gt; bridge_type=communication" 1429 ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml \
1393 ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml -e 1430-e "device=inteld1521-17 bridge_name=lan_br \
1394 "device=&lt;device_name&gt; bridge_name=&lt;bridge_name&gt; bridge_type=communication 1431bridge_type=communication interfaces=eno4"
1395 interfaces=&lt;interfaces&gt;"</programlisting> 1432 ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml \
1396 </listitem> 1433-e "device=inteld1521-17 bridge_name=lan_br \
1397 1434bridge_type=communication interfaces=eno4,eno5"
1398 <listitem> 1435
1399 <para>Run the <filename>addDataPlaneOvsBridge.yml</filename> 1436
1400 playbook:</para> 1437# STATS ************************************************************
1401 1438localhost : ok=1 changed=0 failed=1 unreachable=0 \
1402 <programlisting>ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml -e 1439rescued=0 ignored=0</programlisting>
1403"device=inteld1521-17 bridge_config_file=sfc_br.json"
1404ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml -e
1405"device=inteld1521-17 bridge_config_file=lan_br.json"
1406ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml -e
1407"device=inteld1521-17 bridge_name=sfc_br bridge_type=integration"
1408ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml -e
1409"device=inteld1521-17 bridge_name=wap_br bridge_type=communication"
1410ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml -e
1411"device=inteld1521-17 bridge_name=lan_br bridge_type=communication
1412interfaces=eno4"
1413ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml -e
1414"device=inteld1521-17 bridge_name=lan_br bridge_type=communication
1415interfaces=eno4,eno5"</programlisting>
1416 </listitem>
1417 </orderedlist>
1418 1440
1419 <para>Each Ansible Playbook from the <literal>test_harness</literal> 1441 <para>Each Ansible Playbook from the <literal>test_harness</literal>
1420 directory represents an atomic operation, a basic functionality that is 1442 directory represents an atomic operation, a basic functionality that is
diff --git a/doc/book-enea-edge-example-usecases/doc/appendix_1.xml b/doc/book-enea-edge-example-usecases/doc/appendix_1.xml
deleted file mode 100644
index 8c76884..0000000
--- a/doc/book-enea-edge-example-usecases/doc/appendix_1.xml
+++ /dev/null
@@ -1,63 +0,0 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<appendix id="appendix_one_cust">
3 <title>How to create a 128T cloud-init iso image (day-0
4 configuration)</title>
5
6 <para><emphasis role="bold">Prerequisites:</emphasis><itemizedlist>
7 <listitem>
8 <para>Development host with Linux shell.</para>
9 </listitem>
10
11 <listitem>
12 <para><literal>genisoimage</literal> tool installed.</para>
13 </listitem>
14 </itemizedlist></para>
15
16 <para>Unpack the <filename>128T/128t-cloud-init-example.tar.gz</filename>
17 archive and check the README file for more details:</para>
18
19 <programlisting>&gt;tar -zxf 128t-cloud-init-example.tar.gz
20&gt;cd 128T/cloud-init-example/
21&gt;ls ./
22README
23user-data
24meta-data
25t128-running.xml</programlisting>
26
27 <para>To generate the cloud-init iso image:</para>
28
29 <programlisting>&gt;genisoimage -output centos_128t_ci.iso -volid cidata -joliet \
30-rock user-data meta-data t128-running.xml </programlisting>
31
32 <para><emphasis role="bold">Notes: </emphasis><itemizedlist>
33 <listitem>
34 <para><literal>user-data</literal> and <literal>meta-data</literal>
35 files must be kept unchanged.</para>
36 </listitem>
37
38 <listitem>
39 <para>To update the 128T configuration change the
40 <literal>t128-runing.xml</literal> file.</para>
41 </listitem>
42
43 <listitem>
44 <para>XML is the same file downloaded from 128T web access:
45 <literal>configuration -&gt; Import and Export Configuration -&gt;
46 Export Configuration -&gt; Download Configuration</literal>. The
47 configuration can be updated from a web interface, downloaded onto the
48 development host and used in generating a new cloud-init iso
49 image.</para>
50 </listitem>
51 </itemizedlist></para>
52
53 <para>By default, <literal>t128-running.xml</literal> is configured to pass
54 all traffic from the LAN to the WAN interface. There is only one change
55 required for the 128T VNF to work on the user's network:</para>
56
57 <programlisting>&lt;rt:next-hop&gt;172.24.15.254&lt;/rt:next-hop&gt;</programlisting>
58
59 <para>Please change &lt;172.24.15.254&gt; with the IP address of your
60 Gateway in the <filename>t128-running.xml</filename> file and generate a new
61 iso image as described above. For more details about configuring the 128T
62 VNF please contact 128 Technologies.</para>
63</appendix> \ No newline at end of file
diff --git a/doc/book-enea-edge-example-usecases/doc/appendix_2.xml b/doc/book-enea-edge-example-usecases/doc/appendix_2.xml
deleted file mode 100644
index 7ef7c41..0000000
--- a/doc/book-enea-edge-example-usecases/doc/appendix_2.xml
+++ /dev/null
@@ -1,326 +0,0 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<appendix id="appendix_two_cust">
3 <title>How to create the 128T image for NFV Access</title>
4
5 <para>The following steps were used by Enea to generate the 128T qcow2 image
6 used as the VNF image on NFV Access.</para>
7
8 <note>
9 <para>Keep in mind a Virtual Machine was used instead of a physical
10 host.</para>
11 </note>
12
13 <para><emphasis role="bold">Prerequisites:</emphasis><itemizedlist>
14 <listitem>
15 <para><filename>128T-3.2.7-1.el7.centos.x86_64.iso</filename> provided
16 by 128 Technologies.</para>
17 </listitem>
18
19 <listitem>
20 <para>A Linux development host with internet access.</para>
21 </listitem>
22
23 <listitem>
24 <para>A least one of the TAP interfaces connected to a bridge with
25 Internet access.</para>
26 </listitem>
27 </itemizedlist><emphasis role="bold">How to create the 128T image for NFV
28 Access:</emphasis><orderedlist>
29 <listitem>
30 <programlisting>&gt;qemu-img create -f qcow2 128t.qcow2 128G
31&gt;qemu-system-x86_64 -enable-kvm -m 8G -cpu host -smp cores=3,sockets=1 \
32-M q35 -nographic bios /usr/share/qemu/bios.bin -boot order=d,menu=on \
33cdrom 128T-3.2.7-1.el7.centos.x86_64.iso \
34hdb 128t.qcow2 \
35device e1000,netdev=net1,mac=52:52:01:02:03:01 \
36netdev tap,id=net1,ifname=tap1,script=no,downscript=no</programlisting>
37 </listitem>
38
39 <listitem>
40 <para>Press the &lt;ENTER&gt; key to begin the installation
41 process.</para>
42 </listitem>
43
44 <listitem>
45 <para>Wait for the distribution and the 128T to install:</para>
46
47 <programlisting>------------------------------
48128T Packages Installed
49
50Please Remove Install Media,
51
52then enter &lt;Yes&gt; to reboot and
53continue install process
54
55 &lt;Yes&gt; &lt;No&gt;
56------------------------------</programlisting>
57
58 <para>Press Yes.</para>
59 </listitem>
60
61 <listitem>
62 <para>Wait to reboot and press <literal>CTR+ a+c</literal> to enter
63 the qemu monitor:</para>
64
65 <programlisting>(qemu) quit</programlisting>
66 </listitem>
67
68 <listitem>
69 <para>Start qemu only with the qcow2 image attached, no installer
70 image required:</para>
71
72 <programlisting>&gt;qemu-system-x86_64 -enable-kvm -m 8G -cpu host -smp cores=3,sockets=1 \
73-M q35 -nographic bios /usr/share/qemu/bios.bin \
74-boot order=c,menu=on \
75-hda 128t.qcow2 \
76-device e1000,netdev=net1,mac=52:52:01:02:03:01 \
77-netdev tap,id=net1,ifname=tap1,script=no,downscript=no
78
79------------------------------------------------------------------------------
80Booting from Hard Disk...
81.
82
83 * CentOS Linux (3.10.0-514.2.2.el7.x86_64) 7 (Core)
84 CentOS Linux (0-rescue-4e73a369e89e466a888c9c77655a1d65) 7 (Core)
85
86
87 Use the ^ and v keys to change the selection.
88 Press 'e' to edit the selected item, or 'c' for a command prompt.
89------------------------------------------------------------------------------</programlisting>
90
91 <para>Select the first option.</para>
92 </listitem>
93
94 <listitem>
95 <programlisting>|-------------------128T Installer-------------------|
96| |
97| Configure Linux Networking |
98| |
99| Before 128T SetUp? |
100| |
101| |
102| &lt; Yes &gt; &lt; No &gt; |
103|----------------------------------------------------|</programlisting>
104
105 <para>Select NO.</para>
106 </listitem>
107
108 <listitem>
109 <para><programlisting>|----------------------------------------------------|
110| Please select a role for this node: |
111| |----------------------------------------------| |
112| | (*) Router | |
113| | ( ) Conductor | |
114| |----------------------------------------------| |
115| |
116|----------------------------------------------------|
117| &lt; OK &gt; &lt; Back &gt; |
118|----------------------------------------------------|</programlisting>Select
119 Router and OK.</para>
120 </listitem>
121
122 <listitem>
123 <programlisting>|-------------------Conductor Info-------------------|
124| |
125| |----------------------------------------------| |
126| |1st Conductor Address | |
127| |Conductor Address | |
128| |----------------------------------------------| |
129| |
130|----------------------------------------------------|
131| &lt; OK &gt; &lt; Skip &gt; &lt; Back &gt; &lt; Help &gt; |
132|----------------------------------------------------|</programlisting>
133
134 <para>Select SKIP.</para>
135 </listitem>
136
137 <listitem>
138 <para><programlisting>|----------------------HA Setup----------------------|
139| What kind of Router node is this? |
140| |----------------------------------------------| |
141| |(*) Standalone No HA peer | |
142| |( ) 1st HA Node HA peer is not set up | |
143| |( ) 2nd HA Node HA peer is already set up | |
144| |----------------------------------------------| |
145| |
146| |
147|----------------------------------------------------|
148| &lt; OK &gt; &lt; Back &gt; |
149|----------------------------------------------------|</programlisting>Select
150 Standalone and OK.</para>
151 </listitem>
152
153 <listitem>
154 <programlisting>|---------------------Node Info----------------------|
155| |----------------------------------------------| |
156| | Node Role Router | |
157| | Node Name 128tNode | |
158| | Router Name 128tRouter | |
159| |----------------------------------------------| |
160| |
161|----------------------------------------------------|
162| &lt; OK &gt; &lt; Advanced &gt; &lt; Back &gt; &lt; Help &gt; |
163|----------------------------------------------------|</programlisting>
164
165 <para>Enter a name for the router and node, press OK.</para>
166 </listitem>
167
168 <listitem>
169 <programlisting>|-------------------Password Setup-------------------|
170| Enter the new password for the 128T 'admin' |
171| user: |
172| |----------------------------------------------| |
173| | 128Tadmin | |
174| |----------------------------------------------| |
175| | |
176|----------------------------------------------------|
177| &lt; OK &gt; &lt; Back &gt; |
178|----------------------------------------------------|</programlisting>
179
180 <para>Enter the password for web access: <literal>128Tadmin</literal>
181 and confirm the password.</para>
182 </listitem>
183
184 <listitem>
185 <programlisting>|--------------------------Anonymous Data Collection--------------------------|
186| The 128T Networking Platform comes packaged with a software process |
187|("Roadrunner") that is used to proactively monitor the health and liveliness |
188|of the 128T Router and associated components. This watchdog process collects |
189|anonymous information from the router and sends it to 128 Technology for |
190|storage and analysis. This information helps inform 128 Technology about |
191|software usage, to aid in the support and improvement of the 128 Technology |
192|Networking Platform. |
193| |
194|Disabling this feature will prevent the sending of anonymous usage data to |
195|128 Technology. |
196| |
197| |
198| &lt; Accept &gt; &lt; Back &gt; &lt; Disable &gt; |
199|-----------------------------------------------------------------------------|</programlisting>
200
201 <para>Select Accept.</para>
202 </listitem>
203
204 <listitem>
205 <programlisting>|-----128T Statistics Table Creator-----|
206| Created table for metric 760/827 |
207| Created table for metric 770/827 |
208| Created table for metric 780/827 |
209| Created table for metric 790/827 |
210| Created table for metric 800/827 |
211| Created table for metric 810/827 |
212| Created table for metric 820/827 |
213| Finished pre-creating stats tables |
214| Creating tables for audit events |
215| Finished creating audit event tables |
216| Completed in 27.001386642456055 s |
217| Shutting down local Cassandra node |
218|---------------------------------------|
219| &lt; OK &gt; |
220|---------------------------------------|</programlisting>
221
222 <para>Select OK.</para>
223 </listitem>
224
225 <listitem>
226 <programlisting>|--------128T Installer Status----------|
227| |
228| Install SUCCESS |
229| |
230| Start 128T Router |
231| before proceeding to |
232| login prompt? |
233|---------------------------------------|
234| &lt; Yes &gt; &lt; No &gt; |
235|---------------------------------------|</programlisting>
236
237 <para>Select: Yes</para>
238 </listitem>
239
240 <listitem>
241 <programlisting>localhost login: root
242Password:</programlisting>
243
244 <para>The following user accounts and passwords are created during the
245 ISO installation process:</para>
246
247 <table>
248 <title>Accounts Created</title>
249
250 <tgroup cols="2">
251 <colspec align="left" />
252
253 <thead>
254 <row>
255 <entry align="center">User</entry>
256
257 <entry align="center">Password</entry>
258 </row>
259 </thead>
260
261 <tbody>
262 <row>
263 <entry>root</entry>
264
265 <entry>128tRoutes</entry>
266 </row>
267
268 <row>
269 <entry>t128</entry>
270
271 <entry>128tRoutes</entry>
272 </row>
273 </tbody>
274 </tgroup>
275 </table>
276 </listitem>
277
278 <listitem>
279 <para>GUI login via HTTPS is enabled by default on port 443</para>
280
281 <programlisting>[root@localhost ~]# dhclient enp0s2
282[root@localhost ~]# echo "nameserver 8.8.8.8" &gt;&gt;/etc/resolv.conf
283[root@localhost ~]# yum -y install cloud-init
284[root@localhost ~]# reboot</programlisting>
285 </listitem>
286
287 <listitem>
288 <para>Wait to reboot and press CTR+ a+c to enter in qemu
289 monitor.</para>
290
291 <programlisting>(qemu) quit
292&gt; qemu-img info 128t.qcow2
293image: 128t.qcow2
294file format: qcow2
295virtual size: 128G (137438953472 bytes)
296disk size: 5.4G
297cluster_size: 65536
298Format specific information:
299 compat: 1.1
300 lazy refcounts: false
301 refcount bits: 16
302 corrupt: false</programlisting>
303 </listitem>
304
305 <listitem>
306 <para>Compress the generated <filename>128t.qcow2</filename> image to
307 decrease the size of VNF image:</para>
308
309 <programlisting>qemu-img convert -O qcow2 -c 128t.qcow2 centos_128t_compressed.qcow2
310
311&gt; qemu-img info centos_128t_compressed.qcow2
312image: centos_128t_compressed.qcow2
313file format: qcow2
314virtual size: 128G (137438953472 bytes)
315disk size: 1.2G
316cluster_size: 65536
317Format specific information:
318 compat: 1.1
319 lazy refcounts: false
320 refcount bits: 16
321 corrupt: false
322
323centos_128t_compressed.qcow2 - Resulted image can be used in NFV Access.</programlisting>
324 </listitem>
325 </orderedlist></para>
326</appendix> \ No newline at end of file
diff --git a/doc/book-enea-edge-example-usecases/doc/appendix_3.xml b/doc/book-enea-edge-example-usecases/doc/appendix_3.xml
deleted file mode 100644
index 063483a..0000000
--- a/doc/book-enea-edge-example-usecases/doc/appendix_3.xml
+++ /dev/null
@@ -1,7 +0,0 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<appendix id="appendix_three_cust">
3 <title>How to configure Fortigate VNF (day-0 configuration)</title>
4
5 <para>Please check the README file from Fortigate folder for more
6 details.</para>
7</appendix> \ No newline at end of file
diff --git a/doc/book-enea-edge-example-usecases/doc/appendix_4.xml b/doc/book-enea-edge-example-usecases/doc/appendix_4.xml
deleted file mode 100644
index f554b37..0000000
--- a/doc/book-enea-edge-example-usecases/doc/appendix_4.xml
+++ /dev/null
@@ -1,104 +0,0 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<appendix id="appendix_four_cust">
3 <title>Running Enea Edge Automation Framework and Test Harness</title>
4
5 <para>For more detailed information regarding the Enea Edge Automation
6 Framework and Test Harness please see the <xi:include
7 href="../../s_docbuild/olinkdb/pardoc-common.xml"
8 xmlns:xi="http://www.w3.org/2001/XInclude"
9 xpointer="element(book_enea_edge_auto_fw_th_user_guide/1)" />.</para>
10
11 <para>The most relevant information from the Enea Edge Automation Framework
12 and Test Harness structure is presented below:</para>
13
14 <programlisting>|---automation_framework
15| |---unittestSuite
16| | |---128tCleanup.json - Use case 1 - clean up - test.
17| | |---128tDeploy.json - Use case 1 - test.
18| | |---128t_FG_SFCCleanup.json - Use case 2 - clean up - test.
19| | |---128t_FG_SFCDeploy.json - Use case 2 - test.
20| | |---config
21| | | |---cust
22 - Folder containing the configuration files used by tests.
23| | |---unittestLoader.py
24| | |---unittestSuite.py
25|---lab_config
26| |---trgt-1
27| | |---ibm_br.json - In-band management definition.
28| | |---lan_br.json - Lan bridge definition.
29| | |---target.json
30 - Target definition - the "address", "deviceId", "name" and \
31 "version" must be updated.
32| | |---sfc_br.json - Service chain bridge definition.
33| | |---vnf_mgmt_br.json - VNF management bridge definition.
34| | |---lan_nic.json - NIC definition.
35|---vnf_config
36| |---128t
37| | |---128tInstance.json - 128T instantiation - used in use case 1.
38| | |---128t.json - 128T onboarding.
39| | |---128tSFCInstance.json - 128T instantiation - used in use case 2.
40| | |---centos_128t_internet_ci.iso - 128T cloud init (day-0) iso image.
41| |---fortigate
42| | |---fg_basic_fw.conf - Fortigate day-0 configuration.
43| | |---fortigateInstance.json - Fortigate instantiation.
44| | |---fortigate.json - Fortigate onboarding.
45| | |---fortigateLicense.lic
46 - Fortigate license - contact Fortinet to get a VNF image and license file.
47|---vnf_image
48| |---centos_128t_with_ci.qcow2 - Contact 128 Technology to get a \
49 VNF image and its license file.
50| |---fortios.qcow2 - Contact Fortinet to get a VNF image \
51 and its license file.</programlisting>
52
53 <para>Make sure to update the relevant configuration file for your setup.
54 The essential files to consider are the uCPE Device configuration
55 (<filename>target.json</filename>), the license for the Fortigate VNF, and
56 the 128T cloud-init iso image matching your network.</para>
57
58 <para>For uCPE Device configuration (<filename>target.json</filename>)
59 please change the following information, if needed, in the JSON file:</para>
60
61 <itemizedlist spacing="compact">
62 <listitem>
63 <para><literal>address</literal> - The IP address of uCPE Device.</para>
64 </listitem>
65
66 <listitem>
67 <para><literal>version</literal> - The Enea Edge Runtime version.</para>
68 </listitem>
69
70 <listitem>
71 <para><literal>deviceId</literal> - The device ID of uCPE Device.</para>
72 </listitem>
73
74 <listitem>
75 <para><literal>name</literal> - The name of uCPE Device.</para>
76 </listitem>
77 </itemizedlist>
78
79 <note>
80 <para>Before starting the two use-cases detailed in the following appendix,
81 the uCPE Device needs to be added into the Enea Edge Management
82 application.</para>
83 </note>
84
85 <para>To properly set up the Enea Edge Automation Framework and Test Harness
86 please see <olink targetdoc="book_enea_edge_auto_fw_th_user_guide"
87 targetptr="initial_setup">Installation and Initial Setup in the <xi:include
88 href="../../s_docbuild/olinkdb/pardoc-names.xml"
89 xmlns:xi="http://www.w3.org/2001/XInclude"
90 xpointer="element(book_enea_edge_auto_fw_th_user_guide/1)" /></olink> for
91 more details.</para>
92
93 <para>To run a test:</para>
94
95 <programlisting>&gt; cd automation_framework/unittestSuite/
96&gt; python unittestSuite.py -u admin -p admin -H &lt;EneaEdgeManagement IP address&gt; -n \
97&lt;uCPE Device name&gt; -s &lt;Test suite&gt; -d &lt;description&gt;</programlisting>
98
99 <para>The <literal>Test suite</literal> must be one from any of the
100 following: <filename>128tDeploy.json</filename>,
101 <filename>128tCleanup.json</filename>,
102 <filename>128t_FG_SFCDeploy.json</filename>, or
103 <filename>128t_FG_SFCCleanup.json</filename>.</para>
104</appendix> \ No newline at end of file
diff --git a/doc/book-enea-edge-example-usecases/doc/appendix_5.xml b/doc/book-enea-edge-example-usecases/doc/appendix_5.xml
deleted file mode 100644
index ac09bda..0000000
--- a/doc/book-enea-edge-example-usecases/doc/appendix_5.xml
+++ /dev/null
@@ -1,244 +0,0 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<appendix id="appendix_five_cust">
3 <title>Example Tests Results using the Automation Framework and Test
4 Harness</title>
5
6 <para>In order to run the following example use-cases, certain configuration
7 file entries need to be modified according to the network setup that it will
8 be used, for more details see the previous appendix:</para>
9
10 <itemizedlist spacing="compact">
11 <listitem>
12 <para>uCPE Device name: inteld1521-17</para>
13 </listitem>
14
15 <listitem>
16 <para>address: 172.24.8.62</para>
17 </listitem>
18
19 <listitem>
20 <para>version: 2.2.3</para>
21 </listitem>
22
23 <listitem>
24 <para>deviceId: inteld1521-17</para>
25 </listitem>
26 </itemizedlist>
27
28 <para><programlisting>&gt; cat lab_config/trgt-1/target.json
29{
30 "name": "inteld1521-17",
31 "deviceGroupingTags": " ",
32 "description": "trgt",
33 "address": "172.24.8.62",
34 "port": "830",
35 "username": "root",
36 "password": "",
37 "certificate": null,
38 "passphrase": null,
39 "callHome": "false",
40 "maintMode": "false",
41 "version": "2.2.3",
42 "deviceId": "inteld1521-17"
43}</programlisting>The IP address of Enea Edge Management application that will
44 be used in these examples is <literal>172.24.3.92</literal>.</para>
45
46 <para>The FortiGate and 128T VNF images need to be copied into the
47 <literal>vnf_image</literal> directory. The names should be the same as
48 those described in the previous appendix.</para>
49
50 <para>The FortiGate valid license file needs to be copied into the
51 <literal>vnf_config/fortigate/</literal> directory. The name should be the
52 same as that described in the previous appendix.</para>
53
54 <para>The cloud init files that match the network, need to be copied into
55 the <literal>vnf_config/fortigate/</literal> and the
56 <literal>vnf_config/128t/</literal> directories respectively. The names
57 should be the same as those described in the previous appendix.</para>
58
59 <section id="ap_d_uc1">
60 <title>Use-case 1: 128T VNF Router Example Use-case</title>
61
62 <programlisting>&gt; cd automation_framework/unittestSuite/
63&gt; python unittestSuite.py -u admin -p admin -H 172.24.3.92 -n inteld1521-17 \
64-s 128tDeploy.json -d "128T Deployment"
65
66Running 128T Deployment...
67
68test 001: Wait VCPE Agent device be up (__main__.UnittestSuite) ...
692020-08-26 10:10:05,517 - INFO: Wait uCPE device
702020-08-26 10:10:36,650 - INFO: Status: Connected
712020-08-26 10:10:36,651 - INFO: Done
72ok
73test 002: Bind NIC to DPDK for LAN connection (__main__.UnittestSuite) ...
742020-08-26 10:10:36,686 - INFO: Bind NIC
752020-08-26 10:10:37,788 - INFO: Done
76ok
77test 003: Creating ibm bridge (__main__.UnittestSuite) ...
782020-08-26 10:10:37,818 - INFO: New OVS network bridge
792020-08-26 10:10:58,762 - INFO: Done
80ok
81test 004: Creating VNF Management bridge (__main__.UnittestSuite) ...
822020-08-26 10:10:58,794 - INFO: New OVS network bridge
832020-08-26 10:10:58,977 - INFO: Done
84ok
85test 005: Creating LAN bridge and attaching lan interface to the bridge \
86(__main__.UnittestSuite) ...
872020-08-26 10:10:59,003 - INFO: New OVS network bridge
882020-08-26 10:10:59,334 - INFO: Done
89ok
90test 006: Onboarding 128T VNF (wizard API) (__main__.UnittestSuite) ...
912020-08-26 10:10:59,370 - INFO: Onboard wizard
922020-08-26 10:13:55,775 - INFO: Done
93ok
94test 007: Instantiate 128T VNF (__main__.UnittestSuite) ...
952020-08-26 10:13:55,813 - INFO: Instantiate VNF
962020-08-26 10:14:56,583 - INFO: Done
97ok
98
99----------------------------------------------------------------------
100Ran 7 tests in 291.103s
101
102OK
103
104&gt; python unittestSuite.py -u admin -p admin -H 172.24.3.92 -n inteld1521-17 \
105-s 128tCleanup.json -d "128T Cleanup"
106
107Running 128T Cleanup...
108
109test 001: Destroying 128T VNF (__main__.UnittestSuite) ...
1102020-08-26 10:15:28,395 - INFO: Destroy VNF
1112020-08-26 10:15:29,452 - INFO: Done
112ok
113test 002: Deleting network bridge LAN (__main__.UnittestSuite) ...
1142020-08-26 10:15:29,493 - INFO: Delete OVS network bridge
1152020-08-26 10:15:29,734 - INFO: Done
116ok
117test 003: Deleting VNF management bridge (__main__.UnittestSuite) ...
1182020-08-26 10:15:29,765 - INFO: Delete OVS network bridge
1192020-08-26 10:15:30,080 - INFO: Done
120ok
121test 004: Deleting ibm(In Band Management) bridge (__main__.UnittestSuite) ...
1222020-08-26 10:15:30,110 - INFO: Delete OVS network bridge
1232020-08-26 10:15:46,907 - INFO: Done
124ok
125test 005: Unbind LAN NIC from DPDK target (__main__.UnittestSuite) ...
1262020-08-26 10:15:46,967 - INFO: Unbind NIC
1272020-08-26 10:15:48,489 - INFO: Done
128ok
129test 006: Offboarding 128t VNF (__main__.UnittestSuite) ...
1302020-08-26 10:15:48,531 - INFO: Offboard VNF
1312020-08-26 10:15:49,171 - INFO: Done
132ok
133
134----------------------------------------------------------------------
135Ran 6 tests in 20.808s
136
137OK</programlisting>
138 </section>
139
140 <section id="ap_d_uc2">
141 <title>Use-case 2: Service Chaining 128T - Fortigate Example
142 Use-case</title>
143
144 <programlisting>&gt; python unittestSuite.py -u admin -p admin -H 172.24.3.92 -n inteld1521-17 \
145-s 128t_FG_SFCDeploy.json -d "128T - Fortigate SFC Deployment"
146
147Running 128T - Fortigate SFC Deployment...
148
149test 001: Wait VCPE Agent device be up (__main__.UnittestSuite) ...
1502020-08-26 10:17:29,361 - INFO: Wait uCPE device
1512020-08-26 10:18:00,473 - INFO: Status: Connected
1522020-08-26 10:18:00,474 - INFO: Done
153ok
154test 002: Bind NIC to DPDK for LAN connection (__main__.UnittestSuite) ...
1552020-08-26 10:18:00,634 - INFO: Bind NIC
1562020-08-26 10:18:01,805 - INFO: Done
157ok
158test 003: Creating ibm bridge (__main__.UnittestSuite) ...
1592020-08-26 10:18:01,863 - INFO: New OVS network bridge
1602020-08-26 10:18:30,640 - INFO: Done
161ok
162test 004: Creating VNF Management bridge (__main__.UnittestSuite) ...
1632020-08-26 10:18:30,670 - INFO: New OVS network bridge
1642020-08-26 10:18:30,876 - INFO: Done
165ok
166test 005: Creating LAN bridge and attaching lan interface to the bridge \
167(__main__.UnittestSuite) ...
1682020-08-26 10:18:30,908 - INFO: New OVS network bridge
1692020-08-26 10:18:31,243 - INFO: Done
170ok
171test 006: Creating SFC(service function chaining) bridge (__main__.UnittestSuite) ...
1722020-08-26 10:18:31,273 - INFO: New OVS network bridge
1732020-08-26 10:18:31,416 - INFO: Done
174ok
175test 007: Onboarding 128T VNF (wizard API) (__main__.UnittestSuite) ...
1762020-08-26 10:18:31,448 - INFO: Onboard wizard
1772020-08-26 10:21:21,569 - INFO: Done
178ok
179test 008: Onboarding Fortigate VNF (wizard API) (__main__.UnittestSuite) ...
1802020-08-26 10:21:21,608 - INFO: Onboard wizard
1812020-08-26 10:21:27,199 - INFO: Done
182ok
183test 009: Instantiate 128T VNF (__main__.UnittestSuite) ...
1842020-08-26 10:21:27,226 - INFO: Instantiate VNF
1852020-08-26 10:22:27,067 - INFO: Done
186ok
187test 010: Instantiate Fortigate VNF (__main__.UnittestSuite) ...
1882020-08-26 10:22:27,121 - INFO: Instantiate VNF
1892020-08-26 10:22:31,310 - INFO: Done
190ok
191
192----------------------------------------------------------------------
193Ran 10 tests in 301.989s
194
195OK
196
197&gt; python unittestSuite.py -u admin -p admin -H 172.24.3.92 -n inteld1521-17 \
198-s 128t_FG_SFCCleanup.json -d "128T - Fortigate SFC Cleanup"
199
200Running 128T - Fortigate SFC Cleanup...
201
202test 001: Destroying Fortigate VNF (__main__.UnittestSuite) ...
2032020-08-26 10:23:29,308 - INFO: Destroy VNF
2042020-08-26 10:23:30,026 - INFO: Done
205ok
206test 002: Destroying 128T VNF (__main__.UnittestSuite) ...
2072020-08-26 10:23:30,065 - INFO: Destroy VNF
2082020-08-26 10:23:30,917 - INFO: Done
209ok
210test 003: Deleting network bridge SFC (__main__.UnittestSuite) ...
2112020-08-26 10:23:30,960 - INFO: Delete OVS network bridge
2122020-08-26 10:23:31,123 - INFO: Done
213ok
214test 004: Deleting network bridge LAN (__main__.UnittestSuite) ...
2152020-08-26 10:23:31,156 - INFO: Delete OVS network bridge
2162020-08-26 10:23:31,381 - INFO: Done
217ok
218test 005: Deleting VNF management bridge (__main__.UnittestSuite) ...
2192020-08-26 10:23:31,412 - INFO: Delete OVS network bridge
2202020-08-26 10:23:31,596 - INFO: Done
221ok
222test 006: Deleting ibm(In Band Management) bridge (__main__.UnittestSuite) ...
2232020-08-26 10:23:31,621 - INFO: Delete OVS network bridge
2242020-08-26 10:23:47,980 - INFO: Done
225ok
226test 007: Unbind LAN NIC from DPDK target (__main__.UnittestSuite) ...
2272020-08-26 10:23:48,019 - INFO: Unbind NIC
2282020-08-26 10:23:49,547 - INFO: Done
229ok
230test 008: Offboarding 128t VNF (__main__.UnittestSuite) ...
2312020-08-26 10:23:49,575 - INFO: Offboard VNF
2322020-08-26 10:23:50,252 - INFO: Done
233ok
234test 009: Offboarding Fortigate VNF (__main__.UnittestSuite) ...
2352020-08-26 10:23:50,295 - INFO: Offboard VNF
2362020-08-26 10:23:50,589 - INFO: Done
237ok
238
239----------------------------------------------------------------------
240Ran 9 tests in 21.326s
241
242OK</programlisting>
243 </section>
244</appendix> \ No newline at end of file
diff --git a/doc/book-enea-edge-example-usecases/doc/book.xml b/doc/book-enea-edge-example-usecases/doc/book.xml
index e872c95..5e7a3f4 100644
--- a/doc/book-enea-edge-example-usecases/doc/book.xml
+++ b/doc/book-enea-edge-example-usecases/doc/book.xml
@@ -37,8 +37,4 @@
37 37
38 <xi:include href="service_chaining_128t_fortigate.xml" 38 <xi:include href="service_chaining_128t_fortigate.xml"
39 xmlns:xi="http://www.w3.org/2001/XInclude" /> 39 xmlns:xi="http://www.w3.org/2001/XInclude" />
40
41 <xi:include href="appendix_4.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
42
43 <xi:include href="appendix_5.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
44</book> \ No newline at end of file 40</book> \ No newline at end of file