summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/book-enea-nfv-access-auto-fw-th-user-guide/doc/automation_framework_test_harness.xml94
-rw-r--r--doc/book-enea-nfv-access-example-usecases/doc/appendix_5.xml2
-rw-r--r--doc/book-enea-nfv-access-system-test-specification/doc/sample_test_cases.xml149
3 files changed, 203 insertions, 42 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 5088e9c..08fb569 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
@@ -490,7 +490,9 @@ OK</programlisting>
490 <programlisting>$ python unittestSuite.py -u admin -p admin -H localhost -n intelc3850-2 -s 490 <programlisting>$ python unittestSuite.py -u admin -p admin -H localhost -n intelc3850-2 -s
491fortigateCleanup.json -d "Fortigate cleanup scenario"</programlisting> 491fortigateCleanup.json -d "Fortigate cleanup scenario"</programlisting>
492 492
493 <para>Setting the console logging level to INFO: <programlisting>consoleLoggingLevel = logging.INFO</programlisting></para> 493 <para>Setting the console logging level to INFO:</para>
494
495 <programlisting>consoleLoggingLevel = logging.INFO</programlisting>
494 496
495 <para><emphasis role="bold">Expected Output:</emphasis></para> 497 <para><emphasis role="bold">Expected Output:</emphasis></para>
496 498
@@ -580,7 +582,9 @@ Options:
580 file:</emphasis></para> 582 file:</emphasis></para>
581 583
582 <programlisting>{ 584 <programlisting>{
583 "name": " intelc3850-2", 585 "name": "intelc3850-2",
586 "deviceId": "intelc3850-2",
587 "deviceGroupingTags": " ",
584 "description": "", 588 "description": "",
585 "address": "192.168.1.100", 589 "address": "192.168.1.100",
586 "port": "22", 590 "port": "22",
@@ -588,8 +592,10 @@ Options:
588 "password": "root", 592 "password": "root",
589 "certificate": null, 593 "certificate": null,
590 "passphrase": null, 594 "passphrase": null,
595 "callHome": "false",
591 "maintMode": "false" 596 "maintMode": "false"
592}</programlisting> 597}
598</programlisting>
593 </section> 599 </section>
594 600
595 <section id="run_py_mod"> 601 <section id="run_py_mod">
@@ -796,18 +802,22 @@ Mandatory options:
796 <para><emphasis role="bold">Sample 802 <para><emphasis role="bold">Sample
797 <filename>intelc3850-2.json</filename> configuration 803 <filename>intelc3850-2.json</filename> configuration
798 file:</emphasis></para> 804 file:</emphasis></para>
799 805
800 <programlisting>{ 806 <programlisting>{
801"name": "intelc3850-2", 807 "name": "intelc3850-2",
802"description": "", 808 "deviceId": "intelc3850-2",
803"address": "172.24.12.114", 809 "deviceGroupingTags": " ",
804"port": "22", 810 "description": "",
805"username": "root", 811 "address": "192.168.1.100",
806"password": "root", 812 "port": "22",
807"certificate": null, 813 "username": "root",
808"passphrase": null, 814 "password": "root",
809"maintMode": "false" 815 "certificate": null,
810 }</programlisting> 816 "passphrase": null,
817 "callHome": "false",
818 "maintMode": "false"
819}
820</programlisting>
811 </section> 821 </section>
812 822
813 <section id="runpy_mod_log"> 823 <section id="runpy_mod_log">
@@ -1631,11 +1641,11 @@ License("vnf_config/fortigateImage/fortigateLicense.lic")
1631 1641
1632 <note> 1642 <note>
1633 <para>If a sequence of commands aiming to change the state of the VNF 1643 <para>If a sequence of commands aiming to change the state of the VNF
1634 (start/stop/suspend/shutdown) is issued rapidly, certain VNFs might become 1644 (start/stop/suspend/shutdown) is issued rapidly, certain VNFs might
1635 unresponsive. Depending on the actual VNF, the time required between 1645 become unresponsive. Depending on the actual VNF, the time required
1636 life-cycle operations may vary from several seconds to half a minute 1646 between life-cycle operations may vary from several seconds to half a
1637 or even more. If a VNF becomes unresponsive, the only possible action 1647 minute or even more. If a VNF becomes unresponsive, the only possible
1638 is to "Force Delete" the instance from the uCPE Manager.</para> 1648 action is to "Force Delete" the instance from the uCPE Manager.</para>
1639 </note> 1649 </note>
1640 1650
1641 <section id="script_opts_control"> 1651 <section id="script_opts_control">
@@ -2444,6 +2454,52 @@ Options:
2444 Mandatory options: 2454 Mandatory options:
2445 -H/--host, -f/--file</programlisting> 2455 -H/--host, -f/--file</programlisting>
2446 2456
2457 <para>Uploading an offline configuration store to a uCPE Device
2458 using the command line:</para>
2459
2460 <programlisting>python uploadConfigStore.py -h
2461Usage: uploadConfigStore.py [options]
2462
2463Upload offline configuration to uCPE Device.
2464
2465Options:
2466 --version show program's version number and exit
2467 -h, --help show this help message and exit
2468 -u USERNAME, --username=USERNAME
2469 Enea uCPE Manager login username
2470 -p PASSWORD, --password=PASSWORD
2471 Enea uCPE Manager login password
2472 -H HOST, --host=HOST Enea uCPE Manager host name or IP address
2473 -s STORE, --store=STORE
2474 Offline config store name
2475 -d DEVICE, --device=DEVICE
2476 Device Name
2477
2478 Mandatory options:
2479 -H/--host, -s/--store, -d/--device</programlisting>
2480
2481 <para>Checking the upload of an offline configuration store to a uCPE
2482 Device using the command line:</para>
2483
2484 <programlisting>python getUploadStatus.py -h
2485Usage: getUploadStatus.py [options]
2486
2487Get upload offline configure status on uCPE Device.
2488
2489Options:
2490 --version show program's version number and exit
2491 -h, --help show this help message and exit
2492 -u USERNAME, --username=USERNAME
2493 Enea uCPE Manager login username
2494 -p PASSWORD, --password=PASSWORD
2495 Enea uCPE Manager login password
2496 -H HOST, --host=HOST Enea uCPE Manager host name or IP address
2497 -d DEVICE, --device=DEVICE
2498 Device Name
2499
2500 Mandatory options:
2501 -H/--host, -d/--device</programlisting>
2502
2447 <para>Removing a config store in the Enea uCPE Manager using the 2503 <para>Removing a config store in the Enea uCPE Manager using the
2448 command line:</para> 2504 command line:</para>
2449 2505
diff --git a/doc/book-enea-nfv-access-example-usecases/doc/appendix_5.xml b/doc/book-enea-nfv-access-example-usecases/doc/appendix_5.xml
index ea99e4f..71dee09 100644
--- a/doc/book-enea-nfv-access-example-usecases/doc/appendix_5.xml
+++ b/doc/book-enea-nfv-access-example-usecases/doc/appendix_5.xml
@@ -27,6 +27,7 @@
27 <para><programlisting>&gt; cat lab_config/trgt-1/target.json 27 <para><programlisting>&gt; cat lab_config/trgt-1/target.json
28{ 28{
29 "name": "inteld1521-17", 29 "name": "inteld1521-17",
30 "deviceGroupingTags": " ",
30 "description": "trgt", 31 "description": "trgt",
31 "address": "172.24.8.62", 32 "address": "172.24.8.62",
32 "port": "830", 33 "port": "830",
@@ -34,6 +35,7 @@
34 "password": "", 35 "password": "",
35 "certificate": null, 36 "certificate": null,
36 "passphrase": null, 37 "passphrase": null,
38 "callHome": "false",
37 "maintMode": "false", 39 "maintMode": "false",
38 "version": "2.2.3", 40 "version": "2.2.3",
39 "deviceId": "inteld1521-17" 41 "deviceId": "inteld1521-17"
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 b55b9bc..6e54bd4 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
@@ -304,29 +304,30 @@ Duplicate entry - Release already installed</programlisting></para>
304 </listitem> 304 </listitem>
305 305
306 <listitem> 306 <listitem>
307 <para>The playbook imports the previously described playbooks:</para> 307 <para>The playbook imports the previously described
308 308 playbooks:</para>
309 <itemizedlist spacing="compact">
310 <listitem>
311 <para><filename>playbooks/waitDeviceUp.yml</filename></para>
312 </listitem>
313
314 <listitem>
315 <para><filename>playbook/uploadImage.yml</filename></para>
316 </listitem>
317 309
318 <listitem> 310 <itemizedlist spacing="compact">
319 <para><filename>playbook/installAndActivate.yml</filename></para> 311 <listitem>
320 </listitem> 312 <para><filename>playbooks/waitDeviceUp.yml</filename></para>
313 </listitem>
321 314
322 <listitem> 315 <listitem>
323 <para><filename>playbook/deleteUpgradeFile.yml</filename></para> 316 <para><filename>playbook/uploadImage.yml</filename></para>
324 </listitem> 317 </listitem>
325 318
326 <listitem> 319 <listitem>
327 <para><filename>playbook/clearCompletedUpgradesInfo.yml</filename></para> 320 <para><filename>playbook/installAndActivate.yml</filename></para>
328 </listitem> 321 </listitem>
329 </itemizedlist> 322
323 <listitem>
324 <para><filename>playbook/deleteUpgradeFile.yml</filename></para>
325 </listitem>
326
327 <listitem>
328 <para><filename>playbook/clearCompletedUpgradesInfo.yml</filename></para>
329 </listitem>
330 </itemizedlist>
330 </listitem> 331 </listitem>
331 </itemizedlist> 332 </itemizedlist>
332 333
@@ -340,6 +341,7 @@ Duplicate entry - Release already installed</programlisting></para>
340 341
341 <listitem> 342 <listitem>
342 <para>A device JSON configuration file must be created:</para> 343 <para>A device JSON configuration file must be created:</para>
344
343 <programlisting>&lt;AF-TH-install-dir&gt;/lab_config/&lt;Device-name&gt;/&lt;Device-name&gt;.json</programlisting> 345 <programlisting>&lt;AF-TH-install-dir&gt;/lab_config/&lt;Device-name&gt;/&lt;Device-name&gt;.json</programlisting>
344 </listitem> 346 </listitem>
345 </itemizedlist> 347 </itemizedlist>
@@ -349,9 +351,7 @@ Duplicate entry - Release already installed</programlisting></para>
349 <literal>&lt;Image-path&gt;</literal>, 351 <literal>&lt;Image-path&gt;</literal>,
350 <literal>&lt;Image-name&gt;</literal>, 352 <literal>&lt;Image-name&gt;</literal>,
351 <literal>&lt;Upgrade-type&gt;</literal>, and the 353 <literal>&lt;Upgrade-type&gt;</literal>, and the
352 <literal>&lt;Device-name&gt;</literal> as extra-vars: 354 <literal>&lt;Device-name&gt;</literal> as extra-vars: <programlisting>ansible-playbook playbooks/installNFVAImage.yml -e \
353
354 <programlisting>ansible-playbook playbooks/installNFVAImage.yml -e \
355device="&lt;Device-name&gt;" -e image_path="&lt;Image-path&gt;" -e \ 355device="&lt;Device-name&gt;" -e image_path="&lt;Image-path&gt;" -e \
356image_name="&lt;Image-name&gt;" -e upgrade_type="&lt;Upgrade-type&gt;"</programlisting></para> 356image_name="&lt;Image-name&gt;" -e upgrade_type="&lt;Upgrade-type&gt;"</programlisting></para>
357 357
@@ -1000,6 +1000,109 @@ INFO: Done</programlisting>
1000 changed. Recreate the Offline Config Store and set the DPDK again if you 1000 changed. Recreate the Offline Config Store and set the DPDK again if you
1001 want to change the state.</para> 1001 want to change the state.</para>
1002 </section> 1002 </section>
1003
1004 <section id="offline_config_ucpe">
1005 <title>Offline Configuration - Upload an offline configuration onto a
1006 uCPE Device</title>
1007
1008 <para><emphasis role="bold">Description:</emphasis> Uploading an offline
1009 configuration to a uCPE Device. For details please refer to:</para>
1010
1011 <itemizedlist>
1012 <listitem>
1013 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/uploadConfigStore.yml</filename>.</para>
1014 </listitem>
1015
1016 <listitem>
1017 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/device/uploadConfigStore.py</filename>.</para>
1018 </listitem>
1019 </itemizedlist>
1020
1021 <para><emphasis role="bold">Precondition:</emphasis></para>
1022
1023 <itemizedlist>
1024 <listitem>
1025 <para>The Offline Configuration Store should exist in the uCPE
1026 Manager.</para>
1027 </listitem>
1028
1029 <listitem>
1030 <para>The device should be connected to the uCPE Manager.</para>
1031 </listitem>
1032 </itemizedlist>
1033
1034 <para><emphasis role="bold">Action:</emphasis> Run the
1035 <filename>uploadConfigStore.yml</filename> Ansible Playbook with the
1036 <literal>&lt;store-name&gt;</literal> and
1037 <literal>&lt;device-name&gt;</literal> as extra-vars:</para>
1038
1039 <programlisting>ansible-playbook playbooks/uploadConfigStore.yml -e \
1040"store=&lt;store-name&gt; device=&lt;device-name&gt;"</programlisting>
1041
1042 <para><emphasis role="bold">Result:</emphasis> Output of the test case
1043 run using the Test Harness:</para>
1044
1045 <programlisting># Upload Config Store task result ****************************
1046 * localhost - changed=False ---------------
1047 2020-10-08 13:29:41,062 - INFO: Upload offline \
1048 configuration to uCPE Device
1049 2020-10-08 13:30:01,315 - INFO: The '&lt;store-name&gt;' config \
1050 store was successfully uploaded on device!
1051 2020-10-08 13:30:01,316 - INFO: Done</programlisting>
1052 </section>
1053
1054 <section id="offline_config_status">
1055 <title>Offline Configuration - Get the offline configuration upload
1056 status on the uCPE Device</title>
1057
1058 <para><emphasis role="bold">Description:</emphasis> Get the offline
1059 configuration upload status to a uCPE Device. For details please refer
1060 to:</para>
1061
1062 <itemizedlist>
1063 <listitem>
1064 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/getUploadStatus.yml</filename>.</para>
1065 </listitem>
1066
1067 <listitem>
1068 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/device/getUploadStatus.py</filename>.</para>
1069 </listitem>
1070 </itemizedlist>
1071
1072 <para><emphasis role="bold">Precondition:</emphasis></para>
1073
1074 <itemizedlist>
1075 <listitem>
1076 <para>An upload of the offline configuration should be done on the
1077 uCPE Device.</para>
1078 </listitem>
1079
1080 <listitem>
1081 <para>The device should be connected to the uCPE Manager.</para>
1082 </listitem>
1083 </itemizedlist>
1084
1085 <para><emphasis role="bold">Action:</emphasis> Run the
1086 <filename>getUploadStatus.yml</filename> Ansible Playbook with the
1087 <literal>&lt;device-name&gt;</literal> as extra-vars:</para>
1088
1089 <programlisting>ansible-playbook playbooks/getUploadStatus.yml -e \
1090"device=&lt;device-name&gt;"</programlisting>
1091
1092 <para><emphasis role="bold">Result:</emphasis> Output of the test case
1093 run using the Test Harness:</para>
1094
1095 <programlisting># Upload Config Store task result ****************************
1096 * localhost - changed=False ---------------
1097 2020-10-08 14:13:24,422 - INFO: Get upload offline configure \
1098 status on uCPE Device
1099 2020-10-08 14:13:24,521 - INFO: Successful: True
1100 2020-10-08 14:13:24,522 - INFO: Store name: &lt;store-name&gt;
1101 2020-10-08 14:13:24,523 - INFO: In progress: False
1102 2020-10-08 14:13:24,524 - INFO: A config store was successfully \
1103 uploaded on device!
1104 2020-10-08 14:13:24,525 - INFO: Done</programlisting>
1105 </section>
1003 </section> 1106 </section>
1004 1107
1005 <section id="vnf_deploy_lifecycle"> 1108 <section id="vnf_deploy_lifecycle">