diff options
Diffstat (limited to 'doc')
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"> |
