diff options
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 |
491 | fortigateCleanup.json -d "Fortigate cleanup scenario"</programlisting> | 491 | fortigateCleanup.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 | ||
2461 | Usage: uploadConfigStore.py [options] | ||
2462 | |||
2463 | Upload offline configuration to uCPE Device. | ||
2464 | |||
2465 | Options: | ||
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 | ||
2485 | Usage: getUploadStatus.py [options] | ||
2486 | |||
2487 | Get upload offline configure status on uCPE Device. | ||
2488 | |||
2489 | Options: | ||
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>> cat lab_config/trgt-1/target.json | 27 | <para><programlisting>> 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><AF-TH-install-dir>/lab_config/<Device-name>/<Device-name>.json</programlisting> | 345 | <programlisting><AF-TH-install-dir>/lab_config/<Device-name>/<Device-name>.json</programlisting> |
344 | </listitem> | 346 | </listitem> |
345 | </itemizedlist> | 347 | </itemizedlist> |
@@ -349,9 +351,7 @@ Duplicate entry - Release already installed</programlisting></para> | |||
349 | <literal><Image-path></literal>, | 351 | <literal><Image-path></literal>, |
350 | <literal><Image-name></literal>, | 352 | <literal><Image-name></literal>, |
351 | <literal><Upgrade-type></literal>, and the | 353 | <literal><Upgrade-type></literal>, and the |
352 | <literal><Device-name></literal> as extra-vars: | 354 | <literal><Device-name></literal> as extra-vars: <programlisting>ansible-playbook playbooks/installNFVAImage.yml -e \ |
353 | |||
354 | <programlisting>ansible-playbook playbooks/installNFVAImage.yml -e \ | ||
355 | device="<Device-name>" -e image_path="<Image-path>" -e \ | 355 | device="<Device-name>" -e image_path="<Image-path>" -e \ |
356 | image_name="<Image-name>" -e upgrade_type="<Upgrade-type>"</programlisting></para> | 356 | image_name="<Image-name>" -e upgrade_type="<Upgrade-type>"</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><AF-TH-install-dir>/playbooks/uploadConfigStore.yml</filename>.</para> | ||
1014 | </listitem> | ||
1015 | |||
1016 | <listitem> | ||
1017 | <para><filename><AF-TH-install-dir>/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><store-name></literal> and | ||
1037 | <literal><device-name></literal> as extra-vars:</para> | ||
1038 | |||
1039 | <programlisting>ansible-playbook playbooks/uploadConfigStore.yml -e \ | ||
1040 | "store=<store-name> device=<device-name>"</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 '<store-name>' 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><AF-TH-install-dir>/playbooks/getUploadStatus.yml</filename>.</para> | ||
1065 | </listitem> | ||
1066 | |||
1067 | <listitem> | ||
1068 | <para><filename><AF-TH-install-dir>/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><device-name></literal> as extra-vars:</para> | ||
1088 | |||
1089 | <programlisting>ansible-playbook playbooks/getUploadStatus.yml -e \ | ||
1090 | "device=<device-name>"</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: <store-name> | ||
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"> |