diff options
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><Automation-installerdir>/test_harness</literal> | 1296 | <literal><Automation-installerdir>/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><name_of_the_module>: | ||
1334 | method: <which method will be called> | ||
1335 | <param1>: <value_of_param1> | ||
1336 | <param2>: <value_of_param2> | ||
1337 | ... | ||
1338 | <paramx>: <value_of_paramx> | ||
1339 | chdir: <the path where the Ansible playbook will be run></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><name_of_the_module></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: <name_of_the device> | ||
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!!! ------------------------- | |
1370 | This 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=<device_name> bridge_config_file=<bridge_config_file>" |
1375 | 1412 | ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml \ | |
1376 | Options: | 1413 | -e "device=<device_name> bridge_name=<bridge_name> 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=<device_name> bridge_name=<bridge_name> 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=<device_name> bridge_name=<bridge_name> \ |
1381 | argument) | 1418 | bridge_type=communication interfaces=<interfaces>" |
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" | |
1386 | Usage: | 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=<device_name> bridge_config_file=<bridge_config_file>" | 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=<device_name> bridge_name=<bridge_name> 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=<device_name> bridge_name=<bridge_name> 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=<device_name> bridge_name=<bridge_name> bridge_type=communication | 1431 | bridge_type=communication interfaces=eno4" |
1395 | interfaces=<interfaces>"</programlisting> | 1432 | ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml \ |
1396 | </listitem> | 1433 | -e "device=inteld1521-17 bridge_name=lan_br \ |
1397 | 1434 | bridge_type=communication interfaces=eno4,eno5" | |
1398 | <listitem> | 1435 | |
1399 | <para>Run the <filename>addDataPlaneOvsBridge.yml</filename> | 1436 | |
1400 | playbook:</para> | 1437 | # STATS ************************************************************ |
1401 | 1438 | localhost : ok=1 changed=0 failed=1 unreachable=0 \ | |
1402 | <programlisting>ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml -e | 1439 | rescued=0 ignored=0</programlisting> |
1403 | "device=inteld1521-17 bridge_config_file=sfc_br.json" | ||
1404 | ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml -e | ||
1405 | "device=inteld1521-17 bridge_config_file=lan_br.json" | ||
1406 | ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml -e | ||
1407 | "device=inteld1521-17 bridge_name=sfc_br bridge_type=integration" | ||
1408 | ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml -e | ||
1409 | "device=inteld1521-17 bridge_name=wap_br bridge_type=communication" | ||
1410 | ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml -e | ||
1411 | "device=inteld1521-17 bridge_name=lan_br bridge_type=communication | ||
1412 | interfaces=eno4" | ||
1413 | ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml -e | ||
1414 | "device=inteld1521-17 bridge_name=lan_br bridge_type=communication | ||
1415 | interfaces=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>>tar -zxf 128t-cloud-init-example.tar.gz | ||
20 | >cd 128T/cloud-init-example/ | ||
21 | >ls ./ | ||
22 | README | ||
23 | user-data | ||
24 | meta-data | ||
25 | t128-running.xml</programlisting> | ||
26 | |||
27 | <para>To generate the cloud-init iso image:</para> | ||
28 | |||
29 | <programlisting>>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 -> Import and Export Configuration -> | ||
46 | Export Configuration -> 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><rt:next-hop>172.24.15.254</rt:next-hop></programlisting> | ||
58 | |||
59 | <para>Please change <172.24.15.254> 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>>qemu-img create -f qcow2 128t.qcow2 128G | ||
31 | >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 \ | ||
33 | cdrom 128T-3.2.7-1.el7.centos.x86_64.iso \ | ||
34 | hdb 128t.qcow2 \ | ||
35 | device e1000,netdev=net1,mac=52:52:01:02:03:01 \ | ||
36 | netdev tap,id=net1,ifname=tap1,script=no,downscript=no</programlisting> | ||
37 | </listitem> | ||
38 | |||
39 | <listitem> | ||
40 | <para>Press the <ENTER> 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>------------------------------ | ||
48 | 128T Packages Installed | ||
49 | |||
50 | Please Remove Install Media, | ||
51 | |||
52 | then enter <Yes> to reboot and | ||
53 | continue install process | ||
54 | |||
55 | <Yes> <No> | ||
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>>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 | ------------------------------------------------------------------------------ | ||
80 | Booting 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 | | < Yes > < No > | | ||
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 | | < OK > < Back > | | ||
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 | | < OK > < Skip > < Back > < Help > | | ||
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 | | < OK > < Back > | | ||
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 | | < OK > < Advanced > < Back > < Help > | | ||
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 | | < OK > < Back > | | ||
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 | | < Accept > < Back > < Disable > | | ||
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 | | < OK > | | ||
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 | | < Yes > < No > | | ||
235 | |---------------------------------------|</programlisting> | ||
236 | |||
237 | <para>Select: Yes</para> | ||
238 | </listitem> | ||
239 | |||
240 | <listitem> | ||
241 | <programlisting>localhost login: root | ||
242 | Password:</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" >>/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 | > qemu-img info 128t.qcow2 | ||
293 | image: 128t.qcow2 | ||
294 | file format: qcow2 | ||
295 | virtual size: 128G (137438953472 bytes) | ||
296 | disk size: 5.4G | ||
297 | cluster_size: 65536 | ||
298 | Format 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 | > qemu-img info centos_128t_compressed.qcow2 | ||
312 | image: centos_128t_compressed.qcow2 | ||
313 | file format: qcow2 | ||
314 | virtual size: 128G (137438953472 bytes) | ||
315 | disk size: 1.2G | ||
316 | cluster_size: 65536 | ||
317 | Format specific information: | ||
318 | compat: 1.1 | ||
319 | lazy refcounts: false | ||
320 | refcount bits: 16 | ||
321 | corrupt: false | ||
322 | |||
323 | centos_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>> cd automation_framework/unittestSuite/ | ||
96 | > python unittestSuite.py -u admin -p admin -H <EneaEdgeManagement IP address> -n \ | ||
97 | <uCPE Device name> -s <Test suite> -d <description></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>> 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>> cd automation_framework/unittestSuite/ | ||
63 | > python unittestSuite.py -u admin -p admin -H 172.24.3.92 -n inteld1521-17 \ | ||
64 | -s 128tDeploy.json -d "128T Deployment" | ||
65 | |||
66 | Running 128T Deployment... | ||
67 | |||
68 | test 001: Wait VCPE Agent device be up (__main__.UnittestSuite) ... | ||
69 | 2020-08-26 10:10:05,517 - INFO: Wait uCPE device | ||
70 | 2020-08-26 10:10:36,650 - INFO: Status: Connected | ||
71 | 2020-08-26 10:10:36,651 - INFO: Done | ||
72 | ok | ||
73 | test 002: Bind NIC to DPDK for LAN connection (__main__.UnittestSuite) ... | ||
74 | 2020-08-26 10:10:36,686 - INFO: Bind NIC | ||
75 | 2020-08-26 10:10:37,788 - INFO: Done | ||
76 | ok | ||
77 | test 003: Creating ibm bridge (__main__.UnittestSuite) ... | ||
78 | 2020-08-26 10:10:37,818 - INFO: New OVS network bridge | ||
79 | 2020-08-26 10:10:58,762 - INFO: Done | ||
80 | ok | ||
81 | test 004: Creating VNF Management bridge (__main__.UnittestSuite) ... | ||
82 | 2020-08-26 10:10:58,794 - INFO: New OVS network bridge | ||
83 | 2020-08-26 10:10:58,977 - INFO: Done | ||
84 | ok | ||
85 | test 005: Creating LAN bridge and attaching lan interface to the bridge \ | ||
86 | (__main__.UnittestSuite) ... | ||
87 | 2020-08-26 10:10:59,003 - INFO: New OVS network bridge | ||
88 | 2020-08-26 10:10:59,334 - INFO: Done | ||
89 | ok | ||
90 | test 006: Onboarding 128T VNF (wizard API) (__main__.UnittestSuite) ... | ||
91 | 2020-08-26 10:10:59,370 - INFO: Onboard wizard | ||
92 | 2020-08-26 10:13:55,775 - INFO: Done | ||
93 | ok | ||
94 | test 007: Instantiate 128T VNF (__main__.UnittestSuite) ... | ||
95 | 2020-08-26 10:13:55,813 - INFO: Instantiate VNF | ||
96 | 2020-08-26 10:14:56,583 - INFO: Done | ||
97 | ok | ||
98 | |||
99 | ---------------------------------------------------------------------- | ||
100 | Ran 7 tests in 291.103s | ||
101 | |||
102 | OK | ||
103 | |||
104 | > python unittestSuite.py -u admin -p admin -H 172.24.3.92 -n inteld1521-17 \ | ||
105 | -s 128tCleanup.json -d "128T Cleanup" | ||
106 | |||
107 | Running 128T Cleanup... | ||
108 | |||
109 | test 001: Destroying 128T VNF (__main__.UnittestSuite) ... | ||
110 | 2020-08-26 10:15:28,395 - INFO: Destroy VNF | ||
111 | 2020-08-26 10:15:29,452 - INFO: Done | ||
112 | ok | ||
113 | test 002: Deleting network bridge LAN (__main__.UnittestSuite) ... | ||
114 | 2020-08-26 10:15:29,493 - INFO: Delete OVS network bridge | ||
115 | 2020-08-26 10:15:29,734 - INFO: Done | ||
116 | ok | ||
117 | test 003: Deleting VNF management bridge (__main__.UnittestSuite) ... | ||
118 | 2020-08-26 10:15:29,765 - INFO: Delete OVS network bridge | ||
119 | 2020-08-26 10:15:30,080 - INFO: Done | ||
120 | ok | ||
121 | test 004: Deleting ibm(In Band Management) bridge (__main__.UnittestSuite) ... | ||
122 | 2020-08-26 10:15:30,110 - INFO: Delete OVS network bridge | ||
123 | 2020-08-26 10:15:46,907 - INFO: Done | ||
124 | ok | ||
125 | test 005: Unbind LAN NIC from DPDK target (__main__.UnittestSuite) ... | ||
126 | 2020-08-26 10:15:46,967 - INFO: Unbind NIC | ||
127 | 2020-08-26 10:15:48,489 - INFO: Done | ||
128 | ok | ||
129 | test 006: Offboarding 128t VNF (__main__.UnittestSuite) ... | ||
130 | 2020-08-26 10:15:48,531 - INFO: Offboard VNF | ||
131 | 2020-08-26 10:15:49,171 - INFO: Done | ||
132 | ok | ||
133 | |||
134 | ---------------------------------------------------------------------- | ||
135 | Ran 6 tests in 20.808s | ||
136 | |||
137 | OK</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>> 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 | |||
147 | Running 128T - Fortigate SFC Deployment... | ||
148 | |||
149 | test 001: Wait VCPE Agent device be up (__main__.UnittestSuite) ... | ||
150 | 2020-08-26 10:17:29,361 - INFO: Wait uCPE device | ||
151 | 2020-08-26 10:18:00,473 - INFO: Status: Connected | ||
152 | 2020-08-26 10:18:00,474 - INFO: Done | ||
153 | ok | ||
154 | test 002: Bind NIC to DPDK for LAN connection (__main__.UnittestSuite) ... | ||
155 | 2020-08-26 10:18:00,634 - INFO: Bind NIC | ||
156 | 2020-08-26 10:18:01,805 - INFO: Done | ||
157 | ok | ||
158 | test 003: Creating ibm bridge (__main__.UnittestSuite) ... | ||
159 | 2020-08-26 10:18:01,863 - INFO: New OVS network bridge | ||
160 | 2020-08-26 10:18:30,640 - INFO: Done | ||
161 | ok | ||
162 | test 004: Creating VNF Management bridge (__main__.UnittestSuite) ... | ||
163 | 2020-08-26 10:18:30,670 - INFO: New OVS network bridge | ||
164 | 2020-08-26 10:18:30,876 - INFO: Done | ||
165 | ok | ||
166 | test 005: Creating LAN bridge and attaching lan interface to the bridge \ | ||
167 | (__main__.UnittestSuite) ... | ||
168 | 2020-08-26 10:18:30,908 - INFO: New OVS network bridge | ||
169 | 2020-08-26 10:18:31,243 - INFO: Done | ||
170 | ok | ||
171 | test 006: Creating SFC(service function chaining) bridge (__main__.UnittestSuite) ... | ||
172 | 2020-08-26 10:18:31,273 - INFO: New OVS network bridge | ||
173 | 2020-08-26 10:18:31,416 - INFO: Done | ||
174 | ok | ||
175 | test 007: Onboarding 128T VNF (wizard API) (__main__.UnittestSuite) ... | ||
176 | 2020-08-26 10:18:31,448 - INFO: Onboard wizard | ||
177 | 2020-08-26 10:21:21,569 - INFO: Done | ||
178 | ok | ||
179 | test 008: Onboarding Fortigate VNF (wizard API) (__main__.UnittestSuite) ... | ||
180 | 2020-08-26 10:21:21,608 - INFO: Onboard wizard | ||
181 | 2020-08-26 10:21:27,199 - INFO: Done | ||
182 | ok | ||
183 | test 009: Instantiate 128T VNF (__main__.UnittestSuite) ... | ||
184 | 2020-08-26 10:21:27,226 - INFO: Instantiate VNF | ||
185 | 2020-08-26 10:22:27,067 - INFO: Done | ||
186 | ok | ||
187 | test 010: Instantiate Fortigate VNF (__main__.UnittestSuite) ... | ||
188 | 2020-08-26 10:22:27,121 - INFO: Instantiate VNF | ||
189 | 2020-08-26 10:22:31,310 - INFO: Done | ||
190 | ok | ||
191 | |||
192 | ---------------------------------------------------------------------- | ||
193 | Ran 10 tests in 301.989s | ||
194 | |||
195 | OK | ||
196 | |||
197 | > 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 | |||
200 | Running 128T - Fortigate SFC Cleanup... | ||
201 | |||
202 | test 001: Destroying Fortigate VNF (__main__.UnittestSuite) ... | ||
203 | 2020-08-26 10:23:29,308 - INFO: Destroy VNF | ||
204 | 2020-08-26 10:23:30,026 - INFO: Done | ||
205 | ok | ||
206 | test 002: Destroying 128T VNF (__main__.UnittestSuite) ... | ||
207 | 2020-08-26 10:23:30,065 - INFO: Destroy VNF | ||
208 | 2020-08-26 10:23:30,917 - INFO: Done | ||
209 | ok | ||
210 | test 003: Deleting network bridge SFC (__main__.UnittestSuite) ... | ||
211 | 2020-08-26 10:23:30,960 - INFO: Delete OVS network bridge | ||
212 | 2020-08-26 10:23:31,123 - INFO: Done | ||
213 | ok | ||
214 | test 004: Deleting network bridge LAN (__main__.UnittestSuite) ... | ||
215 | 2020-08-26 10:23:31,156 - INFO: Delete OVS network bridge | ||
216 | 2020-08-26 10:23:31,381 - INFO: Done | ||
217 | ok | ||
218 | test 005: Deleting VNF management bridge (__main__.UnittestSuite) ... | ||
219 | 2020-08-26 10:23:31,412 - INFO: Delete OVS network bridge | ||
220 | 2020-08-26 10:23:31,596 - INFO: Done | ||
221 | ok | ||
222 | test 006: Deleting ibm(In Band Management) bridge (__main__.UnittestSuite) ... | ||
223 | 2020-08-26 10:23:31,621 - INFO: Delete OVS network bridge | ||
224 | 2020-08-26 10:23:47,980 - INFO: Done | ||
225 | ok | ||
226 | test 007: Unbind LAN NIC from DPDK target (__main__.UnittestSuite) ... | ||
227 | 2020-08-26 10:23:48,019 - INFO: Unbind NIC | ||
228 | 2020-08-26 10:23:49,547 - INFO: Done | ||
229 | ok | ||
230 | test 008: Offboarding 128t VNF (__main__.UnittestSuite) ... | ||
231 | 2020-08-26 10:23:49,575 - INFO: Offboard VNF | ||
232 | 2020-08-26 10:23:50,252 - INFO: Done | ||
233 | ok | ||
234 | test 009: Offboarding Fortigate VNF (__main__.UnittestSuite) ... | ||
235 | 2020-08-26 10:23:50,295 - INFO: Offboard VNF | ||
236 | 2020-08-26 10:23:50,589 - INFO: Done | ||
237 | ok | ||
238 | |||
239 | ---------------------------------------------------------------------- | ||
240 | Ran 9 tests in 21.326s | ||
241 | |||
242 | OK</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 |