summaryrefslogtreecommitdiffstats
path: root/doc/book-enea-nfv-access-auto-fw-th-user-guide/doc/automation_framework_test_harness.xml
diff options
context:
space:
mode:
Diffstat (limited to 'doc/book-enea-nfv-access-auto-fw-th-user-guide/doc/automation_framework_test_harness.xml')
-rw-r--r--doc/book-enea-nfv-access-auto-fw-th-user-guide/doc/automation_framework_test_harness.xml645
1 files changed, 376 insertions, 269 deletions
diff --git a/doc/book-enea-nfv-access-auto-fw-th-user-guide/doc/automation_framework_test_harness.xml b/doc/book-enea-nfv-access-auto-fw-th-user-guide/doc/automation_framework_test_harness.xml
index b7de1af..cdf024c 100644
--- a/doc/book-enea-nfv-access-auto-fw-th-user-guide/doc/automation_framework_test_harness.xml
+++ b/doc/book-enea-nfv-access-auto-fw-th-user-guide/doc/automation_framework_test_harness.xml
@@ -11,13 +11,25 @@
11 11
12 <para>The <literal>/device</literal> folder contains Python scripts for 12 <para>The <literal>/device</literal> folder contains Python scripts for
13 adding uCPE device(s), receiving uCPE events' reports, removing a uCPE 13 adding uCPE device(s), receiving uCPE events' reports, removing a uCPE
14 device, and waiting for a uCPE device to connect to the uCPE 14 device, waiting for a uCPE device to connect to the uCPE Manager, as well
15 Manager.</para> 15 as scripts for adding and removing an offline configuration store.</para>
16 16
17 <para>The <literal>/network</literal> folder contains Python scripts for 17 <para>The <literal>/network</literal> folder contains Python scripts for
18 binding or unbinding a network interface to/from a uCPE device (DPDK or 18 binding or unbinding a network interface to and from a uCPE device (DPDK or
19 SR-IOV), creating or deleting an OVS network bridge, or dumping network 19 SR-IOV), creating or deleting an OVS network bridge, or dumping network
20 interface information about the available interfaces.</para> 20 interface information about the available interfaces. Three of the scripts
21 mentioned here (binding, creating, deleting) are also applicable for an
22 Offline Configuration Store.</para>
23
24 <note>
25 <para>Commands within the network folder that include the option
26 <emphasis role="bold">-o</emphasis> allow the user to perform the action
27 in an offline configuration store alternative available for use at a
28 later setup time. All options contain either <emphasis
29 role="bold">-n</emphasis>, <emphasis role="bold">-o</emphasis> or both.
30 One of them must always be provided, if both are provided, -o has
31 priority, and -n is thus ignored.</para>
32 </note>
21 33
22 <para>The <literal>/unittestSuite</literal> folder contains Python 34 <para>The <literal>/unittestSuite</literal> folder contains Python
23 unit-test class and loader scripts for generating specific test cases for 35 unit-test class and loader scripts for generating specific test cases for
@@ -65,22 +77,24 @@ Usage: unittestSuite.py [options]
65Run selected unit-test suite against Enea uCPE Manager. 77Run selected unit-test suite against Enea uCPE Manager.
66 78
67Options: 79Options:
68 --version show program's version number and exit 80 --version show program's version number and exit
69 -h, --help show this help message and exit 81 -h, --help show this help message and exit
70 -u USERNAME, --username=USERNAME 82 -u USERNAME, --username=USERNAME
71 Enea uCPE Manager login username 83 Enea uCPE Manager login username
72 -p PASSWORD, --password=PASSWORD 84 -p PASSWORD, --password=PASSWORD
73 Enea uCPE Manager login password 85 Enea uCPE Manager login password
74 -H HOST, --host=HOST Enea uCPE Manager host name or IP address 86 -H HOST, --host=HOST Enea uCPE Manager host name or IP address
75 -n DEVICENAME, --deviceName=DEVICENAME 87 -n DEVICENAME, --deviceName=DEVICENAME
76 Name of vCPE device (Virtual Infrastructure Manager) 88 Name of vCPE device (Virtual Infrastructure Manager)
77 -s SUITEFILE, --suite=SUITEFILE 89 -s SUITEFILE, --suite=SUITEFILE
78 Test suite configuration file in JSON format 90 Test suite configuration file in JSON format
79 -d DESCRIPTION, --description=DESCRIPTION 91 -d DESCRIPTION, --description=DESCRIPTION
80 Test suite description 92 Test suite description
93 -o OFFLINE, --offline=OFFLINE
94 Offline Configuration(ZTP)
81 95
82 Mandatory options: 96 Mandatory options:
83 -H/--host, -n/--deviceName, -s/--suiteFile, -d/--description</programlisting> 97 -H/--host, -n/--deviceName, -s/--suiteFile, -d/--description</programlisting>
84 </section> 98 </section>
85 99
86 <section id="config_ut_json"> 100 <section id="config_ut_json">
@@ -319,188 +333,183 @@ NOTSET 0</programlisting></para>
319 scenario:</para> 333 scenario:</para>
320 334
321 <programlisting>$ python unittestSuite.py -u admin -p admin -H localhost -n intelc3850-2 -s 335 <programlisting>$ python unittestSuite.py -u admin -p admin -H localhost -n intelc3850-2 -s
322fortigateDeploy.json -d "Fortigate deployment scenario" 336fortigateDeploy.json -d "Fortigate deployment scenario"</programlisting>
323</programlisting>
324 337
325 <para>Setting the console logging level to DEBUG:</para> 338 <para>Setting the console logging level to DEBUG:</para>
326 339
327 <para><programlisting>consoleLoggingLevel = logging.DEBUG</programlisting> 340 <para><programlisting>consoleLoggingLevel = logging.DEBUG</programlisting>
328 <emphasis role="bold">Expected Output:</emphasis> <programlisting>2019-03-07 18:03:20,791 - DEBUG: Started logging 341 <emphasis role="bold">Expected Output:</emphasis></para>
342
343 <programlisting>2020-04-15 07:58:40,668 - DEBUG: Started logging
329 344
330Running Fortigate deployment scenario... 345Running Fortigate deployment scenario...
331 346
332test 001: Add VCPE Agent device (__main__.UnittestSuite) ... 347test 001: Wait VCPE Agent device be up (__main__.UnittestSuite) ...
3332019-03-07 18:03:20,795 - INFO: Add uCPE device 3482020-04-15 07:58:40,681 - INFO: Wait uCPE device
3342019-03-07 18:03:20,924 - DEBUG: Login successful on host 'localhost' 3492020-04-15 07:58:40,722 - DEBUG: Login successful on host 'localhost'
3352019-03-07 18:03:20,925 - DEBUG: Session token is: 876160c3-40f2-11e9-a81f525400d08e1d 3502020-04-15 07:58:40,723 - DEBUG: Session token is: 280028c0-7ede-11ea-a9a8-02429dc76bdd
3362019-03-07 18:03:20,949 - DEBUG: Add new device 'intelc3850-2' to uCPE Manager host 3512020-04-15 07:58:40,746 - DEBUG: Found device with name 'intelc3850-2'
3372019-03-07 18:03:21,100 - INFO: Done 3522020-04-15 07:58:40,747 - DEBUG: Wait for device 'intelc3850-2' to connect
3382019-03-07 18:03:21,133 - DEBUG: Logging out and exiting... 3532020-04-15 07:58:41,769 - DEBUG: HACK: sleep 30s more
339ok 3542020-04-15 07:59:11,791 - DEBUG: HACK: continue
340test 002: Wait VCPE Agent device be up (__main__.UnittestSuite) ... 3552020-04-15 07:59:11,792 - INFO: Status: Connected
3412019-03-07 18:03:21,133 - INFO: Wait uCPE device 3562020-04-15 07:59:11,793 - INFO: Done
3422019-03-07 18:03:21,149 - DEBUG: Login successful on host 'localhost' 3572020-04-15 07:59:11,827 - DEBUG: Logging out and exiting...
3432019-03-07 18:03:21,149 - DEBUG: Session token is: 8785b1a0-40f2-11e9-a81f525400d08e1d
3442019-03-07 18:03:21,157 - DEBUG: Found device with name 'intelc3850-2'
3452019-03-07 18:03:21,157 - DEBUG: Wait for device 'intelc3850-2' to connect
3462019-03-07 18:03:29,356 - DEBUG: Status: Connected
3472019-03-07 18:03:29,356 - INFO: Done
3482019-03-07 18:03:29,365 - DEBUG: Logging out and exiting...
349ok 358ok
350test 003: Bind lan NIC to DPDK (__main__.UnittestSuite) ... 359test 002: Bind lan NIC to DPDK (__main__.UnittestSuite) ...
3512019-03-07 18:03:29,366 - INFO: Bind NIC 3602020-04-15 07:59:11,832 - INFO: Bind NIC
3522019-03-07 18:03:29,406 - DEBUG: Login successful on host 'localhost' 3612020-04-15 07:59:11,868 - DEBUG: Login successful on host 'localhost'
3532019-03-07 18:03:29,406 - DEBUG: Session token is: 8c719cb0-40f2-11e9-a81f525400d08e1d 3622020-04-15 07:59:11,870 - DEBUG: Session token is: 3a90a960-7ede-11ea-a9a8-02429dc76bdd
3542019-03-07 18:03:29,415 - DEBUG: Found device with name 'intelc3850-2' 3632020-04-15 07:59:11,897 - DEBUG: Found device with name 'intelc3850-2'
3552019-03-07 18:03:29,415 - DEBUG: Bind NIC '0000:01:00.1' 3642020-04-15 07:59:11,898 - DEBUG: Bind NIC 'eno6' to dpdk
3562019-03-07 18:03:30,030 - INFO: Done 3652020-04-15 07:59:12,952 - INFO: Done
3572019-03-07 18:03:30,067 - DEBUG: Logging out and exiting... 3662020-04-15 07:59:12,983 - DEBUG: Logging out and exiting...
358ok 367ok
359test 004: Bind wan NIC to DPDK (__main__.UnittestSuite) ... 368test 003: Bind wan NIC to DPDK (__main__.UnittestSuite) ...
3602019-03-07 18:03:30,068 - INFO: Bind NIC 3692020-04-15 07:59:12,986 - INFO: Bind NIC
3612019-03-07 18:03:30,086 - DEBUG: Login successful on host 'localhost' 3702020-04-15 07:59:13,023 - DEBUG: Login successful on host 'localhost'
3622019-03-07 18:03:30,087 - DEBUG: Session token is: 8cd95f32-40f2-11e9-a81f525400d08e1d 3712020-04-15 07:59:13,025 - DEBUG: Session token is: 3b410da0-7ede-11ea-a9a8-02429dc76bdd
3632019-03-07 18:03:30,095 - DEBUG: Found device with name 'intelc3850-2' 3722020-04-15 07:59:13,048 - DEBUG: Found device with name 'intelc3850-2'
3642019-03-07 18:03:30,096 - DEBUG: Bind NIC 'enp4s0f1' 3732020-04-15 07:59:13,050 - DEBUG: Bind NIC 'eno8' to dpdk
3652019-03-07 18:03:30,729 - INFO: Done 3742020-04-15 07:59:14,365 - INFO: Done
3662019-03-07 18:03:30,767 - DEBUG: Logging out and exiting... 3752020-04-15 07:59:14,392 - DEBUG: Logging out and exiting...
367ok 376ok
368test 005: Creating network bridge LAN (__main__.UnittestSuite) ... 377test 004: Creating network bridge LAN (__main__.UnittestSuite) ...
3692019-03-07 18:03:30,768 - INFO: New OVS network bridge 3782020-04-15 07:59:14,395 - INFO: New OVS network bridge
3702019-03-07 18:03:30,801 - DEBUG: Login successful on host 'localhost' 3792020-04-15 07:59:14,428 - DEBUG: Login successful on host 'localhost'
3712019-03-07 18:03:30,801 - DEBUG: Session token is: 8d454061-40f2-11e9-a81f525400d08e1d 3802020-04-15 07:59:14,429 - DEBUG: Session token is: 3c174961-7ede-11ea-a9a8-02429dc76bdd
3722019-03-07 18:03:30,811 - DEBUG: Found device with name 'intelc3850-2' 3812020-04-15 07:59:14,452 - DEBUG: Found device with name 'intelc3850-2'
3732019-03-07 18:03:30,812 - DEBUG: Create new OVS network bridge 'lan_br' 3822020-04-15 07:59:14,453 - DEBUG: Create new OVS network bridge 'lan_br'
3742019-03-07 18:03:37,358 - INFO: Done 3832020-04-15 07:59:14,454 - DEBUG: Attaching interface 'eno6' to bridge 'lan_br'
3752019-03-07 18:03:37,402 - DEBUG: Logging out and exiting... 3842020-04-15 07:59:21,751 - INFO: Done
3852020-04-15 07:59:21,779 - DEBUG: Logging out and exiting...
376ok 386ok
377test 006: Creating network bridge WAN (__main__.UnittestSuite) ... 387test 005: Creating network bridge WAN (__main__.UnittestSuite) ...
3782019-03-07 18:03:37,402 - INFO: New OVS network bridge 3882020-04-15 07:59:21,782 - INFO: New OVS network bridge
3792019-03-07 18:03:37,461 - DEBUG: Login successful on host 'localhost' 3892020-04-15 07:59:21,818 - DEBUG: Login successful on host 'localhost'
3802019-03-07 18:03:37,461 - DEBUG: Session token is: 913c4420-40f2-11e9-a81f525400d08e1d 3902020-04-15 07:59:21,819 - DEBUG: Session token is: 407ec231-7ede-11ea-a9a8-02429dc76bdd
3812019-03-07 18:03:37,485 - DEBUG: Found device with name 'intelc3850-2' 3912020-04-15 07:59:21,845 - DEBUG: Found device with name 'intelc3850-2'
3822019-03-07 18:03:37,485 - DEBUG: Create new OVS network bridge 'wan_br' 3922020-04-15 07:59:21,846 - DEBUG: Create new OVS network bridge 'wan_br'
3832019-03-07 18:03:37,755 - INFO: Done 3932020-04-15 07:59:21,847 - DEBUG: Attaching interface 'eno8' to bridge 'wan_br'
3842019-03-07 18:03:37,792 - DEBUG: Logging out and exiting... 3942020-04-15 07:59:22,813 - INFO: Done
3952020-04-15 07:59:22,845 - DEBUG: Logging out and exiting...
385ok 396ok
386test 007: Onboarding Fortigate VNF (wizard API) (__main__.UnittestSuite) ... 397test 006: Onboarding Fortigate VNF (wizard API) (__main__.UnittestSuite) ...
3872019-03-07 18:03:37,792 - INFO: Onboard wizard 3982020-04-15 07:59:22,849 - INFO: Onboard wizard
3882019-03-07 18:03:37,859 - DEBUG: Login successful on host 'localhost' 3992020-04-15 07:59:22,885 - DEBUG: Login successful on host 'localhost'
3892019-03-07 18:03:37,859 - DEBUG: Session token is: 91770330-40f2-11e9-a81f525400d08e1d 4002020-04-15 07:59:22,886 - DEBUG: Session token is: 4121b8f1-7ede-11ea-a9a8-02429dc76bdd
3902019-03-07 18:03:37,860 - DEBUG: FTP file '../../vnf_bundles/fortios.qcow2' on host 4012020-04-15 07:59:22,890 - DEBUG: FTP file '../../vnf_image/fortios.qcow2' on host \
391'localhost', port '2021' 402'localhost', port '2021'
3922019-03-07 18:03:38,027 - DEBUG: Onboard VNF raw: fortios.qcow2 4032020-04-15 07:59:23,127 - DEBUG: Onboard VNF raw: fortios.qcow2
3932019-03-07 18:03:41,701 - INFO: Done 4042020-04-15 07:59:27,107 - INFO: Done
3942019-03-07 18:03:41,748 - DEBUG: Logging out and exiting... 4052020-04-15 07:59:27,140 - DEBUG: Logging out and exiting...
395ok 406ok
396test 008: Instantiate Fortigate VNF (__main__.UnittestSuite) ... 407test 007: Instantiate Fortigate VNF (__main__.UnittestSuite) ...
3972019-03-07 18:03:41,778 - INFO: Instantiate VNF 4082020-04-15 07:59:27,144 - INFO: Instantiate VNF
3982019-03-07 18:03:41,813 - DEBUG: Login successful on host 'localhost' 4092020-04-15 07:59:27,182 - DEBUG: Login successful on host 'localhost'
3992019-03-07 18:03:41,815 - DEBUG: Session token is: 93d69e10-40f2-11e9-a81f525400d08e1d 4102020-04-15 07:59:27,184 - DEBUG: Session token is: 43b16480-7ede-11ea-a9a8-02429dc76bdd
4002019-03-07 18:03:41,834 - DEBUG: Found device with name 'intelc3850-2' 4112020-04-15 07:59:27,207 - DEBUG: Found device with name 'intelc3850-2'
4012019-03-07 18:03:41,878 - DEBUG: Found VNF descriptor with name 'fortigateImage' 4122020-04-15 07:59:27,281 - DEBUG: Found VNF descriptor with name 'fortigateImage'
4022019-03-07 18:03:41,888 - DEBUG: Encrypt string content: 4132020-04-15 07:59:27,286 - DEBUG: Reading file content as text: \
403cloudInit("vnf_config/fortigateImage/fortigateFW.conf") 414vnf_config/fortigateImage/fortigateFW.conf
4042019-03-07 18:03:41,889 - DEBUG: Encrypt string content: 4152020-04-15 07:59:27,359 - DEBUG: Encrypt file content: \
405License("vnf_config/fortigateImage/fortigateLicense.lic") 416vnf_config/fortigateImage/fortigateFW.conf
4062019-03-07 18:03:41,889 - DEBUG: Instantiate fortigateImage VNF on 'intelc3850-2' 4172020-04-15 07:59:27,364 - DEBUG: Reading file content as text: \
4072019-03-07 18:03:49,887 - INFO: Done 418vnf_config/fortigateImage/fortigateLicense.lic
4082019-03-07 18:03:49,921 - DEBUG: Logging out and exiting... 4192020-04-15 07:59:27,407 - DEBUG: Encrypt file content: \
420vnf_config/fortigateImage/fortigateLicense.lic
4212020-04-15 07:59:27,409 - DEBUG: Instantiate fortigateImage VNF on 'intelc3850-2'
4222020-04-15 07:59:32,720 - INFO: Done
4232020-04-15 07:59:32,747 - DEBUG: Logging out and exiting...
409ok 424ok
410test 009: Pause Fortigate VNF instance (__main__.UnittestSuite) ... 425test 008: Pause Fortigate VNF instance (__main__.UnittestSuite) ...
4112019-03-07 18:03:49,923 - INFO: Control VNF 4262020-04-15 07:59:32,840 - INFO: Control VNF
4122019-03-07 18:03:49,982 - DEBUG: Login successful on host 'localhost' 4272020-04-15 07:59:32,877 - DEBUG: Login successful on host 'localhost'
4132019-03-07 18:03:49,983 - DEBUG: Session token is: 98b17220-40f2-11e9-a81f525400d08e1d 4282020-04-15 07:59:32,880 - DEBUG: Session token is: 47166170-7ede-11ea-a9a8-02429dc76bdd
4142019-03-07 18:03:49,991 - DEBUG: Found device with name 'intelc3850-2' 4292020-04-15 07:59:32,904 - DEBUG: Found device with name 'intelc3850-2'
4152019-03-07 18:03:50,031 - DEBUG: Found VNF instance with name 'fortigateFWInstance' 4302020-04-15 07:59:32,954 - DEBUG: Found VNF instance with name 'fortigateFWInstance'
4162019-03-07 18:03:50,031 - DEBUG: Control VNF instance 'intelc3850-2', command: 4312020-04-15 07:59:32,955 - DEBUG: Control VNF instance 'intelc3850-2', command: pause
417pause 4322020-04-15 07:59:33,114 - INFO: Done
4182019-03-07 18:03:50,914 - INFO: Done 4332020-04-15 07:59:33,138 - DEBUG: Logging out and exiting...
4192019-03-07 18:03:50,933 - DEBUG: Logging out and exiting...
420ok 434ok
421test 010: Resume Fortigate VNF instance (__main__.UnittestSuite) ... 435test 009: Resume Fortigate VNF instance (__main__.UnittestSuite) ...
4222019-03-07 18:03:50,933 - INFO: Control VNF 4362020-04-15 07:59:33,142 - INFO: Control VNF
4232019-03-07 18:03:50,992 - DEBUG: Login successful on host 'localhost' 4372020-04-15 07:59:33,174 - DEBUG: Login successful on host 'localhost'
4242019-03-07 18:03:50,992 - DEBUG: Session token is: 994c0473-40f2-11e9-a81f525400d08e1d 4382020-04-15 07:59:33,177 - DEBUG: Session token is: 4743b300-7ede-11ea-a9a8-02429dc76bdd
4252019-03-07 18:03:51,005 - DEBUG: Found device with name 'intelc3850-2' 4392020-04-15 07:59:33,209 - DEBUG: Found device with name 'intelc3850-2'
4262019-03-07 18:03:51,023 - DEBUG: Found VNF instance with name 'fortigateFWInstance' 4402020-04-15 07:59:33,257 - DEBUG: Found VNF instance with name 'fortigateFWInstance'
4272019-03-07 18:03:51,024 - DEBUG: Control VNF instance 'intelc3850-2', command: 4412020-04-15 07:59:33,258 - DEBUG: Control VNF instance 'intelc3850-2', command: resume
428resume 4422020-04-15 07:59:33,365 - INFO: Done
4292019-03-07 18:03:51,963 - INFO: Done 4432020-04-15 07:59:33,389 - DEBUG: Logging out and exiting...
4302019-03-07 18:03:51,991 - DEBUG: Logging out and exiting...
431ok 444ok
432test 011: Stop Fortigate VNF instance (__main__.UnittestSuite) ... 445test 010: Stop Fortigate VNF instance (__main__.UnittestSuite) ...
4332019-03-07 18:03:51,992 - INFO: Control VNF 4462020-04-15 07:59:33,393 - INFO: Control VNF
4342019-03-07 18:03:52,031 - DEBUG: Login successful on host 'localhost' 4472020-04-15 07:59:33,436 - DEBUG: Login successful on host 'localhost'
4352019-03-07 18:03:52,031 - DEBUG: Session token is: 99ed9ba3-40f2-11e9-a81f525400d08e1d 4482020-04-15 07:59:33,438 - DEBUG: Session token is: 476aea10-7ede-11ea-a9a8-02429dc76bdd
4362019-03-07 18:03:52,046 - DEBUG: Found device with name 'intelc3850-2' 4492020-04-15 07:59:33,467 - DEBUG: Found device with name 'intelc3850-2'
4372019-03-07 18:03:52,073 - DEBUG: Found VNF instance with name 'fortigateFWInstance' 4502020-04-15 07:59:33,511 - DEBUG: Found VNF instance with name 'fortigateFWInstance'
4382019-03-07 18:03:52,073 - DEBUG: Control VNF instance 'intelc3850-2', command: stop 4512020-04-15 07:59:33,513 - DEBUG: Control VNF instance 'intelc3850-2', command: stop
4392019-03-07 18:03:53,011 - INFO: Done 4522020-04-15 07:59:33,865 - INFO: Done
4402019-03-07 18:03:53,047 - DEBUG: Logging out and exiting... 4532020-04-15 07:59:33,891 - DEBUG: Logging out and exiting...
441ok 454ok
442test 012: Start Fortigate VNF instance (__main__.UnittestSuite) ... 455test 011: Start Fortigate VNF instance (__main__.UnittestSuite) ...
4432019-03-07 18:03:53,048 - INFO: Control VNF 4562020-04-15 07:59:33,895 - INFO: Control VNF
4442019-03-07 18:03:53,080 - DEBUG: Login successful on host 'localhost' 4572020-04-15 07:59:33,931 - DEBUG: Login successful on host 'localhost'
4452019-03-07 18:03:53,080 - DEBUG: Session token is: 9a8d8523-40f2-11e9-a81f525400d08e1d 4582020-04-15 07:59:33,932 - DEBUG: Session token is: 47b70e41-7ede-11ea-a9a8-02429dc76bdd
4462019-03-07 18:03:53,109 - DEBUG: Found device with name 'intelc3850-2' 4592020-04-15 07:59:33,956 - DEBUG: Found device with name 'intelc3850-2'
4472019-03-07 18:03:53,140 - DEBUG: Found VNF instance with name 'fortigateFWInstance' 4602020-04-15 07:59:34,013 - DEBUG: Found VNF instance with name 'fortigateFWInstance'
4482019-03-07 18:03:53,141 - DEBUG: Control VNF instance 'intelc3850-2', command: 4612020-04-15 07:59:34,015 - DEBUG: Control VNF instance 'intelc3850-2', command: start
449start 4622020-04-15 07:59:36,599 - INFO: Done
4502019-03-07 18:03:54,087 - INFO: Done 4632020-04-15 07:59:36,623 - DEBUG: Logging out and exiting...
4512019-03-07 18:03:54,123 - DEBUG: Logging out and exiting...
452ok 464ok
453 465
454---------------------------------------------------------------------- 466----------------------------------------------------------------------
455Ran 12 tests in 33.328s 467Ran 11 tests in 55.946s
456 468
457OK</programlisting></para> 469OK</programlisting>
458 470
459 <para>Below you'll find sample unit-test command line options for 471 <para>Below you'll find sample unit-test command line options for
460 running the Fortigate <emphasis role="bold">cleanup</emphasis> 472 running the Fortigate <emphasis role="bold">cleanup</emphasis>
461 scenario:</para> 473 scenario:</para>
462 474
463 <programlisting>$ python unittestSuite.py -u admin -p admin -H localhost -n intelc3850-2 -s 475 <programlisting>$ python unittestSuite.py -u admin -p admin -H localhost -n intelc3850-2 -s
464fortigateCleanup.json -d "Fortigate cleanup scenario" 476fortigateCleanup.json -d "Fortigate cleanup scenario"</programlisting>
465</programlisting>
466 477
467 <para>Setting the console logging level to INFO: <programlisting>consoleLoggingLevel = logging.INFO</programlisting></para> 478 <para>Setting the console logging level to INFO: <programlisting>consoleLoggingLevel = logging.INFO</programlisting></para>
468 479
469 <para><emphasis role="bold">Expected 480 <para><emphasis role="bold">Expected Output:</emphasis></para>
470 Output:</emphasis><programlisting>Running Fortigate cleanup scenario... 481
482 <programlisting>Running Fortigate cleanup scenario...
483
471test 001: Destroying Fortigate VNF (__main__.UnittestSuite) ... 484test 001: Destroying Fortigate VNF (__main__.UnittestSuite) ...
4722019-03-07 18:04:55,997 - INFO: Destroy VNF 4852020-04-15 08:03:40,756 - INFO: Destroy VNF
4732019-03-07 18:04:56,668 - INFO: Done 4862020-04-15 08:03:41,358 - INFO: Done
474ok 487ok
475test 002: Deleting network bridge LAN (__main__.UnittestSuite) ... 488test 002: Deleting network bridge LAN (__main__.UnittestSuite) ...
4762019-03-07 18:04:56,739 - INFO: Delete OVS network bridge 4892020-04-15 08:03:41,494 - INFO: Delete OVS network bridge
4772019-03-07 18:04:57,908 - INFO: Done 4902020-04-15 08:03:41,731 - INFO: Done
478ok 491ok
479test 003: Deleting network bridge WAN (__main__.UnittestSuite) ... 492test 003: Deleting network bridge WAN (__main__.UnittestSuite) ...
4802019-03-07 18:04:57,931 - INFO: Delete OVS network bridge 4932020-04-15 08:03:41,766 - INFO: Delete OVS network bridge
4812019-03-07 18:04:59,464 - INFO: Done 4942020-04-15 08:03:43,270 - INFO: Done
482ok 495ok
483test 004: Unbind lan NIC from DPDK uCPE device (__main__.UnittestSuite) ... 496test 004: Unbind lan NIC from DPDK (__main__.UnittestSuite) ...
4842019-03-07 18:04:59,477 - INFO: Unbind NIC 4972020-04-15 08:03:43,375 - INFO: Unbind NIC
4852019-03-07 18:05:00,639 - INFO: Done 4982020-04-15 08:03:45,405 - INFO: Done
486ok 499ok
487test 005: Unbind wan NIC from DPDK uCPE device (__main__.UnittestSuite) ... 500test 005: Unbind wan NIC from DPDK (__main__.UnittestSuite) ...
4882019-03-07 18:05:00,658 - INFO: Unbind NIC 5012020-04-15 08:03:45,434 - INFO: Unbind NIC
4892019-03-07 18:05:01,533 - INFO: Done 5022020-04-15 08:03:47,633 - INFO: Done
490ok 503ok
491test 006: Offboarding Fortigate VNF (__main__.UnittestSuite) ... 504test 006: Offboarding Fortigate VNF (__main__.UnittestSuite) ...
4922019-03-07 18:05:01,566 - INFO: Offboard VNF 5052020-04-15 08:03:47,701 - INFO: Offboard VNF
4932019-03-07 18:05:01,814 - INFO: Done 5062020-04-15 08:03:47,919 - INFO: Done
494ok
495test 007: Remove VCPE Agent device (__main__.UnittestSuite) ...
4962019-03-07 18:05:01,853 - INFO: Remove uCPE device
4972019-03-07 18:05:02,184 - INFO: Done
498ok 507ok
499 508
500---------------------------------------------------------------------- 509----------------------------------------------------------------------
501Ran 7 tests in 6.198s 510Ran 6 tests in 7.192s
502 511
503OK</programlisting></para> 512OK</programlisting>
504 </section> 513 </section>
505 </section> 514 </section>
506 515
@@ -826,16 +835,22 @@ Usage: configDPDK.py [options]
826Configure DPDK 835Configure DPDK
827 836
828Options: 837Options:
829--version show program's version number and exit 838 --version show program's version number and exit
830-h, --help show this help message and exit 839 -h, --help show this help message and exit
831-u USERNAME, --username=USERNAME Enea uCPE Manager login username 840 -u USERNAME, --username=USERNAME
832-p PASSWORD, --password=PASSWORD Enea uCPE Manager login password 841 Enea uCPE Manager login username
833-H HOST, --host=HOST Enea uCPE Manager host name or IP address 842 -p PASSWORD, --password=PASSWORD
834-s STATE, --state=STATE Enable/Disable 843 Enea uCPE Manager login password
835-n DEVICENAME, --device-name=DEVICENAME Name of the device 844 -H HOST, --host=HOST Enea uCPE Manager host name or IP address
845 -s STATE, --state=STATE
846 Enable/Disable
847 -n DEVICENAME, --device-name=DEVICENAME
848 Name of the device
849 -o STORENAME, --store-name=STORENAME
850 Name of the store
836 851
837Mandatory options: 852 Mandatory options:
838-H/--host, -s/--state</programlisting> 853 -H/--host, -s/--state, -n/--device-name or -o/--store-name</programlisting>
839 </section> 854 </section>
840 855
841 <section id="run_pydpdk"> 856 <section id="run_pydpdk">
@@ -884,24 +899,26 @@ Mandatory options:
884 <programlisting>$ python bindNetworkInterface.py -h 899 <programlisting>$ python bindNetworkInterface.py -h
885Usage: bindNetworkInterface.py [options] 900Usage: bindNetworkInterface.py [options]
886 901
887Binds a physical network interface to a DPDK, standard or SR-IOV. 902Binds a physical network interface to a DPDK or SR-IOV.
888 903
889Options: 904Options:
890 --version show program's version number and exit 905 --version show program's version number and exit
891 -h, --help show this help message and exit 906 -h, --help show this help message and exit
892 -u USERNAME, --username=USERNAME 907 -u USERNAME, --username=USERNAME
893 Enea uCPE Manager login username 908 Enea uCPE Manager login username
894 -p PASSWORD, --password=PASSWORD 909 -p PASSWORD, --password=PASSWORD
895 Enea uCPE Manager login password 910 Enea uCPE Manager login password
896 -H HOST, --host=HOST Enea uCPE Manager host name or IP address 911 -H HOST, --host=HOST Enea uCPE Manager host name or IP address
897 -f NICFILE, --file=NICFILE 912 -f NICFILE, --file=NICFILE
898File containing network interface Information in JSON 913 File containing network interface Information in JSON
899format 914 format
900 -n DEVICENAME, --device-name=DEVICENAME 915 -n DEVICENAME, --device-name=DEVICENAME
901 Name of the device 916 Name of the device
917 -o STORENAME, --store-name=STORENAME
918 Name of the store
902 919
903 Mandatory options: 920 Mandatory options:
904 -H/--host, -f/--file, -n/--device-name</programlisting> 921 -H/--host, -f/--file, -n/--device-name or -o/--store-name</programlisting>
905 </section> 922 </section>
906 923
907 <section id="bind_config"> 924 <section id="bind_config">
@@ -1164,20 +1181,22 @@ Usage: newNetworkBridge.py [options]
1164Create an OVS Bridge on a device. 1181Create an OVS Bridge on a device.
1165 1182
1166Options: 1183Options:
1167 --version show program's version number and exit 1184 --version show program's version number and exit
1168 -h, --help show this help message and exit 1185 -h, --help show this help message and exit
1169 -u USERNAME, --username=USERNAME 1186 -u USERNAME, --username=USERNAME
1170 Enea uCPE Manager login username 1187 Enea uCPE Manager login username
1171 -p PASSWORD, --password=PASSWORD 1188 -p PASSWORD, --password=PASSWORD
1172 Enea uCPE Manager login password 1189 Enea uCPE Manager login password
1173 -H HOST, --host=HOST Enea uCPE Manager host name or IP address 1190 -H HOST, --host=HOST Enea uCPE Manager host name or IP address
1174 -f OVSFILE, --file=OVSFILE 1191 -f OVSFILE, --file=OVSFILE
1175 File containing OVS bridge Information in JSON format 1192 File containing OVS bridge Information in JSON format
1176 -n DEVICENAME, --device-name=DEVICENAME 1193 -n DEVICENAME, --device-name=DEVICENAME
1177 Name of the device 1194 Name of the device
1195 -o STORENAME, --store-name=STORENAME
1196 Name of the store
1178 1197
1179 Mandatory options: 1198 Mandatory options:
1180 -H/--host, -f/--file, -n/--device-name</programlisting> 1199 -H/--host, -f/--file, -n/--device-name or -o/--store-name</programlisting>
1181 </section> 1200 </section>
1182 1201
1183 <section id="json_creovs"> 1202 <section id="json_creovs">
@@ -1253,20 +1272,22 @@ Usage: delNetworkBridge.py [options]
1253Delete an OVS Bridge from a device. 1272Delete an OVS Bridge from a device.
1254 1273
1255Options: 1274Options:
1256 --version show program's version number and exit 1275 --version show program's version number and exit
1257 -h, --help show this help message and exit 1276 -h, --help show this help message and exit
1258 -u USERNAME, --username=USERNAME 1277 -u USERNAME, --username=USERNAME
1259 Enea uCPE Manager login username 1278 Enea uCPE Manager login username
1260 -p PASSWORD, --password=PASSWORD 1279 -p PASSWORD, --password=PASSWORD
1261 Enea uCPE Manager login password 1280 Enea uCPE Manager login password
1262 -H HOST, --host=HOST Enea uCPE Manager host name or IP address 1281 -H HOST, --host=HOST Enea uCPE Manager host name or IP address
1263 -f OVSFILE, --file=OVSFILE 1282 -f OVSFILE, --file=OVSFILE
1264 File containing OVS bridge Information in JSON format 1283 File containing OVS bridge Information in JSON format
1265 -n DEVICENAME, --device-name=DEVICENAME 1284 -n DEVICENAME, --device-name=DEVICENAME
1266 Name of the device 1285 Name of the device
1286 -o STORENAME, --store-name=STORENAME
1287 Name of the store
1267 1288
1268 Mandatory options: 1289 Mandatory options:
1269 -H/--host, -f/--file, -n/--device-name</programlisting> 1290 -H/--host, -f/--file, -n/--device-name or -o/--store-name</programlisting>
1270 </section> 1291 </section>
1271 1292
1272 <section id="json_delovs"> 1293 <section id="json_delovs">
@@ -1412,26 +1433,26 @@ Usage: onboardVNFRaw.py [options]
1412Onboard a VNF in Enea uCPE Manager based upon its raw constituents. 1433Onboard a VNF in Enea uCPE Manager based upon its raw constituents.
1413 1434
1414Options: 1435Options:
1415 --version show program's version number and exit 1436 --version show program's version number and exit
1416 -h, --help show this help message and exit 1437 -h, --help show this help message and exit
1417 -u USERNAME, --username=USERNAME 1438 -u USERNAME, --username=USERNAME
1418 Enea uCPE Manager login username 1439 Enea uCPE Manager login username
1419 -p PASSWORD, --password=PASSWORD 1440 -p PASSWORD, --password=PASSWORD
1420 Enea uCPE Manager login password 1441 Enea uCPE Manager login password
1421 -H HOST, --host=HOST Enea uCPE Manager host name or IP address 1442 -H HOST, --host=HOST Enea uCPE Manager host name or IP address
1422 -f FTPUSERNAME, --ftpUsername=FTPUSERNAME 1443 -f FTPUSERNAME, --ftpUsername=FTPUSERNAME
1423 Username for FTP 1444 Username for FTP
1424 -w FTPPASSWORD, --ftpPassword=FTPPASSWORD 1445 -w FTPPASSWORD, --ftpPassword=FTPPASSWORD
1425 FTP password 1446 FTP password
1426 -P FTPPORT, --ftpPort=FTPPORT 1447 -P FTPPORT, --ftpPort=FTPPORT
1427 FTP port 1448 FTP port
1428 -i IMAGEPATH, --imagePath=IMAGEPATH 1449 -i IMAGEPATH, --imagePath=IMAGEPATH
1429 VNF bundle image path 1450 VNF image path
1430 -b BUNDLEINFO, --bundleInfo=BUNDLEINFO 1451 -b IMAGEINFO, --imageInfo=IMAGEINFO
1431 File name of VNF bundle information in JSON format 1452 File name of VNF image information in JSON format
1432 1453
1433 Mandatory options: 1454 Mandatory options:
1434 -H/--host, -b/--bundleInfo, -i/--imagePath</programlisting> 1455 -H/--host, -b/--imageInfo, -i/--imagePath</programlisting>
1435 </section> 1456 </section>
1436 1457
1437 <section id="json_image"> 1458 <section id="json_image">
@@ -1594,22 +1615,22 @@ Usage: instantiateVNFI.py [options]
1594Instantiate a VNF via Enea uCPE Manager. 1615Instantiate a VNF via Enea uCPE Manager.
1595 1616
1596Options: 1617Options:
1597 --version show program's version number and exit 1618 --version show program's version number and exit
1598 -h, --help show this help message and exit 1619 -h, --help show this help message and exit
1599 -u USERNAME, --username=USERNAME 1620 -u USERNAME, --username=USERNAME
1600 Enea uCPE Manager login username 1621 Enea uCPE Manager login username
1601 -p PASSWORD, --password=PASSWORD 1622 -p PASSWORD, --password=PASSWORD
1602 Enea uCPE Manager login password 1623 Enea uCPE Manager login password
1603 -H HOST, --host=HOST Enea uCPE Manager host name or IP address 1624 -H HOST, --host=HOST Enea uCPE Manager host name or IP address
1604 -t VNFTYPE, --vnfType=VNFTYPE 1625 -t VNFTYPE, --vnfType=VNFTYPE
1605 VNF Type (Name of VNF descriptor) 1626 VNF Type (Name of VNF descriptor)
1606 -n DEVICENAME, --device-name=DEVICENAME 1627 -n VIMDEVICENAME, --device-name=VIMDEVICENAME
1607 Name of the device 1628 Name of the device
1608 -f PROPSFILE, --file=PROPSFILE 1629 -f PROPSFILE, --file=PROPSFILE
1609 File containing VNF instance properties in JSON format 1630 File containing VNF instance properties in JSON format
1610 1631
1611 Mandatory options: 1632 Mandatory options:
1612 -H/--host, -t/--vnfType, -n/--device-name, -f/--file</programlisting> 1633 -H/--host, -t/--vnfType, -n/--device-name, -f/--file</programlisting>
1613 </section> 1634 </section>
1614 1635
1615 <section id="json_inst"> 1636 <section id="json_inst">
@@ -1674,22 +1695,22 @@ Usage: controlVNFI.py [options]
1674Controls a VNF instance from Enea uCPE Manager. 1695Controls a VNF instance from Enea uCPE Manager.
1675 1696
1676Options: 1697Options:
1677 --version show program's version number and exit 1698 --version show program's version number and exit
1678 -h, --help show this help message and exit 1699 -h, --help show this help message and exit
1679 -u USERNAME, --username=USERNAME 1700 -u USERNAME, --username=USERNAME
1680 Enea uCPE Manager login username 1701 Enea uCPE Manager login username
1681 -p PASSWORD, --password=PASSWORD 1702 -p PASSWORD, --password=PASSWORD
1682 Enea uCPE Manager login password 1703 Enea uCPE Manager login password
1683 -H HOST, --host=HOST Enea uCPE Manager host name or IP address 1704 -H HOST, --host=HOST Enea uCPE Manager host name or IP address
1684 -i VNFINSTANCENAME, --vnfInstanceName=VNFINSTANCENAME 1705 -i VNFINSTANCENAME, --vnfInstanceName=VNFINSTANCENAME
1685 Name of VNF instance 1706 Name of VNF instance
1686 -n DEVICENAME, --device-name=DEVICENAME 1707 -n VIMDEVICENAME, --device-name=VIMDEVICENAME
1687 Name of the device 1708 Name of the device
1688 -c COMMAND, --command=COMMAND 1709 -c COMMAND, --command=COMMAND
1689 Control command (stop, start, pause or resume) 1710 Control command (stop, start, pause or resume)
1690 1711
1691 Mandatory options: 1712 Mandatory options:
1692 -H/--host, -i/--vnfInstanceName, -n/--device-name, -c/--command</programlisting> 1713 -H/--host, -i/--vnfInstanceName, -n/--device-name, -c/--command</programlisting>
1693 </section> 1714 </section>
1694 1715
1695 <section id="json_control"> 1716 <section id="json_control">
@@ -1758,20 +1779,20 @@ Usage: destroyVNFI.py [options]
1758Destroys a VNF instance from Enea uCPE Manager. 1779Destroys a VNF instance from Enea uCPE Manager.
1759 1780
1760Options: 1781Options:
1761 --version show program's version number and exit 1782 --version show program's version number and exit
1762 -h, --help show this help message and exit 1783 -h, --help show this help message and exit
1763 -u USERNAME, --username=USERNAME 1784 -u USERNAME, --username=USERNAME
1764 Enea uCPE Manager login username 1785 Enea uCPE Manager login username
1765 -p PASSWORD, --password=PASSWORD 1786 -p PASSWORD, --password=PASSWORD
1766 Enea uCPE Manager login password 1787 Enea uCPE Manager login password
1767 -H HOST, --host=HOST Enea uCPE Manager host name or IP address 1788 -H HOST, --host=HOST Enea uCPE Manager host name or IP address
1768 -i VNFINSTANCENAME, --vnfInstanceName=VNFINSTANCENAME 1789 -i VNFINSTANCENAME, --vnfInstanceName=VNFINSTANCENAME
1769 Name of VNF instance 1790 Name of VNF instance
1770 -n DEVICENAME, --device-name=DEVICENAME 1791 -n VIMDEVICENAME, --device-name=VIMDEVICENAME
1771 Name of the device 1792 Name of the device
1772 1793
1773 Mandatory options: 1794 Mandatory options:
1774 -H/--host, -i/--vnfInstanceName, -n/--device-name</programlisting> 1795 -H/--host, -i/--vnfInstanceName, -n/--device-name</programlisting>
1775 </section> 1796 </section>
1776 1797
1777 <section id="json_destroy"> 1798 <section id="json_destroy">
@@ -2423,6 +2444,92 @@ phase always-after-startup from inteld1521-6
24232020-04-14 14:33:52,391 - DEBUG: Logging out and exiting...</programlisting> 24442020-04-14 14:33:52,391 - DEBUG: Logging out and exiting...</programlisting>
2424 </section> 2445 </section>
2425 </section> 2446 </section>
2447
2448 <section id="offline_config_store">
2449 <title>Setting up an Offline Configuration Store</title>
2450
2451 <para>Steps and options on how to add and remove a Config Store in the
2452 Enea uCPE Manager are described below.</para>
2453
2454 <section id="script_opts_config_store">
2455 <title>Script Options</title>
2456
2457 <para>To add a config store in the Enea uCPE Manager use the
2458 <filename>addConfigStore.py</filename> script detailed below. Bear in
2459 mind a <filename>CONFIGSTORE</filename> json file is needed to
2460 successfully run the script in order to add an offline configuration
2461 store.</para>
2462
2463 <para>Example of a <filename>CONFIGSTORE</filename> json file:</para>
2464
2465 <programlisting>{
2466 "descr": "intelc3850-2",
2467 "version": "2.2.2",
2468 "deviceGroupingTags": "",
2469 "deviceId": "intelc3850-2",
2470 "name": "intelc3850-2"
2471}</programlisting>
2472
2473 <para>Adding an offline config store in the Enea uCPE Manager using
2474 the command line:</para>
2475
2476 <programlisting>$ python addConfigStore.py -h
2477Usage: addConfigStore.py [options]
2478
2479Add a config store in Enea uCPE Manager.
2480
2481Options:
2482 --version show program's version number and exit
2483 -h, --help show this help message and exit
2484 -u USERNAME, --username=USERNAME
2485 Enea uCPE Manager login username
2486 -p PASSWORD, --password=PASSWORD
2487 Enea uCPE Manager login password
2488 -H HOST, --host=HOST Enea uCPE Manager host name or IP address
2489 -f CONFIGSTOREFILE, --file=CONFIGSTOREFILE
2490 File containing Store Information in JSON format
2491
2492 Mandatory options:
2493 -H/--host, -f/--file</programlisting>
2494
2495 <para>Removing a config store in the Enea uCPE Manager using the
2496 command line:</para>
2497
2498 <programlisting>python removeConfigStore.py -h
2499Usage: removeConfigStore.py [options]
2500
2501Remove a config store from Enea uCPE Manager.
2502
2503Options:
2504 --version show program's version number and exit
2505 -h, --help show this help message and exit
2506 -u USERNAME, --username=USERNAME
2507 Enea uCPE Manager login username
2508 -p PASSWORD, --password=PASSWORD
2509 Enea uCPE Manager login password
2510 -H HOST, --host=HOST Enea uCPE Manager host name or IP address
2511 -o STORENAME, --store-name=STORENAME
2512 Name of the Offline Config Store
2513
2514 Mandatory options:
2515 -H/--host, -o/--store-name</programlisting>
2516
2517 <para>Modifications of an Offline Configurations Store are not possible
2518 post deployment in the uCPE Manager, as there is no option for
2519 changing script states (e.g. changing the DPDK state in the
2520 <filename>configDPDK.py</filename> python script or unbinding interfaces).
2521 The offline store must be deleted and the new state(s)/changes added in,
2522 before being deployed anew. This was not deemed necessary
2523 for the current ZTP functionality.</para>
2524
2525 <para>An action on a device is applied immediately, while
2526 a configuration in an offline configuration store is something
2527 prepared for the future (when the device is added to the
2528 uCPE Manager and the configuration is sent to it). The
2529 configuration is ideally created with the needed modifications from
2530 the start.</para>
2531 </section>
2532 </section>
2426 </section> 2533 </section>
2427 2534
2428 <section id="test_harness"> 2535 <section id="test_harness">