summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/book-enea-nfv-access-auto-fw-th-user-guide/doc/automation_framework_test_harness.xml370
-rw-r--r--doc/book-enea-nfv-access-auto-fw-th-user-guide/doc/components.xml4
-rw-r--r--doc/book-enea-nfv-access-auto-fw-th-user-guide/doc/getting_started.xml20
-rw-r--r--doc/book-enea-nfv-access-auto-fw-th-user-guide/doc/overview.xml4
-rw-r--r--doc/book-enea-nfv-access-system-test-specification/doc/sample_test_cases.xml258
5 files changed, 607 insertions, 49 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 e1bab54..9f9930a 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
@@ -814,7 +814,8 @@ Events on device: intelc3850-2 and severity: 1000
814 <section id="enable_disable_dpdk"> 814 <section id="enable_disable_dpdk">
815 <title>Enabling or Disabling the DPDK</title> 815 <title>Enabling or Disabling the DPDK</title>
816 816
817 <para>Steps and details on how to enable or disable the DPDK are explained below.</para> 817 <para>Steps and details on how to enable or disable the DPDK are
818 explained below.</para>
818 819
819 <section id="script_dpdk"> 820 <section id="script_dpdk">
820 <title>Script Options</title> 821 <title>Script Options</title>
@@ -1105,31 +1106,43 @@ Options:
11052020-01-07 05:58:03,688 - DEBUG: Session token is: 93dd3cd0-313c-11ea-b0c7-525400b7889f 11062020-01-07 05:58:03,688 - DEBUG: Session token is: 93dd3cd0-313c-11ea-b0c7-525400b7889f
11062020-01-07 05:58:03,715 - DEBUG: Found device with name 'intelc3850-2' 11072020-01-07 05:58:03,715 - DEBUG: Found device with name 'intelc3850-2'
11072020-01-07 05:58:03,717 - DEBUG: 11082020-01-07 05:58:03,717 - DEBUG:
1108----------------- External Network Interfaces for intelc3850-2----------------- 1109----------------External Network Interfaces for intelc3850-2----------------
11092020-01-07 05:58:07,622 - DEBUG: eno4 DpdkTypes: [u'igb_uio', u'vfio-pci'] MacAddress: 0c:c4:7a:fb:85:dfsriov(7) 11102020-01-07 05:58:07,622 - DEBUG: eno4 DpdkTypes: [u'igb_uio', u'vfio-pci'] \
1111MacAddress: 0c:c4:7a:fb:85:dfsriov(7)
11102020-01-07 05:58:07,624 - DEBUG: 11122020-01-07 05:58:07,624 - DEBUG:
11112020-01-07 05:58:07,656 - DEBUG: 11132020-01-07 05:58:07,656 - DEBUG:
1112----------------- Configured External Network Interfaces for intelc3850-2----------------- 1114----------------Configured External Network Interfaces for intelc3850-2----------------
11132020-01-07 05:58:07,657 - DEBUG: eno3 DpdkType: vfio-pci ID: 47556b22-b5c2-4acb-b3cb-09b1f024b3a7 11152020-01-07 05:58:07,657 - DEBUG: eno3 DpdkType: vfio-pci ID: \
11142020-01-07 05:58:07,658 - DEBUG: enp1s0f1 DpdkType: vfio-pci ID: 2c06b4f7-6814-4432-8765-a9d0cd5303c1 111647556b22-b5c2-4acb-b3cb-09b1f024b3a7
11152020-01-07 05:58:07,659 - DEBUG: enp1s0f0 DpdkTypes: [u'igb_uio', u'vfio-pci'] MacAddress: ac:1f:6b:2d:ee:58sriov(63) 11172020-01-07 05:58:07,658 - DEBUG: enp1s0f1 DpdkType: vfio-pci ID: \
11182c06b4f7-6814-4432-8765-a9d0cd5303c1
11192020-01-07 05:58:07,659 - DEBUG: enp1s0f0 DpdkTypes: [u'igb_uio', u'vfio-pci'] \
1120MacAddress: ac:1f:6b:2d:ee:58sriov(63)
11162020-01-07 05:58:07,660 - DEBUG: 11212020-01-07 05:58:07,660 - DEBUG:
11172020-01-07 05:58:07,690 - DEBUG: 11222020-01-07 05:58:07,690 - DEBUG:
1118----------------- Configured External Network Interfaces for intelc3850-2----------------- 1123----------------Configured External Network Interfaces for intelc3850-2----------------
11192020-01-07 05:58:07,691 - DEBUG: eno3 DpdkType: vfio-pci ID: 47556b22-b5c2-4acb-b3cb-09b1f024b3a7 11242020-01-07 05:58:07,691 - DEBUG: eno3 DpdkType: vfio-pci ID: \
11202020-01-07 05:58:07,692 - DEBUG: enp1s0f1 DpdkType: vfio-pci ID: 2c06b4f7-6814-4432-8765-a9d0cd5303c1 112547556b22-b5c2-4acb-b3cb-09b1f024b3a7
11212020-01-07 05:58:07,693 - DEBUG: eno2 DpdkTypes: [u'igb_uio', u'vfio-pci'] MacAddress: 0c:c4:7a:fb:85:ddsriov(7) 11262020-01-07 05:58:07,692 - DEBUG: enp1s0f1 DpdkType: vfio-pci ID: \
11272c06b4f7-6814-4432-8765-a9d0cd5303c1
11282020-01-07 05:58:07,693 - DEBUG: eno2 DpdkTypes: [u'igb_uio', u'vfio-pci'] \
1129MacAddress: 0c:c4:7a:fb:85:ddsriov(7)
11222020-01-07 05:58:07,695 - DEBUG: 11302020-01-07 05:58:07,695 - DEBUG:
11232020-01-07 05:58:07,724 - DEBUG: 11312020-01-07 05:58:07,724 - DEBUG:
1124----------------- Configured External Network Interfaces for intelc3850-2----------------- 1132----------------Configured External Network Interfaces for intelc3850-2----------------
11252020-01-07 05:58:07,725 - DEBUG: eno3 DpdkType: vfio-pci ID: 47556b22-b5c2-4acb-b3cb-09b1f024b3a7 11332020-01-07 05:58:07,725 - DEBUG: eno3 DpdkType: vfio-pci ID: \
11262020-01-07 05:58:07,726 - DEBUG: enp1s0f1 DpdkType: vfio-pci ID: 2c06b4f7-6814-4432-8765-a9d0cd5303c1 113447556b22-b5c2-4acb-b3cb-09b1f024b3a7
11272020-01-07 05:58:07,727 - DEBUG: eno1 DpdkTypes: [u'igb_uio', u'vfio-pci'] MacAddress: 0c:c4:7a:fb:85:dcsriov(7) 11352020-01-07 05:58:07,726 - DEBUG: enp1s0f1 DpdkType: vfio-pci ID: \
11362c06b4f7-6814-4432-8765-a9d0cd5303c1
11372020-01-07 05:58:07,727 - DEBUG: eno1 DpdkTypes: [u'igb_uio', u'vfio-pci'] \
1138MacAddress: 0c:c4:7a:fb:85:dcsriov(7)
11282020-01-07 05:58:07,728 - DEBUG: 11392020-01-07 05:58:07,728 - DEBUG:
11292020-01-07 05:58:07,760 - DEBUG: 11402020-01-07 05:58:07,760 - DEBUG:
1130----------------- Configured External Network Interfaces for intelc3850-2----------------- 1141----------------Configured External Network Interfaces for intelc3850-2----------------
11312020-01-07 05:58:07,761 - DEBUG: eno3 DpdkType: vfio-pci ID: 47556b22-b5c2-4acb-b3cb-09b1f024b3a7 11422020-01-07 05:58:07,761 - DEBUG: eno3 DpdkType: vfio-pci ID: \
11322020-01-07 05:58:07,761 - DEBUG: enp1s0f1 DpdkType: vfio-pci ID: 2c06b4f7-6814-4432-8765-a9d0cd5303c1 114347556b22-b5c2-4acb-b3cb-09b1f024b3a7
11442020-01-07 05:58:07,761 - DEBUG: enp1s0f1 DpdkType: vfio-pci ID: \
11452c06b4f7-6814-4432-8765-a9d0cd5303c1
11332020-01-07 05:58:07,762 - DEBUG: 11462020-01-07 05:58:07,762 - DEBUG:
11342020-01-07 05:58:07,763 - INFO: Done 11472020-01-07 05:58:07,763 - INFO: Done
11352020-01-07 05:58:07,787 - DEBUG: Logging out and exiting...</programlisting> 11482020-01-07 05:58:07,787 - DEBUG: Logging out and exiting...</programlisting>
@@ -1137,7 +1150,7 @@ Options:
1137 </section> 1150 </section>
1138 1151
1139 <section id="create_ovs_net_bridge"> 1152 <section id="create_ovs_net_bridge">
1140 <title>Create an OVS Network Bridge</title> 1153 <title>Creating an OVS Network Bridge</title>
1141 1154
1142 <para>Instructions on how to Create an OVS Bridge on a device are 1155 <para>Instructions on how to Create an OVS Bridge on a device are
1143 detailed below.</para> 1156 detailed below.</para>
@@ -1226,7 +1239,7 @@ Options:
1226 </section> 1239 </section>
1227 1240
1228 <section id="delete_ovs_net_bridge"> 1241 <section id="delete_ovs_net_bridge">
1229 <title>Delete an OVS Network Bridge</title> 1242 <title>Deleting an OVS Network Bridge</title>
1230 1243
1231 <para>How to Delete an OVS Bridge from a device is detailed in the 1244 <para>How to Delete an OVS Bridge from a device is detailed in the
1232 following.</para> 1245 following.</para>
@@ -1313,7 +1326,7 @@ Options:
1313 </section> 1326 </section>
1314 1327
1315 <section id="onboard_vnf_bundle"> 1328 <section id="onboard_vnf_bundle">
1316 <title>Onboard a VNF Image</title> 1329 <title>Onboarding a VNF Image</title>
1317 1330
1318 <para>The specifics of how to Onboard a VNF image onto the Enea uCPE 1331 <para>The specifics of how to Onboard a VNF image onto the Enea uCPE
1319 Manager is detailed below.</para> 1332 Manager is detailed below.</para>
@@ -1385,7 +1398,7 @@ Options:
1385 </section> 1398 </section>
1386 1399
1387 <section id="onboard_vnf_image"> 1400 <section id="onboard_vnf_image">
1388 <title>Onboard a VNF Image Raw</title> 1401 <title>Onboarding a VNF Image Raw</title>
1389 1402
1390 <para>How to Onboard a VNF image in the uCPE Manager based upon its raw 1403 <para>How to Onboard a VNF image in the uCPE Manager based upon its raw
1391 constituents, is detailed in depth below.</para> 1404 constituents, is detailed in depth below.</para>
@@ -1502,7 +1515,7 @@ Options:
1502 </section> 1515 </section>
1503 1516
1504 <section id="offboard_vnf"> 1517 <section id="offboard_vnf">
1505 <title>Offboard a VNF</title> 1518 <title>Offboarding a VNF</title>
1506 1519
1507 <para>Steps on how to Offboard a VNF from the uCPE Manager are detailed 1520 <para>Steps on how to Offboard a VNF from the uCPE Manager are detailed
1508 below.</para> 1521 below.</para>
@@ -1568,7 +1581,7 @@ Options:
1568 </section> 1581 </section>
1569 1582
1570 <section id="instantiate_vnf"> 1583 <section id="instantiate_vnf">
1571 <title>Instantiate a VNF</title> 1584 <title>Instantiating a VNF</title>
1572 1585
1573 <para>Instantiating a VNF via the uCPE Manager is detailed below.</para> 1586 <para>Instantiating a VNF via the uCPE Manager is detailed below.</para>
1574 1587
@@ -1647,7 +1660,7 @@ License("vnf_config/fortigateImage/fortigateLicense.lic")
1647 </section> 1660 </section>
1648 1661
1649 <section id="control_vnf_inst"> 1662 <section id="control_vnf_inst">
1650 <title>Control a VNF Instance</title> 1663 <title>Controlling a VNF Instance</title>
1651 1664
1652 <para>How to Control a VNF instance from the Enea uCPE Manager is 1665 <para>How to Control a VNF instance from the Enea uCPE Manager is
1653 detailed below.</para> 1666 detailed below.</para>
@@ -1731,7 +1744,7 @@ fortigateFWInstance -c stop
1731 </section> 1744 </section>
1732 1745
1733 <section id="destroy_vnf_inst"> 1746 <section id="destroy_vnf_inst">
1734 <title>Destroy a VNF Instance</title> 1747 <title>Destroying a VNF Instance</title>
1735 1748
1736 <para>Steps and options on how to Destroy a VNF instance from the Enea 1749 <para>Steps and options on how to Destroy a VNF instance from the Enea
1737 uCPE Manager are described below.</para> 1750 uCPE Manager are described below.</para>
@@ -1797,6 +1810,311 @@ fortigateFWInstance
17972019-03-07 17:33:51,712 - DEBUG: Logging out and exiting...</programlisting> 18102019-03-07 17:33:51,712 - DEBUG: Logging out and exiting...</programlisting>
1798 </section> 1811 </section>
1799 </section> 1812 </section>
1813
1814 <section id="upload_vnf_image">
1815 <title>Uploading a NFV Access image onto the Enea uCPE Manager</title>
1816
1817 <para>Steps and options on how to Upload a NFV Access image onto the Enea uCPE
1818 Manager are described below.</para>
1819
1820 <section id="script_opts_upload">
1821 <title>Script Options</title>
1822
1823 <programlisting>$ python uploadImage.py -h
1824Upload NFVA image on uCPE Manager
1825Usage: uploadImage.py [options]
1826
1827Upload NFVA image on uCPE Manager.
1828
1829Options:
1830 --version show program's version number and exit
1831 -h, --help show this help message and exit
1832 -u USERNAME, --username=USERNAME
1833 Enea uCPE Manager login username
1834 -p PASSWORD, --password=PASSWORD
1835 Enea uCPE Manager login password
1836 -H HOST, --host=HOST Enea uCPE Manager host name or IP address
1837 -f FILENAME, --fileName=FILENAME
1838 Path to NFVA image file name
1839 -m MODULE, --module=MODULE
1840 Module name (default is: VcpeAgent)
1841 -t UPGRADETYPE, --upgradeType=UPGRADETYPE
1842 Upgrade Type depends on architecture: xeon_d or
1843 atom_c3000
1844
1845 Mandatory options:
1846 -H/--host, -f/--fileName, -m/--module, -t/--upgradeType</programlisting>
1847 </section>
1848
1849 <section id="json_upload">
1850 <title>Configuring the JSON File</title>
1851
1852 <para>The JSON configuration file needed to upload a NFV Access image should
1853 contain a list of dictionaries. Each dictionary indicates the test
1854 case name and the test case arguments passed to the
1855 <filename>uploadImage</filename> Python module.</para>
1856
1857 <para><emphasis role="bold">Sample unit-test JSON file
1858 format:</emphasis><programlisting>[
1859 {
1860 "name": "Upload NFVA image on uCPE Manager",
1861 "args": "-f /tmp/enea-nfv-access-xeon-d.rootfs.ostree.tar.bz2 -t xeon_d"
1862 }
1863]</programlisting></para>
1864 </section>
1865
1866 <section id="pymod_upload">
1867 <title>Running the Python Module</title>
1868
1869 <para>The <filename>uploadImage</filename> Python module can be
1870 executed individually by running the following command line:</para>
1871
1872 <programlisting>$ python uploadImage.py -u admin -p admin -H localhost \
1873-f /tmp/enea-nfv-access-xeon-d.rootfs.ostree.tar.bz2 -t xeon_d
18742020-02-28 11:38:42,754 - DEBUG: Started logging
18752020-02-28 11:38:42,755 - INFO: Upload NFVA image on uCPE Manager
18762020-02-28 11:38:43,307 - DEBUG: Login successful on host 'localhost'
18772020-02-28 11:38:43,308 - DEBUG: Session token is: 7da3f960-5a16-11ea-a3de-5652b3ac1c30
18782020-02-28 11:41:29,148 - INFO: Verify image validation flag
18792020-02-28 11:41:29,149 - INFO: Valid flag: True
18802020-02-28 11:41:29,344 - INFO: The image \
1881'enea-nfv-access-xeon-d.rootfs.ostree.tar.bz2' was successfully uploaded
18822020-02-28 11:41:29,344 - INFO: Done
18832020-02-28 11:41:29,388 - DEBUG: Logging out and exiting...</programlisting>
1884 </section>
1885 </section>
1886
1887 <section id="delete_vnf_image">
1888 <title>Deleting a NFV Access image file from the Enea uCPE Manager</title>
1889
1890 <para>Steps and options on how to Delete a NFV Access image from the Enea uCPE
1891 Manager are described below.</para>
1892
1893 <section id="script_opts_deleteupload">
1894 <title>Script Options</title>
1895
1896 <programlisting>$ python deleteUpgradeFile.py -h
1897Delete NFVA image from uCPE Manager
1898Usage: deleteUpgradeFile.py [options]
1899
1900Delete NFVA image from uCPE Manager.
1901
1902Options:
1903 --version show program's version number and exit
1904 -h, --help show this help message and exit
1905 -u USERNAME, --username=USERNAME
1906 Enea uCPE Manager login username
1907 -p PASSWORD, --password=PASSWORD
1908 Enea uCPE Manager login password
1909 -H HOST, --host=HOST Enea uCPE Manager host name or IP address
1910 -i IMAGENAME, --imageName=IMAGENAME
1911 NFVA Image name
1912 -m MODULE, --module=MODULE
1913 Module name - default is VcpeAgent
1914
1915 Mandatory options:
1916 -H/--host, -i/--imageName, -m/--module.</programlisting>
1917 </section>
1918
1919 <section id="json_delete_upload">
1920 <title>Configuring the JSON File</title>
1921
1922 <para>The JSON configuration file needed to delete a NFV Access image should
1923 contain a list of dictionaries. Each dictionary indicates the test
1924 case name and the test case arguments passed to the
1925 <filename>deleteUpgradeFile</filename> Python module.</para>
1926
1927 <para><emphasis role="bold">Sample unit-test JSON file
1928 format:</emphasis><programlisting>[
1929 {
1930 "name": "Delete NFVA image on uCPE Manager",
1931 "args": "-i enea-nfv-access-xeon-d.rootfs.ostree.tar.bz2"
1932 }
1933]</programlisting></para>
1934 </section>
1935
1936 <section id="pymod_delete_upload">
1937 <title>Running the Python Module</title>
1938
1939 <para>The <filename>deleteUpgradeFile</filename> Python module can be
1940 executed individually by running the following command line:</para>
1941
1942 <programlisting>$ python deleteUpgradeFile.py -u admin -p admin -H localhost -i \
1943enea-nfv-access-xeon-d.rootfs.ostree.tar.bz2
19442020-02-28 12:06:20,111 - DEBUG: Started logging
19452020-02-28 12:06:20,112 - INFO: Delete NFVA image from uCPE Manager
19462020-02-28 12:06:20,210 - DEBUG: Login successful on host 'localhost'
19472020-02-28 12:06:20,211 - DEBUG: Session token is: 594b2d50-5a1a-11ea-a3de-5652b3ac1c30
19482020-02-28 12:06:20,255 - INFO: The image \
1949'enea-nfv-access-xeon-d.rootfs.ostree.tar.bz2' was successfully found
19502020-02-28 12:06:20,256 - INFO: The oid for \
1951'enea-nfv-access-xeon-d.rootfs.ostree.tar.bz2' image name is as follows: \
1952VcpeAgent/xeon_d/enea-nfv-access-xeon-d.rootfs.ostree.tar.bz2
19532020-02-28 12:06:20,449 - INFO: The 'enea-nfv-access-xeon-d.rootfs.ostree.tar.bz2' \
1954image was successfully removed
19552020-02-28 12:06:20,479 - INFO: Done
19562020-02-28 12:06:20,517 - DEBUG: Logging out and exiting...</programlisting>
1957 </section>
1958 </section>
1959
1960 <section id="install_activate_vnf_image">
1961 <title>Installing and activating a NFV Access image on an uCPE device from the
1962 Enea uCPE Manager</title>
1963
1964 <para>Steps and options on how to Install and Activate a NFV Access image on an
1965 uCPE device from the Enea uCPE Manager are described below.</para>
1966
1967 <section id="script_opts_install_activate">
1968 <title>Script Options</title>
1969
1970 <programlisting>$ python installAndActivate.py -h
1971Install and activate NFVA image from uCPE Manager
1972Usage: installAndActivate.py [options]
1973
1974Install and activate NFVA image from uCPE Manager.
1975
1976Options:
1977 --version show program's version number and exit
1978 -h, --help show this help message and exit
1979 -u USERNAME, --username=USERNAME
1980 Enea uCPE Manager login username
1981 -p PASSWORD, --password=PASSWORD
1982 Enea uCPE Manager login password
1983 -H HOST, --host=HOST Enea uCPE Manager host name or IP address
1984 -i IMAGENAME, --imageName=IMAGENAME
1985 Image name
1986 -m MODULE, --module=MODULE
1987 Module name -- VcpeAgent
1988 -t UPGRADETYPE, --upgradeType=UPGRADETYPE
1989 Upgrade Type -- xeon_d or atom_c3000
1990 -d DEVICENAME, --deviceName=DEVICENAME
1991 Device Name
1992
1993 Mandatory options:
1994 -H/--host, -i/--imageName, -t/--upgradeType, -d/--deviceName,
1995 -m/--module</programlisting>
1996 </section>
1997
1998 <section id="json_install_activate">
1999 <title>Configuring the JSON File</title>
2000
2001 <para>The JSON configuration file needed to install and activate a NFV Access
2002 image on a uCPE device from the Enea uCPE Manager should contain a
2003 list of dictionaries. Each dictionary indicates the test case name and
2004 the test case arguments passed to the
2005 <filename>installAndActivate</filename> Python module.</para>
2006
2007 <para><emphasis role="bold">Sample unit-test JSON file
2008 format:</emphasis><programlisting>[
2009 {
2010 "name": "Install and activate NFVA image on uCPE device from uCPE Manager",
2011 "args": "-i enea-nfv-access-xeon-d.rootfs.ostree.tar.bz2 -t xeon_d -d inteld1521-16"
2012 }
2013]</programlisting></para>
2014 </section>
2015
2016 <section id="pymod_install_activate">
2017 <title>Running the Python Module</title>
2018
2019 <para>The <filename>installAndActivate</filename> Python module can be
2020 executed individually by running the following command line:</para>
2021
2022 <programlisting>$ python installAndActivate.py -u admin -p admin -H localhost -i \
2023enea-nfv-access-xeon-d.rootfs.ostree.tar.bz2 -t xeon_d -d inteld1521-16
20242020-02-28 12:36:46,137 - DEBUG: Started logging
20252020-02-28 12:36:46,138 - INFO: Install and activate NFVA image from uCPE Manager
20262020-02-28 12:36:46,288 - DEBUG: Login successful on host 'localhost'
20272020-02-28 12:36:46,288 - DEBUG: Session token is: 99b7cde0-5a1e-11ea-a3de-5652b3ac1c30
20282020-02-28 12:36:46,325 - DEBUG: Found device with name 'inteld1521-16'
20292020-02-28 12:36:46,459 - INFO: Display info about NFVA installation \
2030[inteld1521-16:1001:172.24.12.152] Install Started
20312020-02-28 12:36:46,492 - INFO: Transferring Image: \
2032enea-nfv-access-xeon-d.rootfs.ostree.tar.bz2
20332020-02-28 12:36:56,552 - INFO: Verifying Release [1]
20342020-02-28 12:37:06,599 - INFO: Verifying Release [2]
20352020-02-28 12:37:16,652 - INFO: Validating Upgrade to \
2036enea-nfv-access-xeon-d.rootfs.ostree.tar.bz2
20372020-02-28 12:37:26,713 - INFO: Validating upgrade to \
2038enea-nfv-access-xeon-d.rootfs.ostree.tar.bz2 [3]
20392020-02-28 12:37:36,770 - INFO: Validating upgrade to \
2040enea-nfv-access-xeon-d.rootfs.ostree.tar.bz2 [5]
20412020-02-28 12:37:46,819 - INFO: Validating upgrade to \
2042enea-nfv-access-xeon-d.rootfs.ostree.tar.bz2 [7]
20432020-02-28 12:37:56,879 - INFO: Validating upgrade to \
2044enea-nfv-access-xeon-d.rootfs.ostree.tar.bz2 [9]
20452020-02-28 12:38:06,920 - INFO: Validating upgrade to \
2046enea-nfv-access-xeon-d.rootfs.ostree.tar.bz2 [11]
20472020-02-28 12:38:16,975 - INFO: Validating upgrade to \
2048enea-nfv-access-xeon-d.rootfs.ostree.tar.bz2 [13]
20492020-02-28 12:38:27,019 - INFO: Validating upgrade to \
2050enea-nfv-access-xeon-d.rootfs.ostree.tar.bz2 [15]
20512020-02-28 12:38:37,091 - INFO: Validating upgrade to \
2052enea-nfv-access-xeon-d.rootfs.ostree.tar.bz2 [18]
20532020-02-28 12:38:47,133 - INFO: Validating upgrade to \
2054enea-nfv-access-xeon-d.rootfs.ostree.tar.bz2 [20]
20552020-02-28 12:38:57,186 - INFO: Waiting for release to become active
20562020-02-28 12:39:07,231 - INFO: Upgrade Request Complete
20572020-02-28 12:39:17,242 - INFO: Installation completed!
20582020-02-28 12:39:17,243 - INFO: Done
20592020-02-28 12:39:17,294 - DEBUG: Logging out and exiting...</programlisting>
2060 </section>
2061 </section>
2062
2063 <section id="clearing_info_upgrade">
2064 <title>Clearing information about completed upgrades of uCPE devices
2065 from the Enea uCPE Manager</title>
2066
2067 <para>Steps and options on how to clear information about completed
2068 upgrades of uCPE devices from the Enea uCPE Manager are described
2069 below.</para>
2070
2071 <section id="script_opts_clearinfo">
2072 <title>Script Options</title>
2073
2074 <programlisting>$ python clearCompletedUpgradesInfo.py -h
2075Clear info about completed upgrades
2076Usage: clearCompletedUpgradesInfo.py [options]
2077
2078Clear info about completed upgrades
2079
2080Options:
2081 --version show program's version number and exit
2082 -h, --help show this help message and exit
2083 -u USERNAME, --username=USERNAME
2084 Enea uCPE Manager login username
2085 -p PASSWORD, --password=PASSWORD
2086 Enea uCPE Manager login password
2087 -H HOST, --host=HOST Enea uCPE Manager host name or IP address
2088
2089 Mandatory options:
2090 -H/--host </programlisting>
2091 </section>
2092
2093 <section id="json_clear_info">
2094 <title>Configuring the JSON File</title>
2095
2096 <para>No JSON configuration file is needed to clear information about
2097 completed upgrades of uCPE devices from the Enea uCPE Manager. The
2098 <filename>clearCompletedUpgradesInfo</filename> Python module can be
2099 run without a JSON file as a parameter.</para>
2100 </section>
2101
2102 <section id="pymod_clear_info">
2103 <title>Running the Python Module</title>
2104
2105 <para>The <filename>clearCompletedUpgradesInfo</filename> Python
2106 module can be executed individually by running the following command
2107 line:</para>
2108
2109 <programlisting>$ python clearCompletedUpgradesInfo.py -u admin -p admin -H localhost
21102020-02-28 12:51:55,861 - DEBUG: Started logging
21112020-02-28 12:51:55,862 - INFO: Clear info about completed upgrades
21122020-02-28 12:51:55,950 - DEBUG: Login successful on host 'localhost'
21132020-02-28 12:51:55,951 - DEBUG: Session token is: b7eb83e0-5a20-11ea-a3de-5652b3ac1c30
21142020-02-28 12:51:55,993 - INFO: Done
21152020-02-28 12:51:56,025 - DEBUG: Logging out and exiting...</programlisting>
2116 </section>
2117 </section>
1800 </section> 2118 </section>
1801 2119
1802 <section id="test_harness"> 2120 <section id="test_harness">
diff --git a/doc/book-enea-nfv-access-auto-fw-th-user-guide/doc/components.xml b/doc/book-enea-nfv-access-auto-fw-th-user-guide/doc/components.xml
index 28abdd3..3eefcfd 100644
--- a/doc/book-enea-nfv-access-auto-fw-th-user-guide/doc/components.xml
+++ b/doc/book-enea-nfv-access-auto-fw-th-user-guide/doc/components.xml
@@ -11,8 +11,8 @@
11 11
12 <mediaobject> 12 <mediaobject>
13 <imageobject> 13 <imageobject>
14 <imagedata align="center" fileref="images/autofw_testh_overview.png" 14 <imagedata align="center" contentwidth="600"
15 scale="40" /> 15 fileref="images/autofw_testh_overview.png" />
16 </imageobject> 16 </imageobject>
17 </mediaobject> 17 </mediaobject>
18 </figure> 18 </figure>
diff --git a/doc/book-enea-nfv-access-auto-fw-th-user-guide/doc/getting_started.xml b/doc/book-enea-nfv-access-auto-fw-th-user-guide/doc/getting_started.xml
index 2f430c3..a63dfda 100644
--- a/doc/book-enea-nfv-access-auto-fw-th-user-guide/doc/getting_started.xml
+++ b/doc/book-enea-nfv-access-auto-fw-th-user-guide/doc/getting_started.xml
@@ -44,8 +44,8 @@
44 44
45 <mediaobject> 45 <mediaobject>
46 <imageobject> 46 <imageobject>
47 <imagedata align="center" 47 <imagedata align="center" contentwidth="600"
48 fileref="images/environment_basicsetup.png" scale="35" /> 48 fileref="images/environment_basicsetup.png" />
49 </imageobject> 49 </imageobject>
50 </mediaobject> 50 </mediaobject>
51 </figure>The following enviroment setup is needed for running all tests 51 </figure>The following enviroment setup is needed for running all tests
@@ -122,9 +122,8 @@
122 122
123 <mediaobject> 123 <mediaobject>
124 <imageobject> 124 <imageobject>
125 <imagedata align="center" 125 <imagedata align="center" contentwidth="600"
126 fileref="images/ChainedVNFsService_setup.png" 126 fileref="images/ChainedVNFsService_setup.png" />
127 scale="40" />
128 </imageobject> 127 </imageobject>
129 </mediaobject> 128 </mediaobject>
130 </figure></para> 129 </figure></para>
@@ -159,8 +158,9 @@
159 158
160 <orderedlist> 159 <orderedlist>
161 <listitem> 160 <listitem>
162 <para>Unzip the <filename>nfvaccess&lt;version&gt;_af-th.zip</filename> archive 161 <para>Unzip the
163 file, provided by Enea, on a supported host machine.</para> 162 <filename>nfvaccess&lt;version&gt;_af-th.zip</filename> archive file,
163 provided by Enea, on a supported host machine.</para>
164 164
165 <para>The directory in which the archive has been unpacked will be 165 <para>The directory in which the archive has been unpacked will be
166 denoted as <literal>&lt;AF-TH-installdir&gt;</literal>.</para> 166 denoted as <literal>&lt;AF-TH-installdir&gt;</literal>.</para>
@@ -210,8 +210,8 @@
210 </note> 210 </note>
211 211
212 <para>After the initial setup, each session ends by closing the Python 212 <para>After the initial setup, each session ends by closing the Python
213 virtual environment through running <literal>deactivate</literal> 213 virtual environment through running <literal>deactivate</literal> from the
214 from the <literal>&lt;AF-THinstall-dir&gt;</literal> directory.</para> 214 <literal>&lt;AF-THinstall-dir&gt;</literal> directory.</para>
215 215
216 <para>Subsequent use of the installation requires activating the Python 216 <para>Subsequent use of the installation requires activating the Python
217 virtual enviroment before using the Automation Framework and Test Harness: 217 virtual enviroment before using the Automation Framework and Test Harness:
@@ -223,4 +223,4 @@
223 <filename>setupuCPEManager.yml</filename> playbook with the corresponding 223 <filename>setupuCPEManager.yml</filename> playbook with the corresponding
224 JSON config for the new uCPE Manager instance.</para> 224 JSON config for the new uCPE Manager instance.</para>
225 </section> 225 </section>
226</chapter> 226</chapter> \ No newline at end of file
diff --git a/doc/book-enea-nfv-access-auto-fw-th-user-guide/doc/overview.xml b/doc/book-enea-nfv-access-auto-fw-th-user-guide/doc/overview.xml
index 69d5f0e..557495a 100644
--- a/doc/book-enea-nfv-access-auto-fw-th-user-guide/doc/overview.xml
+++ b/doc/book-enea-nfv-access-auto-fw-th-user-guide/doc/overview.xml
@@ -27,7 +27,7 @@
27 <title>Definitions</title> 27 <title>Definitions</title>
28 28
29 <tgroup cols="2"> 29 <tgroup cols="2">
30 <colspec align="center" /> 30 <colspec align="left" />
31 31
32 <thead> 32 <thead>
33 <row> 33 <row>
@@ -52,7 +52,7 @@
52 <title>Acronyms</title> 52 <title>Acronyms</title>
53 53
54 <tgroup cols="2"> 54 <tgroup cols="2">
55 <colspec align="center" /> 55 <colspec align="left" />
56 56
57 <thead> 57 <thead>
58 <row> 58 <row>
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 e3414f4..fb8ff8d 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
@@ -13,7 +13,7 @@
13 TH.</para> 13 TH.</para>
14 14
15 <section id="onb_vnf_image"> 15 <section id="onb_vnf_image">
16 <title>VNF - Onboard_VNF_Image<remark>all titles are formated with 16 <title>VNF - Onboard a VNF Image<remark>all titles are formated with
17 underscores can this be changed or should it be left as 17 underscores can this be changed or should it be left as
18 is?</remark></title> 18 is?</remark></title>
19 19
@@ -60,7 +60,7 @@ vnfd=&lt;VNF-Descriptor-name&gt;"</programlisting></para>
60 </section> 60 </section>
61 61
62 <section id="offb_vnf"> 62 <section id="offb_vnf">
63 <title>VNF - Offboard_VNF</title> 63 <title>VNF - Offboard a VNF</title>
64 64
65 <para><emphasis role="bold">Description:</emphasis> Removing a VNF 65 <para><emphasis role="bold">Description:</emphasis> Removing a VNF
66 Descriptor from the uCPE Manager. For details please refer to:</para> 66 Descriptor from the uCPE Manager. For details please refer to:</para>
@@ -92,7 +92,7 @@ vnfd=&lt;VNF-Descriptor-name&gt;"</programlisting></para>
92 </section> 92 </section>
93 93
94 <section id="add_device"> 94 <section id="add_device">
95 <title>Device - Add_Device</title> 95 <title>Device - Add a device</title>
96 96
97 <para><emphasis role="bold">Description:</emphasis> Adding a uCPE device 97 <para><emphasis role="bold">Description:</emphasis> Adding a uCPE device
98 to the uCPE Manager. For details please refer to:</para> 98 to the uCPE Manager. For details please refer to:</para>
@@ -124,8 +124,248 @@ vnfd=&lt;VNF-Descriptor-name&gt;"</programlisting></para>
124&lt;Device-name&gt; device already exists!</programlisting></para> 124&lt;Device-name&gt; device already exists!</programlisting></para>
125 </section> 125 </section>
126 126
127 <section id="device_upload_image">
128 <title>Device - Upload a NFV Access image</title>
129
130 <para><emphasis role="bold">Description:</emphasis> Upload a NFV Access image
131 file onto the uCPE Manager. For details please refer to:</para>
132
133 <itemizedlist>
134 <listitem>
135 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/uploadImage.yml</filename></para>
136 </listitem>
137
138 <listitem>
139 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/device/uploadImage.py</filename></para>
140 </listitem>
141 </itemizedlist>
142
143 <para><emphasis role="bold">Precondition:</emphasis> The image path must
144 already exist.</para>
145
146 <para><emphasis role="bold">Example:</emphasis> <programlisting>ansible-playbook playbooks/uploadImage.yml -e \
147image_path="/tmp/enea-nfv-access-xeon-d6.rootfs.ostree.tar.bz2" -e \
148upgrade_type="xeon_d"</programlisting></para>
149
150 <para><emphasis role="bold">Action:</emphasis> Run the
151 <filename>uploadImage.yml</filename> Ansible playbook with the
152 <filename>&lt;Image-path&gt;</filename> and
153 <filename>&lt;Upgrade-type&gt;</filename> as extra-vars:</para>
154
155 <para><programlisting>ansible-playbook playbooks/deleteUpgradeFile.yml -e \
156image_path="&lt;Image-path&gt;" -e upgrade_type="&lt;Upgrade-type&gt;"</programlisting></para>
157
158 <para><emphasis role="bold">Result:</emphasis> Output of the test case
159 run using the Test Harness:</para>
160
161 <para><programlisting>TASK [Upload NFVA image -- Run uploadImage.py module from automation_framework]
162localhost : ok=1 changed=1 unreachable=0 failed=0</programlisting><emphasis
163 role="bold">Note:</emphasis> The test will fail if the image file has
164 already been uploaded.</para>
165
166 <para><programlisting>TASK [Upload NFVA image -- Run uploadImage.py module from automation_framework]
167ok=0 changed=0 unreachable=0 failed=1
168
169# debug
170A file with the same name is already uploaded.</programlisting></para>
171 </section>
172
173 <section id="dev_del_upgrade">
174 <title>Device - Delete Upgraded File</title>
175
176 <para><emphasis role="bold">Description:</emphasis> Deleting an uploaded
177 NFV Access image file from the uCPE Manager. For details please refer to:</para>
178
179 <itemizedlist>
180 <listitem>
181 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/deleteUpgradeFile.yml</filename></para>
182 </listitem>
183
184 <listitem>
185 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/device/deleteUpgradeFile.py</filename></para>
186 </listitem>
187 </itemizedlist>
188
189 <para><emphasis role="bold">Preconditions:</emphasis> The image file
190 must already be uploaded onto the uCPE Manager.</para>
191
192 <para><emphasis role="bold">Example:</emphasis></para>
193
194 <programlisting>ansible-playbook playbooks/deleteUpgradeFile.yml -e \
195image_name="enea-nfv-access-xeon-d.rootfs.ostree.tar.bz2"</programlisting>
196
197 <para><emphasis role="bold">Action:</emphasis> Run the
198 <filename>deleteUpgradeFile.yml</filename> Ansible Playbook with the
199 <literal>&lt;Image-name&gt;</literal> as extra-vars:<programlisting>ansible-playbook playbooks/deleteUpgradeFile.yml -e \
200image_name="&lt;Image-name&gt;"</programlisting></para>
201
202 <para><emphasis role="bold">Result:</emphasis> Output of the test case
203 run using the Test Harness:<programlisting>TASK [Remove NFVA image -- Run deleteUpgradeFile.py module from automation_framework]
204localhost : ok=1 changed=1 unreachable=0 failed=0</programlisting>
205 <emphasis role="bold">Note:</emphasis> The test will fail if the image
206 file does not exist: <programlisting>TASK [Remove NFVA image -- Run deleteUpgradeFile.py module from automation_framework]
207ok=0 changed=0 unreachable=0 failed=1
208
209# debug
210No oid found for '&lt;image_name&gt;' image name</programlisting></para>
211 </section>
212
213 <section id="dev_clear_info">
214 <title>Device - Clear information about upgrades of uCPE devices</title>
215
216 <para><emphasis role="bold">Description:</emphasis> Clear information
217 about upgrades of uCPE devices. For details please refer to:</para>
218
219 <itemizedlist>
220 <listitem>
221 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/clearCompletedUpgradesInfo.yml</filename></para>
222 </listitem>
223
224 <listitem>
225 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/device/clearCompletedUpgradesInfo.py</filename></para>
226 </listitem>
227 </itemizedlist>
228
229 <para><emphasis role="bold">Preconditions:</emphasis> No preconditions
230 needed.</para>
231
232 <para><emphasis role="bold">Action:</emphasis> Run the
233 <filename>clearCompletedUpgradesInfo.yml</filename> Ansible
234 Playbook:<programlisting>ansible-playbook playbooks/clearCompletedUpgradesInfo.yml</programlisting></para>
235
236 <para><emphasis role="bold">Result:</emphasis> Output of the test case
237 run using the Test Harness:<programlisting>TASK [Clear completed info about upgrading -- Run \
238clearCompletedUpgradesInfo.py module from automation framework]]
239localhost : ok=1 changed=1 unreachable=0 failed=0</programlisting></para>
240 </section>
241
242 <section id="dev_inst_activ">
243 <title>Device - Install and Activate a NFV Access image</title>
244
245 <para><emphasis role="bold">Description:</emphasis> Installing and
246 Activating a NFV Access image on a uCPE device from the uCPE Manager. For
247 details please refer to:</para>
248
249 <itemizedlist>
250 <listitem>
251 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/installAndActivate.yml</filename></para>
252 </listitem>
253
254 <listitem>
255 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/device/installAndActivate.py</filename></para>
256 </listitem>
257 </itemizedlist>
258
259 <para><emphasis role="bold">Preconditions:</emphasis> <itemizedlist>
260 <listitem>
261 <para>The device must be previously added to the uCPE Manager
262 instance.</para>
263 </listitem>
264
265 <listitem>
266 <para>The image file must already be uploaded onto the uCPE
267 Manager.</para>
268 </listitem>
269 </itemizedlist></para>
270
271 <para><emphasis role="bold">Example:</emphasis></para>
272
273 <programlisting>ansible-playbook playbooks/installAndActivate.yml -e \
274image_name="enea-nfv-access-xeon-d6.rootfs.ostree.tar.bz2" -e \
275upgrade_type=xeon_d -e device=inteld1521-16"</programlisting>
276
277 <para><emphasis role="bold">Action:</emphasis> Run the
278 <filename>installAndActivate.yml</filename> Ansible Playbook with the
279 <literal>&lt;Image-name&gt;</literal>,
280 <literal>&lt;Upgrade-type&gt;</literal>, and the
281 <literal>&lt;Device-name&gt;</literal> as extra-vars:<programlisting>ansible-playbook playbooks/installAndActivate.yml -e \
282image_name="&lt;Image_name&gt;" -e upgrade_type="&lt;Upgrade_type&gt;" -e \
283device="&lt;Device-name&gt;"</programlisting></para>
284
285 <para><emphasis role="bold">Result:</emphasis> Output of the test case
286 run using the Test Harness:<programlisting>TASK \
287[Install And Activate -- Run installAndActivate.py module from automation_framework]
288localhost : ok=1 changed=1 unreachable=0 failed=0</programlisting>
289 <emphasis role="bold">Note:</emphasis> The test will fail if the image
290 has already been installed on the uCPE device:<programlisting>TASK \
291[Install And Activate -- Run installAndActivate.py module from automation_framework]
292ok=0 changed=0 unreachable=0 failed=1
293
294# debug
295Duplicate entry - Release already installed</programlisting></para>
296 </section>
297
298 <section id="dev_upload_inst_activ">
299 <title>Device - Upload, Install and Activate a NFV Access image on a uCPE
300 device</title>
301
302 <para><emphasis role="bold">Description:</emphasis> Upload, install and
303 activate a NFV Access image on a uCPE device from the uCPE Manager. For details
304 please refer to:</para>
305
306 <itemizedlist>
307 <listitem>
308 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/installNFVAImage.yml</filename></para>
309 </listitem>
310
311 <listitem>
312 <para>The playbook imports the previously described
313 playbooks:<itemizedlist spacing="compact">
314 <listitem>
315 <para><filename>playbook/addDevice.yml</filename></para>
316 </listitem>
317
318 <listitem>
319 <para><filename>playbook/uploadImage.yml</filename></para>
320 </listitem>
321
322 <listitem>
323 <para><filename>playbook/installAndActivate.yml</filename></para>
324 </listitem>
325
326 <listitem>
327 <para><filename>playbook/deleteUpgradeFile.yml</filename></para>
328 </listitem>
329
330 <listitem>
331 <para><filename>playbook/clearCompletedUpgradesInfo.yml</filename></para>
332 </listitem>
333
334 <listitem>
335 <para><filename>playbook/removeDevice.yml</filename></para>
336 </listitem>
337 </itemizedlist></para>
338 </listitem>
339 </itemizedlist>
340
341 <para><emphasis role="bold">Precondition:</emphasis> A device JSON
342 configuration file must be created:<programlisting>&lt;AF-TH-install-dir&gt;/lab_config/&lt;Device-name&gt;/&lt;Device-name&gt;.json</programlisting></para>
343
344 <para><emphasis role="bold">Example:</emphasis></para>
345
346 <programlisting>ansible-playbook playbooks/installNFVAImage.yml -e \
347device="inteld1521-16" -e \
348image_path=/tmp/enea-nfv-access-xeon-d5.rootfs.ostree.tar.bz2 -e \
349image_name=enea-nfv-access-xeon-d5.rootfs.ostree.tar.bz2 -e \
350upgrade_type=xeon_d</programlisting>
351
352 <para><emphasis role="bold">Action:</emphasis> Run the
353 <filename>installNFVAImage.yml</filename> Ansible Playbook with the
354 <literal>&lt;Image-path&gt;</literal>,
355 <literal>&lt;Image-name&gt;</literal>,
356 <literal>&lt;Upgrade-type&gt;</literal>, and the
357 <literal>&lt;Device-name&gt;</literal> as extra-vars:<programlisting>ansible-playbook playbooks/installNFVAImage.yml -e \
358device="&lt;Device-name&gt;" -e image_path="&lt;Image-path&gt;" -e \
359image_name="&lt;Image-name&gt;" -e upgrade_type="&lt;Upgrade-type&gt;"</programlisting></para>
360
361 <para><emphasis role="bold">Result:</emphasis> Output of the test case
362 run using the Test Harness:<programlisting>localhost : ok=1 changed=1 unreachable=0 failed=0</programlisting>
363 <emphasis role="bold">Note:</emphasis> The test will fail if the one
364 imported playbook fails:<programlisting>ok=0 changed=0 unreachable=0 failed=1</programlisting></para>
365 </section>
366
127 <section id="remv_dev"> 367 <section id="remv_dev">
128 <title>Device - Remove_Device</title> 368 <title>Device - Remove a Device</title>
129 369
130 <para><emphasis role="bold">Description:</emphasis> Removing a uCPE 370 <para><emphasis role="bold">Description:</emphasis> Removing a uCPE
131 device from the uCPE Manager. For details please refer to:</para> 371 device from the uCPE Manager. For details please refer to:</para>
@@ -167,7 +407,7 @@ vnfd=&lt;VNF-Descriptor-name&gt;"</programlisting></para>
167 </section> 407 </section>
168 408
169 <section id="bind_nic"> 409 <section id="bind_nic">
170 <title>Network - Bind_NIC</title> 410 <title>Network - Bind a NIC</title>
171 411
172 <para><emphasis role="bold">Description:</emphasis> Binding a physical 412 <para><emphasis role="bold">Description:</emphasis> Binding a physical
173 network interface (NIC) to a device. For details please refer to:</para> 413 network interface (NIC) to a device. For details please refer to:</para>
@@ -212,7 +452,7 @@ vnfd=&lt;VNF-Descriptor-name&gt;"</programlisting></para>
212 </section> 452 </section>
213 453
214 <section id="unbind_nic"> 454 <section id="unbind_nic">
215 <title>Network - Unbind_NIC</title> 455 <title>Network - Unbind a NIC</title>
216 456
217 <para><emphasis role="bold">Description:</emphasis> Unbinding a physical 457 <para><emphasis role="bold">Description:</emphasis> Unbinding a physical
218 network interface (NIC) from a device. For details please refer 458 network interface (NIC) from a device. For details please refer
@@ -254,7 +494,7 @@ vnfd=&lt;VNF-Descriptor-name&gt;"</programlisting></para>
254 </section> 494 </section>
255 495
256 <section id="create_bri"> 496 <section id="create_bri">
257 <title>Network - Create_Bridge</title> 497 <title>Network - Create a Bridge</title>
258 498
259 <para><emphasis role="bold">Description:</emphasis> Creating an OVS 499 <para><emphasis role="bold">Description:</emphasis> Creating an OVS
260 network bridge on a uCPE device. For details please refer to:</para> 500 network bridge on a uCPE device. For details please refer to:</para>
@@ -297,7 +537,7 @@ vnfd=&lt;VNF-Descriptor-name&gt;"</programlisting></para>
297 </section> 537 </section>
298 538
299 <section id="remov_bri"> 539 <section id="remov_bri">
300 <title>Network - Remove_Bridge</title> 540 <title>Network - Remove a Bridge</title>
301 541
302 <para><emphasis role="bold">Description:</emphasis> Removing an OVS 542 <para><emphasis role="bold">Description:</emphasis> Removing an OVS
303 network bridge from a uCPE device. For details please refer to:</para> 543 network bridge from a uCPE device. For details please refer to:</para>
@@ -335,7 +575,7 @@ bridge=&lt;Bridge-name&gt;"</programlisting></para>
335 </section> 575 </section>
336 576
337 <section id="config_dpdk"> 577 <section id="config_dpdk">
338 <title>Network - Configure_DPDK</title> 578 <title>Network - Configure a DPDK</title>
339 579
340 <para><emphasis role="bold">Description:</emphasis> Enabling or 580 <para><emphasis role="bold">Description:</emphasis> Enabling or
341 Disabling the DPDK support in OVS. For details please refer to:</para> 581 Disabling the DPDK support in OVS. For details please refer to:</para>