summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormrpa <miruna.paun@enea.com>2020-04-16 12:27:40 +0200
committermrpa <miruna.paun@enea.com>2020-04-16 12:32:02 +0200
commita7bb74c6f96f1e3c390bc92e8ec83ff763fdd9ef (patch)
tree2e9aa2317e2ad17798cd85d6ddb5524f05c5c72f
parent50e632c83c3a9e9a768125d5f75b0871a6a106a3 (diff)
downloadel_releases-nfv-access-a7bb74c6f96f1e3c390bc92e8ec83ff763fdd9ef.tar.gz
In book-enea-nfv-access-auto-fw-th-user-guide
New Sections 4.1.22-4.1.25 In book-enea-nfv-access-system-test-specification New Sections 3.1.16-3.1.19. Change-Id: I494eccc7339d1159c49a0d641023a1b564a67a54 Signed-off-by: mrpa <miruna.paun@enea.com>
-rw-r--r--doc/book-enea-nfv-access-auto-fw-th-user-guide/doc/automation_framework_test_harness.xml310
-rw-r--r--doc/book-enea-nfv-access-system-test-specification/doc/sample_test_cases.xml166
2 files changed, 474 insertions, 2 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 888db4a..b7de1af 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
@@ -2007,12 +2007,14 @@ Options:
2007 <filename>installAndActivate</filename> Python module.</para> 2007 <filename>installAndActivate</filename> Python module.</para>
2008 2008
2009 <para><emphasis role="bold">Sample unit-test JSON file 2009 <para><emphasis role="bold">Sample unit-test JSON file
2010 format:</emphasis><programlisting>[ 2010 format:</emphasis></para>
2011
2012 <programlisting>[
2011 { 2013 {
2012 "name": "Install and activate NFVA image on uCPE device from uCPE Manager", 2014 "name": "Install and activate NFVA image on uCPE device from uCPE Manager",
2013 "args": "-i enea-nfv-access-xeon-d.rootfs.ostree.tar.bz2 -t xeon_d -d inteld1521-16" 2015 "args": "-i enea-nfv-access-xeon-d.rootfs.ostree.tar.bz2 -t xeon_d -d inteld1521-16"
2014 } 2016 }
2015]</programlisting></para> 2017]</programlisting>
2016 </section> 2018 </section>
2017 2019
2018 <section id="pymod_install_activate"> 2020 <section id="pymod_install_activate">
@@ -2117,6 +2119,310 @@ Options:
21172020-02-28 12:51:56,025 - DEBUG: Logging out and exiting...</programlisting> 21192020-02-28 12:51:56,025 - DEBUG: Logging out and exiting...</programlisting>
2118 </section> 2120 </section>
2119 </section> 2121 </section>
2122
2123 <section id="upload_custom_script">
2124 <title>Uploading a Custom Script to the uCPE Manager</title>
2125
2126 <para>Steps and options on how to upload a custom script to the uCPE
2127 Manager are described below.</para>
2128
2129 <section id="script_opts_upload_custom_script">
2130 <title>Script Options</title>
2131
2132 <programlisting>$ python customScripts/upload.py -h
21332020-04-14 10:26:23,582 - INFO: Upload Custom Script
2134Usage: upload.py [options]
2135
2136Add a Custom Script to Enea uCPE Manager
2137
2138Options:
2139 --version show program's version number and exit
2140 -h, --help show this help message and exit
2141 -u USERNAME, --username=USERNAME
2142 Enea uCPE Manager login username
2143 -p PASSWORD, --password=PASSWORD
2144 Enea uCPE Manager login password
2145 -H HOST, --host=HOST Enea uCPE Manager host name or IP address
2146 -f CUSTOMSCRIPT, --file=CUSTOMSCRIPT
2147 Custom Script File
2148 -e PHASE, --phase=PHASE
2149 Execution phase. Must be one of the following: once-
2150 before-startup | always-before-startup | once-after-
2151 startup | always-after-startup
2152
2153 Mandatory options:
2154 -H/--host, -f/--file, -e/--phase</programlisting>
2155 </section>
2156
2157 <section id="json_upload_custom_script">
2158 <title>Configuring the JSON File</title>
2159
2160 <para>The JSON configuration file needed to upload a Custom Script to
2161 the uCPE Manager must contain a list of dictionaries. Each dictionary
2162 indicates the test case name and the test case arguments passed to the
2163 <filename>customScripts/upload</filename> Python module.</para>
2164
2165 <para><emphasis role="bold">Sample unit-test JSON file
2166 format:</emphasis></para>
2167
2168 <programlisting>[
2169 {
2170 "name": "Uploading a Custom Script to the uCPE Manager",
2171 "args": "-f ../../lab_config/customScripts/test_success_after_always \
2172 -e always-after-startup"
2173 }
2174]</programlisting>
2175 </section>
2176
2177 <section id="pymod_upload_custom_script">
2178 <title>Running the Python Module</title>
2179
2180 <para>The <filename>customScripts/upload</filename> Python module can
2181 be executed individually by running the following command line:</para>
2182
2183 <programlisting>$ python automation_framework/customScripts/upload.py \
2184-f lab_config/customScripts/test_success_after_always -e always-after-startup
21852020-04-14 14:08:02,824 - DEBUG: Started logging
21862020-04-14 14:08:02,915 - INFO: Upload Custom Script
21872020-04-14 14:08:02,994 - DEBUG: Login successful on host '172.24.3.109'
21882020-04-14 14:08:02,995 - DEBUG: Session token is: 97544990-7e48-11ea-835c-02423a1c239f
21892020-04-14 14:08:02,996 - DEBUG: Upload test_success_after_always to uCPE Manager. \
2190Content: #!/bin/bash
2191echo test_success_after_always
21922020-04-14 14:08:03,138 - INFO: Done
21932020-04-14 14:08:03,169 - DEBUG: Logging out and exiting...</programlisting>
2194 </section>
2195 </section>
2196
2197 <section id="upload_custom_script_device">
2198 <title>Uploading a Custom Script from the uCPE Manager to a
2199 Device</title>
2200
2201 <para>Steps and options on how to upload a custom script from the uCPE
2202 Manager to a Device are described below.</para>
2203
2204 <section id="script_opts_upload_custom_script_device">
2205 <title>Script Options</title>
2206
2207 <programlisting>$ python customScripts/uploadOnDevice.py -h
22082020-04-14 10:27:05,614 - INFO: Upload Custom Script on Device
2209Usage: uploadOnDevice.py [options]
2210
2211Add a Custom Script to a Device
2212
2213Options:
2214 --version show program's version number and exit
2215 -h, --help show this help message and exit
2216 -u USERNAME, --username=USERNAME
2217 Enea uCPE Manager login username
2218 -p PASSWORD, --password=PASSWORD
2219 Enea uCPE Manager login password
2220 -H HOST, --host=HOST Enea uCPE Manager host name or IP address
2221 -c CUSTOMSCRIPTNAME, --customScriptName=CUSTOMSCRIPTNAME
2222 Custom Script Name that resides on Enea uCPE Manager
2223 -e PHASE, --phase=PHASE
2224 Execution phase. Must be one of the following: once-
2225 before-startup | always-before-startup | once-after-
2226 startup | always-after-startup
2227 -n DEVICENAME, --device-name=DEVICENAME
2228 Name of the device
2229 -r, --reboot Reboot the device after uploading
2230
2231 Mandatory options:
2232 -H/--host, -c/--customScriptName, -e/--phase, -n/--device-name</programlisting>
2233 </section>
2234
2235 <section id="json_upload_custom_script_device">
2236 <title>Configuring the JSON File</title>
2237
2238 <para>The JSON configuration file needed to upload a Custom Script
2239 from the uCPE Manager to a Device must contain a list of dictionaries.
2240 Each dictionary indicates the test case name and the test case
2241 arguments passed to the
2242 <filename>customScripts/uploadOnDevice</filename> Python
2243 module.</para>
2244
2245 <para><emphasis role="bold">Sample unit-test JSON file
2246 format:</emphasis></para>
2247
2248 <programlisting>[
2249{
2250"name": "Uploading a Custom Script from uCPE Manager to device",
2251"args": "-c test_success_after_always -e always-after-startup -n inteld1521-6"
2252}
2253]</programlisting>
2254 </section>
2255
2256 <section id="pymod_upload_custom_script_device">
2257 <title>Running the Python Module</title>
2258
2259 <para>The <filename>customScripts/uploadOnDevice</filename> Python
2260 module can be executed individually by running the following command
2261 line:</para>
2262
2263 <programlisting>$ python automation_framework/customScripts/uploadOnDevice.py -c \
2264test_success_after_always -e always-after-startup -n inteld1521-6
22652020-04-14 14:26:26,205 - DEBUG: Started logging
22662020-04-14 14:26:26,206 - INFO: Upload Custom Script on Device
22672020-04-14 14:26:26,251 - DEBUG: Login successful on host '172.24.3.109'
22682020-04-14 14:26:26,252 - DEBUG: Session token is: 28ebcb10-7e4b-11ea-835c-02423a1c239f
22692020-04-14 14:26:26,286 - DEBUG: Found device with name 'inteld1521-6'
22702020-04-14 14:26:26,287 - DEBUG: Upload test_success_after_always to inteld1521-6
22712020-04-14 14:26:26,314 - INFO: Done
22722020-04-14 14:26:26,341 - DEBUG: Logging out and exiting...</programlisting>
2273 </section>
2274 </section>
2275
2276 <section id="delete_custom_script">
2277 <title>Removing a Custom Script from the uCPE Manager</title>
2278
2279 <para>Steps and options on how to remove a custom script from the uCPE
2280 Manager are described below.</para>
2281
2282 <section id="script_opts_delete_custom_script">
2283 <title>Script Options</title>
2284
2285 <programlisting>$ python customScripts/delete.py -h
22862020-04-14 14:36:52,010 - INFO: Delete Custom Script on uCPE Manager
2287Usage: delete.py [options]
2288
2289Delete a Custom Script from a Device
2290
2291Options:
2292 --version show program's version number and exit
2293 -h, --help show this help message and exit
2294 -u USERNAME, --username=USERNAME
2295 Enea uCPE Manager login username
2296 -p PASSWORD, --password=PASSWORD
2297 Enea uCPE Manager login password
2298 -H HOST, --host=HOST Enea uCPE Manager host name or IP address
2299 -c CUSTOMSCRIPTNAME, --customScriptName=CUSTOMSCRIPTNAME
2300 Custom Script Name that resides on a Device
2301 -e PHASE, --phase=PHASE
2302 Execution phase. Must be one of the following: once-
2303 before-startup | always-before-startup | once-after-
2304 startup | always-after-startup
2305
2306 Mandatory options:
2307 -H/--host, -e/--phase</programlisting>
2308 </section>
2309
2310 <section id="json_delete_custom_script">
2311 <title>Configuring the JSON File</title>
2312
2313 <para>The JSON configuration file needed to remove a Custom Script
2314 from the uCPE Manager<remark>did you mean device or uCPE
2315 Manager?</remark> must contain a list of dictionaries. Each dictionary
2316 indicates the test case name and the test case arguments passed to the
2317 <filename>customScripts/delete</filename> Python module.</para>
2318
2319 <para><emphasis role="bold">Sample unit-test JSON file
2320 format:</emphasis></para>
2321
2322 <programlisting>[
2323{
2324"name": "Removing a Custom Script from uCPE Manager",
2325"args": "-c test_success_after_always -e always-after-startup"
2326}
2327]</programlisting>
2328 </section>
2329
2330 <section id="pymod_delete_custom_script">
2331 <title>Running the Python Module</title>
2332
2333 <para>The <filename>customScripts/delete</filename> Python module can
2334 be executed individually by running the following command line:</para>
2335
2336 <programlisting>$ python automation_framework/customScripts/delete.py -c \
2337test_success_after_always -e always-after-startup
23382020-04-14 14:39:22,042 - DEBUG: Started logging
23392020-04-14 14:39:22,042 - INFO: Delete Custom Script on uCPE Manager
23402020-04-14 14:39:22,081 - DEBUG: Login successful on host '172.24.3.109'
23412020-04-14 14:39:22,082 - DEBUG: Session token is: f75a83a0-7e4c-11ea-835c-02423a1c239f
23422020-04-14 14:39:22,099 - DEBUG: Found custom script: 'test_success_after_always'
23432020-04-14 14:39:22,099 - DEBUG: Delete script test_success_after_always, \
2344phase always-after-startup from uCPE Manager
23452020-04-14 14:39:22,118 - INFO: Done
23462020-04-14 14:39:22,135 - DEBUG: Logging out and exiting...</programlisting>
2347 </section>
2348 </section>
2349
2350 <section id="delete_custom_script_device">
2351 <title>Removing a Custom Script from a Device</title>
2352
2353 <para>Steps and options on how to remove a custom script from a device
2354 are described below.</para>
2355
2356 <section id="script_opts_delete_custom_script_device">
2357 <title>Script Options</title>
2358
2359 <programlisting>$ python customScripts/deleteOnDevice.py -h
23602020-04-14 10:27:23,536 - INFO: Delete Custom Script on Device
2361Usage: deleteOnDevice.py [options]
2362
2363Delete a Custom Script from a Device
2364
2365Options:
2366 --version show program's version number and exit
2367 -h, --help show this help message and exit
2368 -u USERNAME, --username=USERNAME
2369 Enea uCPE Manager login username
2370 -p PASSWORD, --password=PASSWORD
2371 Enea uCPE Manager login password
2372 -H HOST, --host=HOST Enea uCPE Manager host name or IP address
2373 -c CUSTOMSCRIPTNAME, --customScriptName=CUSTOMSCRIPTNAME
2374 Custom Script Name that resides on a Device
2375 -e PHASE, --phase=PHASE
2376 Execution phase. Must be one of the following: once-
2377 before-startup | always-before-startup | once-after-
2378 startup | always-after-startup
2379 -n DEVICENAME, --device-name=DEVICENAME
2380 Name of the device
2381
2382 Mandatory options:
2383 -H/--host, -n/--device-name</programlisting>
2384 </section>
2385
2386 <section id="json_delete_custom_script_device">
2387 <title>Configuring the JSON File</title>
2388
2389 <para>The JSON configuration file needed to remove a Custom Script
2390 from a device must contain a list of dictionaries. Each dictionary
2391 indicates the test case name and the test case arguments passed to the
2392 <filename>customScripts/deleteOnDevice</filename> Python
2393 module.</para>
2394
2395 <para><emphasis role="bold">Sample unit-test JSON file
2396 format:</emphasis></para>
2397
2398 <programlisting>[
2399{
2400"name": "Removing a Custom Script from device",
2401"args": "-c test_success_after_always -e always-after-startup -n inteld1521-6"
2402}
2403]</programlisting>
2404 </section>
2405
2406 <section id="pymod_delete_custom_script_delete">
2407 <title>Running the Python Module</title>
2408
2409 <para>The <filename>customScripts/deleteOnDevice</filename> Python
2410 module can be executed individually by running the following command
2411 line:</para>
2412
2413 <programlisting>$ python automation_framework/customScripts/deleteOnDevice.py -c \
2414test_success_after_always -e always-after-startup -n inteld1521-6
24152020-04-14 14:33:52,288 - DEBUG: Started logging
24162020-04-14 14:33:52,288 - INFO: Delete Custom Script on Device
24172020-04-14 14:33:52,327 - DEBUG: Login successful on host '172.24.3.109'
24182020-04-14 14:33:52,327 - DEBUG: Session token is: 32cde4f0-7e4c-11ea-835c-02423a1c239f
24192020-04-14 14:33:52,349 - DEBUG: Found device with name 'inteld1521-6'
24202020-04-14 14:33:52,349 - DEBUG: Delete test_success_after_always, \
2421phase always-after-startup from inteld1521-6
24222020-04-14 14:33:52,373 - INFO: Done
24232020-04-14 14:33:52,391 - DEBUG: Logging out and exiting...</programlisting>
2424 </section>
2425 </section>
2120 </section> 2426 </section>
2121 2427
2122 <section id="test_harness"> 2428 <section id="test_harness">
diff --git a/doc/book-enea-nfv-access-system-test-specification/doc/sample_test_cases.xml b/doc/book-enea-nfv-access-system-test-specification/doc/sample_test_cases.xml
index 95d45ce..ab611a1 100644
--- a/doc/book-enea-nfv-access-system-test-specification/doc/sample_test_cases.xml
+++ b/doc/book-enea-nfv-access-system-test-specification/doc/sample_test_cases.xml
@@ -650,6 +650,172 @@ DEBUG: Set DPDK state to &lt;enable/disable&gt;</programlisting><emphasis
650 role="bold">Note:</emphasis> DPDK use cannot be disabled if DPDK 650 role="bold">Note:</emphasis> DPDK use cannot be disabled if DPDK
651 interfaces are configured. The task will fail in this case.</para> 651 interfaces are configured. The task will fail in this case.</para>
652 </section> 652 </section>
653
654 <section id="cs_upload">
655 <title>Custom Scripts - Upload a Custom Script to the uCPE
656 Manager</title>
657
658 <para><emphasis role="bold">Description:</emphasis> Upload a Custom
659 Script to the uCPE Manager. For details please refer to:</para>
660
661 <itemizedlist>
662 <listitem>
663 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/uploadCustomScript.yml</filename>.</para>
664 </listitem>
665
666 <listitem>
667 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/customScripts/upload.py</filename>.</para>
668 </listitem>
669 </itemizedlist>
670
671 <para><emphasis role="bold">Precondition:</emphasis></para>
672
673 <para><literal>lab_config/customScripts</literal> must contain a Custom
674 Script file.</para>
675
676 <para><emphasis role="bold">Action:</emphasis> Run the
677 <filename>uploadCustomScript.yml</filename> Ansible Playbook with the
678 <literal>&lt;scriptName&gt;</literal> and
679 <literal>&lt;phase&gt;</literal> as extra-vars: <programlisting>ansible-playbook playbooks/uploadCustomScript.yml -e "scriptName=&lt;scriptName&gt; \
680phase=
681&lt;always-after-startup/once-after-startup/always-before-startup/once-before-startup&gt;"</programlisting></para>
682
683 <para><emphasis role="bold">Result:</emphasis> Output of the test case
684 run using the Test Harness:</para>
685
686 <programlisting># Upload Custom Script task result
687DEBUG: "{{ scriptName }} was uploaded to uCPE Manager!"</programlisting>
688 </section>
689
690 <section id="cs_upload_device">
691 <title>Custom Scripts - Upload a Custom Script from the uCPE Manager to
692 a Device</title>
693
694 <para><emphasis role="bold">Description:</emphasis> Upload a Custom
695 Script from the uCPE Manager to a Device. For details please refer
696 to:</para>
697
698 <itemizedlist>
699 <listitem>
700 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/uploadCustomScriptOnDevice.yml</filename>.</para>
701 </listitem>
702
703 <listitem>
704 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/customScripts/uploadOnDevice.py</filename>.</para>
705 </listitem>
706 </itemizedlist>
707
708 <para><emphasis role="bold">Preconditions:</emphasis></para>
709
710 <itemizedlist>
711 <listitem>
712 <para>A device must have been previously added and connected to the
713 uCPE Manager instance.</para>
714 </listitem>
715
716 <listitem>
717 <para>A Custom Script must have been previously added to the uCPE
718 Manager instance.</para>
719 </listitem>
720 </itemizedlist>
721
722 <para><emphasis role="bold">Action:</emphasis> Run the
723 <filename>uploadCustomScriptOnDevice.yml</filename> Ansible Playbook
724 with the <literal>&lt;scriptName&gt;</literal>,
725 <literal>&lt;phase&gt;</literal> and
726 <literal>&lt;deviceName&gt;</literal> as extra-vars: <programlisting>ansible-playbook playbooks/uploadCustomScriptOnDevice.yml -e "scriptName=&lt;scriptName&gt; \
727phase=
728&lt;always-after-startup/once-after-startup/always-before-startup/once-before-startup&gt; \
729device=&lt;deviceName&gt;"</programlisting></para>
730
731 <para><emphasis role="bold">Result:</emphasis> Output of the test case
732 run using the Test Harness:</para>
733
734 <programlisting># Upload Custom Script on Device task result
735DEBUG: "{{ scriptName }} was uploaded to {{ device }}!"</programlisting>
736 </section>
737
738 <section id="cs_remove">
739 <title>Custom Scripts - Remove a Custom Script from the uCPE
740 Manager</title>
741
742 <para><emphasis role="bold">Description:</emphasis> Remove a Custom
743 Script from the uCPE Manager. For details please refer to:</para>
744
745 <itemizedlist>
746 <listitem>
747 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/removeCustomScript.yml</filename>.</para>
748 </listitem>
749
750 <listitem>
751 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/customScripts/delete.py</filename>.</para>
752 </listitem>
753 </itemizedlist>
754
755 <para><emphasis role="bold">Precondition:</emphasis></para>
756
757 <para>A Custom Script must have been previously added to the uCPE
758 Manager.</para>
759
760 <para><emphasis role="bold">Action:</emphasis> Run the
761 <filename>removeCustomScript.yml</filename> Ansible Playbook with the
762 <literal>&lt;scriptName&gt;</literal> and
763 <literal>&lt;phase&gt;</literal> as extra-vars: <programlisting>ansible-playbook playbooks/removeCustomScript.yml -e "scriptName=&lt;scriptName&gt; \
764phase=
765&lt;always-after-startup/once-after-startup/always-before-startup/once-before-startup&gt;"</programlisting></para>
766
767 <para><emphasis role="bold">Result:</emphasis> Output of the test case
768 run using the Test Harness:</para>
769
770 <programlisting># Remove Custom Script in phase from uCPE Manager task result
771DEBUG: "{{ scriptName }} from phase {{ phase }} was removed from uCPE Manager!"</programlisting>
772 </section>
773
774 <section id="cs_remove_device">
775 <title>Custom Scripts - Remove a Custom Script from a Device</title>
776
777 <para><emphasis role="bold">Description:</emphasis> Remove a Custom
778 Script from a Device. For details please refer to:</para>
779
780 <itemizedlist>
781 <listitem>
782 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/removeCustomScriptOnDevice.yml</filename>.</para>
783 </listitem>
784
785 <listitem>
786 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/customScripts/deleteOnDevice.py</filename>.</para>
787 </listitem>
788 </itemizedlist>
789
790 <para><emphasis role="bold">Preconditions:</emphasis></para>
791
792 <itemizedlist>
793 <listitem>
794 <para>A device must have been previously added and connected to the
795 uCPE Manager instance.</para>
796 </listitem>
797
798 <listitem>
799 <para>A Custom Script must have been previously added to the
800 Device.</para>
801 </listitem>
802 </itemizedlist>
803
804 <para><emphasis role="bold">Action:</emphasis> Run the
805 <filename>removeCustomScriptOnDevice.yml</filename> Ansible Playbook
806 with the <literal>&lt;scriptName&gt;</literal>,
807 <literal>&lt;phase&gt;</literal> and and
808 <literal>&lt;deviceName&gt;</literal> as extra-vars: <programlisting>ansible-playbook playbooks/removeCustomScriptOnDevice.yml -e "scriptName=&lt;scriptName&gt; \
809phase=
810&lt;always-after-startup/once-after-startup/always-before-startup/once-before-startup&gt; \
811device=&lt;deviceName&gt;"</programlisting></para>
812
813 <para><emphasis role="bold">Result:</emphasis> Output of the test case
814 run using the Test Harness:</para>
815
816 <programlisting># Remove Custom Script in phase from Device task result
817DEBUG: "{{ scriptName }} from phase {{ phase }} was removed from {{ device }}!"</programlisting>
818 </section>
653 </section> 819 </section>
654 820
655 <section id="vnf_deploy_lifecycle"> 821 <section id="vnf_deploy_lifecycle">