summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormrpa <miruna.paun@enea.com>2021-05-28 20:37:23 +0200
committerMiruna Paun <mrpa@enea.se>2021-06-07 10:47:16 +0100
commit0bc82389b36fbdb6f9a4df4d44ea1379e440ca99 (patch)
tree0aca91a779c8b5bad5f1e8c58ca9450829e96edc
parentd30d4955ff9e5b61329d7bf75d274d192d0d9adc (diff)
downloadnfv-access-documentation-0bc82389b36fbdb6f9a4df4d44ea1379e440ca99.tar.gz
Updated the version variable for Enea Edge,
Added in the versioning files ie all eltf updates files, 3 in total, Updated the EE Automation User Guide to reflect the new name, along with various edits and tweaks, Removed obsolete files from the Enea Edge Rel notes repo, Tweaked the AF User Guide 4.3.2 chapter. Change-Id: Ie08fab45236602e6875ba5f7d2724c0cd7306860 Signed-off-by: mrpa <miruna.paun@enea.com>
-rw-r--r--doc/Makefile6
-rw-r--r--doc/book-enea-edge-auto-fw-th-open-source/doc/about.xml4
-rw-r--r--doc/book-enea-edge-auto-fw-th-open-source/doc/book.xml2
-rw-r--r--doc/book-enea-edge-auto-fw-th-open-source/doc/licenses.xml8
-rw-r--r--doc/book-enea-edge-auto-fw-th-user-guide/doc/book.xml4
-rw-r--r--doc/book-enea-edge-automation-open-source/doc/about.xml4
-rw-r--r--doc/book-enea-edge-automation-open-source/doc/book.xml2
-rw-r--r--doc/book-enea-edge-automation-open-source/doc/licenses.xml8
-rw-r--r--doc/book-enea-edge-automation-user-guide/doc/automation_framework_test_harness.xml1300
-rw-r--r--doc/book-enea-edge-automation-user-guide/doc/book.xml4
-rw-r--r--doc/book-enea-edge-automation-user-guide/doc/getting_started.xml404
-rw-r--r--doc/book-enea-edge-example-usecases/doc/book.xml4
-rw-r--r--doc/book-enea-edge-getting-started/doc/book.xml4
-rw-r--r--doc/book-enea-edge-getting-started/doc/net_config_options.xml4
-rw-r--r--doc/book-enea-edge-management-open-source/doc/about.xml4
-rw-r--r--doc/book-enea-edge-management-open-source/doc/book.xml2
-rw-r--r--doc/book-enea-edge-release-info/doc/about_release.xml6
-rw-r--r--doc/book-enea-edge-release-info/doc/book.xml4
-rw-r--r--doc/book-enea-edge-release-info/doc/getting_enea_nfv_access.xml54
-rw-r--r--doc/book-enea-edge-release-info/doc/system_requirements_prerequisites.xml62
-rw-r--r--doc/book-enea-edge-runtime-open-source/doc/about.xml4
-rw-r--r--doc/book-enea-edge-runtime-open-source/doc/book.xml2
-rw-r--r--doc/book-enea-edge-system-test-specification/doc/book.xml2
-rw-r--r--doc/book-enea-edge-telemetry-open-source/doc/about.xml4
-rw-r--r--doc/book-enea-edge-telemetry-open-source/doc/book.xml2
-rw-r--r--doc/book-enea-nfv-access-evalkit/doc/book.xml2
-rw-r--r--doc/book-enea-nfv-access-evalkit/doc/prerequisites.xml6
-rw-r--r--doc/eltf_params_template.xml151
-rw-r--r--doc/eltf_params_updated.xml240
-rw-r--r--doc/eltf_params_updated_template_how_to_use.txt320
30 files changed, 1633 insertions, 990 deletions
diff --git a/doc/Makefile b/doc/Makefile
index 1f5b506..5c1a6b9 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -32,8 +32,8 @@ include init.mk
32 32
33MACHINE_LIST_XML := book-enea-edge-release-info/doc/machine_list_generated.xml 33MACHINE_LIST_XML := book-enea-edge-release-info/doc/machine_list_generated.xml
34 34
35ELTF_PARAMS_TEMPLATE := s_doceneacommon/doc/eltf_params_template.xml 35ELTF_PARAMS_TEMPLATE := eltf_params_template.xml
36ELTF_PARAMS_UPDATED := s_doceneacommon/doc/eltf_params_updated.xml 36ELTF_PARAMS_UPDATED := eltf_params_updated.xml
37 37
38 38
39 39
@@ -184,7 +184,7 @@ endif
184 184
185books: init 185books: init
186# BOOKPACKAGES is defined in all book-*/swcomp.mk 186# BOOKPACKAGES is defined in all book-*/swcomp.mk
187 $(VERB)DISTRO_VERSION=`egrep '"EneaLinux_REL_VER"><phrase>' $(ELTF_PARAMS_UPDATED) | sed 's/.*<phrase>//;s/<\/phrase>.*//'` ; \ 187 $(VERB)DISTRO_VERSION=`egrep '"EneaEdge_REL_VER"><phrase>' $(ELTF_PARAMS_UPDATED) | sed 's/.*<phrase>//;s/<\/phrase>.*//'` ; \
188 BOOKVER="Enea Edge-$$DISTRO_VERSION"-$(shell date +"%Y.%m.%d"); \ 188 BOOKVER="Enea Edge-$$DISTRO_VERSION"-$(shell date +"%Y.%m.%d"); \
189 for book in $(BOOKPACKAGES); do \ 189 for book in $(BOOKPACKAGES); do \
190 for format in $(FORMAT); do \ 190 for format in $(FORMAT); do \
diff --git a/doc/book-enea-edge-auto-fw-th-open-source/doc/about.xml b/doc/book-enea-edge-auto-fw-th-open-source/doc/about.xml
index 24f674d..53cda06 100644
--- a/doc/book-enea-edge-auto-fw-th-open-source/doc/about.xml
+++ b/doc/book-enea-edge-auto-fw-th-open-source/doc/about.xml
@@ -7,8 +7,8 @@
7 <para>This document contains the open source and license information 7 <para>This document contains the open source and license information
8 pertaining to the Enea Edge Automation Framework and Test Harness provided with 8 pertaining to the Enea Edge Automation Framework and Test Harness provided with
9 Enea Edge <xi:include 9 Enea Edge <xi:include
10 href="../../s_doceneacommon/doc/eltf_params_updated.xml" 10 href="../../eltf_params_updated.xml"
11 xmlns:xi="http://www.w3.org/2001/XInclude" 11 xmlns:xi="http://www.w3.org/2001/XInclude"
12 xpointer="element(EneaLinux_REL_VER/1)" />.</para> 12 xpointer="element(EneaEdge_REL_VER/1)" />.</para>
13 13
14</chapter> 14</chapter>
diff --git a/doc/book-enea-edge-auto-fw-th-open-source/doc/book.xml b/doc/book-enea-edge-auto-fw-th-open-source/doc/book.xml
index df5e029..960e0cc 100644
--- a/doc/book-enea-edge-auto-fw-th-open-source/doc/book.xml
+++ b/doc/book-enea-edge-auto-fw-th-open-source/doc/book.xml
@@ -7,7 +7,7 @@
7 <title><trademark class="registered">Enea</trademark> Edge Automation Framework and Test Harness Open Source Report</title> 7 <title><trademark class="registered">Enea</trademark> Edge Automation Framework and Test Harness Open Source Report</title>
8 8
9 <subtitle>Release Version 9 <subtitle>Release Version
10 <xi:include href="../../s_doceneacommon/doc/eltf_params_updated.xml" xpointer="element(EneaLinux_REL_VER/1)" 10 <xi:include href="../../eltf_params_updated.xml" xpointer="element(EneaEdge_REL_VER/1)"
11 xmlns:xi="http://www.w3.org/2001/XInclude" /></subtitle> 11 xmlns:xi="http://www.w3.org/2001/XInclude" /></subtitle>
12 12
13 <!-- OLINKDBPATH_USED_BY_XMLMIND ../../s_docbuild/olinkdb --> 13 <!-- OLINKDBPATH_USED_BY_XMLMIND ../../s_docbuild/olinkdb -->
diff --git a/doc/book-enea-edge-auto-fw-th-open-source/doc/licenses.xml b/doc/book-enea-edge-auto-fw-th-open-source/doc/licenses.xml
index 397e2b8..07902ad 100644
--- a/doc/book-enea-edge-auto-fw-th-open-source/doc/licenses.xml
+++ b/doc/book-enea-edge-auto-fw-th-open-source/doc/licenses.xml
@@ -36,9 +36,9 @@
36 <entry>Enea Edge Automation Framework and Test Harness</entry> 36 <entry>Enea Edge Automation Framework and Test Harness</entry>
37 37
38 <entry><xi:include 38 <entry><xi:include
39 href="../../s_doceneacommon/doc/eltf_params_updated.xml" 39 href="../../eltf_params_updated.xml"
40 xmlns:xi="http://www.w3.org/2001/XInclude" 40 xmlns:xi="http://www.w3.org/2001/XInclude"
41 xpointer="element(EneaLinux_REL_VER/1)" /></entry> 41 xpointer="element(EneaEdge_REL_VER/1)" /></entry>
42 42
43 <entry>Configuration and Automation Framework for the Enea Edge Management 43 <entry>Configuration and Automation Framework for the Enea Edge Management
44 GUI.</entry> 44 GUI.</entry>
@@ -50,9 +50,9 @@
50 <entry>Enea Edge Automation Framework and Test Harness</entry> 50 <entry>Enea Edge Automation Framework and Test Harness</entry>
51 51
52 <entry><xi:include 52 <entry><xi:include
53 href="../../s_doceneacommon/doc/eltf_params_updated.xml" 53 href="../../eltf_params_updated.xml"
54 xmlns:xi="http://www.w3.org/2001/XInclude" 54 xmlns:xi="http://www.w3.org/2001/XInclude"
55 xpointer="element(EneaLinux_REL_VER/1)" /></entry> 55 xpointer="element(EneaEdge_REL_VER/1)" /></entry>
56 56
57 <entry>Configuration and Automation Framework for the Enea Edge Management 57 <entry>Configuration and Automation Framework for the Enea Edge Management
58 GUI.</entry> 58 GUI.</entry>
diff --git a/doc/book-enea-edge-auto-fw-th-user-guide/doc/book.xml b/doc/book-enea-edge-auto-fw-th-user-guide/doc/book.xml
index d533a74..3a0c698 100644
--- a/doc/book-enea-edge-auto-fw-th-user-guide/doc/book.xml
+++ b/doc/book-enea-edge-auto-fw-th-user-guide/doc/book.xml
@@ -8,9 +8,9 @@
8 Framework and Test Harness User Guide</title> 8 Framework and Test Harness User Guide</title>
9 9
10 <subtitle>Release Version <xi:include 10 <subtitle>Release Version <xi:include
11 href="../../s_doceneacommon/doc/eltf_params_updated.xml" 11 href="../../eltf_params_updated.xml"
12 xmlns:xi="http://www.w3.org/2001/XInclude" 12 xmlns:xi="http://www.w3.org/2001/XInclude"
13 xpointer="element(EneaLinux_REL_VER/1)" /></subtitle> 13 xpointer="element(EneaEdge_REL_VER/1)" /></subtitle>
14 14
15 <!-- OLINKDBPATH_USED_BY_XMLMIND ../../s_docbuild/olinkdb --> 15 <!-- OLINKDBPATH_USED_BY_XMLMIND ../../s_docbuild/olinkdb -->
16 16
diff --git a/doc/book-enea-edge-automation-open-source/doc/about.xml b/doc/book-enea-edge-automation-open-source/doc/about.xml
index 50ce933..64a6616 100644
--- a/doc/book-enea-edge-automation-open-source/doc/about.xml
+++ b/doc/book-enea-edge-automation-open-source/doc/about.xml
@@ -7,8 +7,8 @@
7 <para>This document contains the open source and license information 7 <para>This document contains the open source and license information
8 pertaining to the Enea Edge Automation provided with 8 pertaining to the Enea Edge Automation provided with
9 Enea Edge <xi:include 9 Enea Edge <xi:include
10 href="../../s_doceneacommon/doc/eltf_params_updated.xml" 10 href="../../eltf_params_updated.xml"
11 xmlns:xi="http://www.w3.org/2001/XInclude" 11 xmlns:xi="http://www.w3.org/2001/XInclude"
12 xpointer="element(EneaLinux_REL_VER/1)" />.</para> 12 xpointer="element(EneaEdge_REL_VER/1)" />.</para>
13 13
14</chapter> 14</chapter>
diff --git a/doc/book-enea-edge-automation-open-source/doc/book.xml b/doc/book-enea-edge-automation-open-source/doc/book.xml
index 317c87d..79da1aa 100644
--- a/doc/book-enea-edge-automation-open-source/doc/book.xml
+++ b/doc/book-enea-edge-automation-open-source/doc/book.xml
@@ -7,7 +7,7 @@
7 <title><trademark class="registered">Enea</trademark> Edge Automation Open Source Report</title> 7 <title><trademark class="registered">Enea</trademark> Edge Automation Open Source Report</title>
8 8
9 <subtitle>Release Version 9 <subtitle>Release Version
10 <xi:include href="../../s_doceneacommon/doc/eltf_params_updated.xml" xpointer="element(EneaLinux_REL_VER/1)" 10 <xi:include href="../../eltf_params_updated.xml" xpointer="element(EneaEdge_REL_VER/1)"
11 xmlns:xi="http://www.w3.org/2001/XInclude" /></subtitle> 11 xmlns:xi="http://www.w3.org/2001/XInclude" /></subtitle>
12 12
13 <!-- OLINKDBPATH_USED_BY_XMLMIND ../../s_docbuild/olinkdb --> 13 <!-- OLINKDBPATH_USED_BY_XMLMIND ../../s_docbuild/olinkdb -->
diff --git a/doc/book-enea-edge-automation-open-source/doc/licenses.xml b/doc/book-enea-edge-automation-open-source/doc/licenses.xml
index e2ade8a..01d0c08 100644
--- a/doc/book-enea-edge-automation-open-source/doc/licenses.xml
+++ b/doc/book-enea-edge-automation-open-source/doc/licenses.xml
@@ -36,9 +36,9 @@
36 <entry>Enea Edge Automation</entry> 36 <entry>Enea Edge Automation</entry>
37 37
38 <entry><xi:include 38 <entry><xi:include
39 href="../../s_doceneacommon/doc/eltf_params_updated.xml" 39 href="../../eltf_params_updated.xml"
40 xmlns:xi="http://www.w3.org/2001/XInclude" 40 xmlns:xi="http://www.w3.org/2001/XInclude"
41 xpointer="element(EneaLinux_REL_VER/1)" /></entry> 41 xpointer="element(EneaEdge_REL_VER/1)" /></entry>
42 42
43 <entry>Configuration and Automation for the Enea Edge Management 43 <entry>Configuration and Automation for the Enea Edge Management
44 GUI.</entry> 44 GUI.</entry>
@@ -50,9 +50,9 @@
50 <entry>Enea Edge Automation</entry> 50 <entry>Enea Edge Automation</entry>
51 51
52 <entry><xi:include 52 <entry><xi:include
53 href="../../s_doceneacommon/doc/eltf_params_updated.xml" 53 href="../../eltf_params_updated.xml"
54 xmlns:xi="http://www.w3.org/2001/XInclude" 54 xmlns:xi="http://www.w3.org/2001/XInclude"
55 xpointer="element(EneaLinux_REL_VER/1)" /></entry> 55 xpointer="element(EneaEdge_REL_VER/1)" /></entry>
56 56
57 <entry>Configuration and Automation for the Enea Edge Management 57 <entry>Configuration and Automation for the Enea Edge Management
58 GUI.</entry> 58 GUI.</entry>
diff --git a/doc/book-enea-edge-automation-user-guide/doc/automation_framework_test_harness.xml b/doc/book-enea-edge-automation-user-guide/doc/automation_framework_test_harness.xml
index bc974cc..c1b554e 100644
--- a/doc/book-enea-edge-automation-user-guide/doc/automation_framework_test_harness.xml
+++ b/doc/book-enea-edge-automation-user-guide/doc/automation_framework_test_harness.xml
@@ -1,54 +1,54 @@
1<?xml version="1.0" encoding="ISO-8859-1"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<chapter id="auto_fw_test_harness"> 2<chapter id="auto_fw_test_harness">
3 <title>Enea Edge Automation</title> 3 <title>Enea Edge Automation</title>
4 4
5 <section id="AFTH_structure"> 5 <section id="AFTH_structure">
6 <title>File Structure</title> 6 <title>File Structure</title>
7 7
8 <para>Enea Edge Automation is an open-source product, 8 <para>Enea Edge Automation is an open-source product, with the following
9 with the following directory structure:</para> 9 directory structure:</para>
10
11 <itemizedlist spacing="compact">
12 <listitem>
13 <para>ansible.cfg</para>
14 </listitem>
15 10
16 <listitem> 11 <itemizedlist spacing="compact">
17 <para>automation_framework</para> 12 <listitem>
18 </listitem> 13 <para>ansible.cfg</para>
14 </listitem>
19 15
20 <listitem> 16 <listitem>
21 <para>CHANGELOG</para> 17 <para>automation_framework</para>
22 </listitem> 18 </listitem>
23 19
24 <listitem> 20 <listitem>
25 <para>environment_variables.sh</para> 21 <para>CHANGELOG</para>
26 </listitem> 22 </listitem>
27 23
28 <listitem> 24 <listitem>
29 <para>modules</para> 25 <para>environment_variables.sh</para>
30 </listitem> 26 </listitem>
31 27
32 <listitem> 28 <listitem>
33 <para>setup_env_requirements.txt</para> 29 <para>modules</para>
34 </listitem> 30 </listitem>
35 31
36 <listitem> 32 <listitem>
37 <para>setup_env.sh</para> 33 <para>setup_env_requirements.txt</para>
38 </listitem> 34 </listitem>
39 35
40 <listitem> 36 <listitem>
41 <para>test_harness</para> 37 <para>setup_env.sh</para>
42 </listitem> 38 </listitem>
43 39
44 <listitem> 40 <listitem>
45 <para>unit_tests</para> 41 <para>test_harness</para>
46 </listitem> 42 </listitem>
47 43
48 <listitem> 44 <listitem>
49 <para>VERSION</para> 45 <para>unit_tests</para>
50 </listitem> 46 </listitem>
51 </itemizedlist> 47
48 <listitem>
49 <para>VERSION</para>
50 </listitem>
51 </itemizedlist>
52 52
53 <para>Each file/directory is described in more details in the following 53 <para>Each file/directory is described in more details in the following
54 sections.</para> 54 sections.</para>
@@ -58,70 +58,72 @@
58 58
59 <para>The <filename>setup_env.sh</filename>, 59 <para>The <filename>setup_env.sh</filename>,
60 <filename>setup_env_requirements.txt</filename> and 60 <filename>setup_env_requirements.txt</filename> and
61 <filename>environment_variables.sh</filename> files are used to create the 61 <filename>environment_variables.sh</filename> files are used to create
62 testing virtual environment, using the following 62 the testing virtual environment, using the following
63 prerequisites:</para> 63 prerequisites:</para>
64
65 <itemizedlist spacing="compact">
66 <listitem>
67 <para>The environment variable</para>
68 </listitem>
69 64
70 <listitem> 65 <itemizedlist spacing="compact">
71 <para>Python packages</para> 66 <listitem>
72 </listitem> 67 <para>The environment variable</para>
68 </listitem>
73 69
74 <listitem> 70 <listitem>
75 <para>Ansible package(s)</para> 71 <para>Python packages</para>
76 </listitem> 72 </listitem>
77 </itemizedlist>
78 73
79 <para>Where the <filename>environment_variables.sh</filename> script sets the 74 <listitem>
80 environment variables. The <filename>setup_env_requirements.txt</filename> contains the 75 <para>Ansible package(s)</para>
81 mapping between the package name and its version, and the <filename>setup_env.sh</filename> 76 </listitem>
82 script creates a testing virtual environment.</para> 77 </itemizedlist>
83 78
84 <para>The <filename>setup_env.sh</filename> does the 79 <para>Where the <filename>environment_variables.sh</filename> script
85 following:</para> 80 sets the environment variables. The
86 81 <filename>setup_env_requirements.txt</filename> contains the mapping
87 <itemizedlist spacing="compact"> 82 between the package name and its version, and the
88 <listitem> 83 <filename>setup_env.sh</filename> script creates a testing virtual
89 <para>Checks if the <literal>Python 3</literal> and 84 environment.</para>
90 <literal>pip</literal> packages are installed on the host. If at
91 least one package is not installed on the host, then an error is
92 displayed and the script stops.</para>
93 </listitem>
94 85
95 <listitem> 86 <para>The <filename>setup_env.sh</filename> does the following:</para>
96 <para>Creates and activates the <literal>testHarness-venv</literal>
97 virtual environment.</para>
98 </listitem>
99 87
100 <listitem> 88 <itemizedlist spacing="compact">
101 <para>Upgrades the <literal>pip</literal> package to the newest 89 <listitem>
102 version.</para> 90 <para>Checks if the <literal>Python 3</literal> and
103 </listitem> 91 <literal>pip</literal> packages are installed on the host. If at
92 least one package is not installed on the host, then an error is
93 displayed and the script stops.</para>
94 </listitem>
104 95
105 <listitem> 96 <listitem>
106 <para>Installs the packages defined in 97 <para>Creates and activates the <literal>testHarness-venv</literal>
107 <filename>setup_env_requirements.txt</filename> on the virtual 98 virtual environment.</para>
108 environment.</para> 99 </listitem>
109 </listitem>
110 100
111 <listitem> 101 <listitem>
112 <para>Sets the environment variables defined in 102 <para>Upgrades the <literal>pip</literal> package to the newest
113 <filename>environment_variables.sh</filename> on the virtual 103 version.</para>
114 environment.</para> 104 </listitem>
115 </listitem> 105
116 </itemizedlist> 106 <listitem>
107 <para>Installs the packages defined in
108 <filename>setup_env_requirements.txt</filename> on the virtual
109 environment.</para>
110 </listitem>
111
112 <listitem>
113 <para>Sets the environment variables defined in
114 <filename>environment_variables.sh</filename> on the virtual
115 environment.</para>
116 </listitem>
117 </itemizedlist>
117 </section> 118 </section>
118 119
119 <section id ="version_changelog"> 120 <section id="version_changelog">
120 <title>VERSION and CHANGELOG</title> 121 <title>VERSION and CHANGELOG</title>
121 122
122 <para>The <filename>VERSION</filename> and <filename>CHANGELOG</filename> files 123 <para>The <filename>VERSION</filename> and
123 contain information about the version, build number, and all the notable 124 <filename>CHANGELOG</filename> files contain information about the
124 changes added in the Enea Edge Automation.</para> 125 version, build number, and all the notable changes added in the Enea
126 Edge Automation.</para>
125 </section> 127 </section>
126 128
127 <section id="module_enea_dir"> 129 <section id="module_enea_dir">
@@ -129,26 +131,26 @@
129 131
130 <para>The <literal>modules/enea</literal> directory contains the 132 <para>The <literal>modules/enea</literal> directory contains the
131 following:</para> 133 following:</para>
132
133 <itemizedlist spacing="compact">
134 <listitem>
135 <para><literal>config</literal> - contains the configuration files
136 that need to be updated in order to successfully run the
137 Enea Edge Automation. For more details, see <xref
138 linkend="AFTH_cofig" />.</para>
139 </listitem>
140 134
141 <listitem> 135 <itemizedlist spacing="compact">
142 <para><literal>scenario</literal> - contains the test scenarios. 136 <listitem>
143 The test scenarios include custom script examples, service 137 <para><literal>config</literal> - contains the configuration files
144 chaining VNF examples and so on.</para> 138 that need to be updated in order to successfully run the Enea Edge
145 </listitem> 139 Automation. For more details, see <xref
140 linkend="AFTH_cofig" />.</para>
141 </listitem>
146 142
147 <listitem> 143 <listitem>
148 <para><literal>VNF_images</literal> - contains the VNF images that 144 <para><literal>scenario</literal> - contains the test scenarios. The
149 are used in test scenarios.</para> 145 test scenarios include custom script examples, service chaining VNF
150 </listitem> 146 examples and so on.</para>
151 </itemizedlist> 147 </listitem>
148
149 <listitem>
150 <para><literal>VNF_images</literal> - contains the VNF images that
151 are used in test scenarios.</para>
152 </listitem>
153 </itemizedlist>
152 </section> 154 </section>
153 155
154 <section id="automation_framework_dir"> 156 <section id="automation_framework_dir">
@@ -156,55 +158,67 @@
156 158
157 <para>The <literal>automation_framework</literal> directory includes all 159 <para>The <literal>automation_framework</literal> directory includes all
158 the Python scripts used by the Automation Framework. Each Python script 160 the Python scripts used by the Automation Framework. Each Python script
159 implements a class that defines a functionality of the Enea Edge Management application.</para> 161 implements a class that defines a functionality of the Enea Edge
162 Management application.</para>
160 163
161 <para>The Python scripts can be split into the following:</para> 164 <para>The Python scripts can be split into the following:</para>
162
163 <itemizedlist>
164 <listitem>
165 <para>The <filename>uCPEMgrHTTPClientRestAPIv2.py</filename> script,
166 where the <literal>uCPEMgrHTTPClient</literal> class is defined. This
167 class communicates with the Enea Edge Management application via REST API.</para>
168 </listitem>
169 165
170 <listitem> 166 <itemizedlist>
171 <para>Other Python scripts, where the classes for the Enea Edge Management 167 <listitem>
172 module are defined. Each class inherits the 168 <para>The <filename>ManagementHTTPClientRestAPIv2.py</filename>
173 <literal>uCPEMgrHTTPClientRestAPIv2</literal> class and uses its 169 script, where the <literal>ManagementClient</literal> class is
174 methods to communicate with the Enea Edge Management application via the REST API. Each class 170 defined. This class communicates with the Enea Edge Management
175 corresponds to an Enea Edge Management module.</para> 171 application via REST API.</para>
176 172
177 <para><emphasis role="bold">Example</emphasis>: the 173 <note>
178 <filename>OfflineConfigHandler.py</filename> script, where the 174 <para>The <filename>uCPEMgrHTTPClientRestAPIv2.py</filename>
179 <literal>OfflineConfigHandler</literal> class is defined. Inside 175 script is where the <literal>uCPEMgrHTTPClient</literal> class is
180 this class, the methods for offline configuration functionality 176 defined. The <literal>uCPEMgrHTTPClient</literal> class is a
181 are implemented: <literal>addOfflineConfig</literal>, 177 wrapper of the <literal>ManagementClient</literal> class. This
182 <literal>removeOfflineConfig</literal>, 178 script is deprecated and will be removed starting with the next
183 <literal>uploaOfflineConfig</literal> and so on.</para> 179 major release.</para>
184 </listitem> 180 </note>
185 </itemizedlist> 181 </listitem>
182
183 <listitem>
184 <para>Other Python scripts, where the classes for the Enea Edge
185 Management module are defined. Each class inherits the
186 <literal>ManagementClient</literal> class and uses its methods to
187 communicate with the Enea Edge Management application via the REST
188 API. Each class corresponds to an Enea Edge Management
189 module.</para>
190
191 <para><emphasis role="bold">Example</emphasis>: the
192 <filename>OfflineConfigHandler.py</filename> script, where the
193 <literal>OfflineConfigHandler</literal> class is defined. Inside
194 this class, the methods for offline configuration functionality are
195 implemented: <literal>addOfflineConfig</literal>,
196 <literal>removeOfflineConfig</literal>,
197 <literal>uploaOfflineConfig</literal> and so on.</para>
198 </listitem>
199 </itemizedlist>
186 </section> 200 </section>
187 201
188 <section id="unit_test_dir"> 202 <section id="unit_test_dir">
189 <title>The unit_test directory</title> 203 <title>The unit_test directory</title>
190 204
191 <para>The <literal>unit_test</literal> directory contains:</para> 205 <para>The <literal>unit_test</literal> directory contains:</para>
192
193 <itemizedlist spacing="compact">
194 <listitem>
195 <para>JSON files for complex scenarios with multiple
196 operations.</para>
197 </listitem>
198 206
199 <listitem> 207 <itemizedlist spacing="compact">
200 <para>The Python <literal>unit-test</literal> class.</para> 208 <listitem>
201 </listitem> 209 <para>JSON files for complex scenarios with multiple
210 operations.</para>
211 </listitem>
202 212
203 <listitem> 213 <listitem>
204 <para>Loader scripts for generating specific test cases for the 214 <para>The Python <literal>unit-test</literal> class.</para>
205 available Python script.</para> 215 </listitem>
206 </listitem> 216
207 </itemizedlist> 217 <listitem>
218 <para>Loader scripts for generating specific test cases for the
219 available Python script.</para>
220 </listitem>
221 </itemizedlist>
208 222
209 <para>The generated test cases are injected into the Python 223 <para>The generated test cases are injected into the Python
210 <literal>unit-test</literal> suite class to run using the Python 224 <literal>unit-test</literal> suite class to run using the Python
@@ -222,11 +236,12 @@
222 236
223 <para>The <literal>test_harness</literal> directory contains all the 237 <para>The <literal>test_harness</literal> directory contains all the
224 implemented playbooks. This directory is structured in multiple 238 implemented playbooks. This directory is structured in multiple
225 subdirectories, each subdirectory represents a functionality of the Enea Edge Management application. Each implemented playbook from this directory runs a method 239 subdirectories, each subdirectory represents a functionality of the Enea
226 from a Python class from the <literal>automation_framework</literal> 240 Edge Management application. Each implemented playbook from this
227 directory. Each playbook is an atomic operation, a basic operation that 241 directory runs a method from a Python class from the
228 need to be tested. These playbooks are used in complex test 242 <literal>automation_framework</literal> directory. Each playbook is an
229 scenarios.</para> 243 atomic operation, a basic operation that need to be tested. These
244 playbooks are used in complex test scenarios.</para>
230 </section> 245 </section>
231 246
232 <section id="log_dir"> 247 <section id="log_dir">
@@ -234,64 +249,67 @@
234 249
235 <para>The <literal>log</literal> directory is added in the directory 250 <para>The <literal>log</literal> directory is added in the directory
236 structure by the <filename>setup_env.sh</filename> script. The 251 structure by the <filename>setup_env.sh</filename> script. The
237 <filename>setup_env.sh</filename> script stores the output logs in the 252 <filename>setup_env.sh</filename> script stores the output logs in the
238 <filename>setup_env.log</filename> file. The Ansible playbooks store the logs 253 <filename>setup_env.log</filename> file. The Ansible playbooks store the
239 in the <filename>ansible.log</filename> file. The Python scripts store the logs in 254 logs in the <filename>ansible.log</filename> file. The Python scripts
240 the <filename>debug.log</filename> file.</para> 255 store the logs in the <filename>debug.log</filename> file.</para>
241 </section> 256 </section>
242 </section> 257 </section>
243 258
244 <section id="AFTH_cofig"> 259 <section id="AFTH_cofig">
245 <title>Configuring the System</title> 260 <title>Configuring the System</title>
246 261
247 <para>The configuration files must be updated before using Enea Edge Automation. 262 <para>The configuration files must be updated before using Enea Edge
248 They are stored in the <literal>modules/enea/config</literal> 263 Automation. They are stored in the <literal>modules/enea/config</literal>
249 directory.</para> 264 directory.</para>
250 265
251 <para>The configuration files are split according to the component that is 266 <para>The configuration files are split according to the component that is
252 used in the testing process:</para> 267 used in the testing process:</para>
253 268
254 <itemizedlist spacing="compact"> 269 <itemizedlist spacing="compact">
270 <listitem>
271 <para>The Enea Edge Management application</para>
272 </listitem>
273
274 <listitem>
275 <para>uCPE Devices</para>
276 </listitem>
277
278 <listitem>
279 <para>VNFs</para>
280 </listitem>
281 </itemizedlist>
282
283 <section id="config_files_mg">
284 <title>Configuration Files for the Enea Edge Management
285 application</title>
286
287 <para>In order to create a connection with the Enea Edge Management
288 application, the following parameters have to be specified:</para>
289
290 <itemizedlist spacing="compact">
255 <listitem> 291 <listitem>
256 <para>The Enea Edge Management application</para> 292 <para>Enea Edge Management username</para>
257 </listitem> 293 </listitem>
258 294
259 <listitem> 295 <listitem>
260 <para>uCPE Devices</para> 296 <para>Enea Edge Management password</para>
261 </listitem> 297 </listitem>
262 298
263 <listitem> 299 <listitem>
264 <para>VNFs</para> 300 <para>Enea Edge Management IP address or FQDN</para>
265 </listitem> 301 </listitem>
266 </itemizedlist> 302 </itemizedlist>
267 303
268 <section id="config_files_mg"> 304 <para><emphasis role="bold">Updating the configuration
269 <title>Configuration Files for the Enea Edge Management application</title> 305 file</emphasis></para>
270
271 <para>In order to create a connection with the Enea Edge Management application, the
272 following parameters have to be updated:</para>
273
274 <itemizedlist spacing="compact">
275 <listitem>
276 <para>Enea Edge Management username</para>
277 </listitem>
278
279 <listitem>
280 <para>Enea Edge Management password</para>
281 </listitem>
282
283 <listitem>
284 <para>Enea Edge Management IP address</para>
285 </listitem>
286 </itemizedlist>
287
288 <para><emphasis role="bold">Updating the configuration file</emphasis></para>
289 306
290 <orderedlist> 307 <orderedlist>
291 <listitem> 308 <listitem>
292 <para>Open <filename>modules/enea/config/uCPEManager/ucpem01.json</filename></para> 309 <para>Open
293 310 <filename>modules/enea/config/Management/management01.json</filename></para>
294 <programlisting>{ 311
312 <programlisting>{
295 "ucpe_usr":"admin", 313 "ucpe_usr":"admin",
296 "ucpe_pass":"admin", 314 "ucpe_pass":"admin",
297 "ucpe_host":"172.24.3.92" 315 "ucpe_host":"172.24.3.92"
@@ -300,30 +318,41 @@
300 318
301 <listitem> 319 <listitem>
302 <para>Update the username, password and IP address</para> 320 <para>Update the username, password and IP address</para>
321
322 <note>
323 <para>The
324 <filename>modules/enea/config/uCPEManager/ucpem01.json</filename>
325 file is a symbolic link to the
326 <filename>modules/enea/config/Management/management01.json</filename>
327 file. It is deprecated, and it will be removed starting with the
328 next major release.</para>
329 </note>
303 </listitem> 330 </listitem>
304 </orderedlist> 331 </orderedlist>
305 332
306 <para>It is possible to use another JSON file for the connection with 333 <para>It is possible to use another JSON file for the connection with
307 the Enea Edge Management application.</para> 334 the Enea Edge Management application.</para>
308 335
309 <para><emphasis role="bold">Changing the path for the Enea Edge Management JSON 336 <para><emphasis role="bold">Changing the path for the Enea Edge
310 file</emphasis></para> 337 Management JSON file</emphasis></para>
311
312 <orderedlist>
313 <listitem>
314 <para>Open the <filename>automation_framework/uCPEMgrHTTPClientRestAPIv2.py</filename> file.</para>
315 </listitem>
316 338
317 <listitem> 339 <orderedlist>
318 <para>Go to the <literal>create_json_file</literal> method from the 340 <listitem>
319 <literal>eneaUcpeMgrConfig</literal> class.</para> 341 <para>Open the
320 </listitem> 342 <filename>automation_framework/ManagementHTTPClientRestAPIv2.py</filename>
343 file.</para>
344 </listitem>
321 345
322 <listitem> 346 <listitem>
323 <para>Change the path of the Enea Edge Management JSON file in the 347 <para>Go to the <literal>create_json_file</literal> method from the
324 <literal>self.ucpe_json_file</literal> variable.</para> 348 <literal>ManagementConfig</literal> class.</para>
325 </listitem> 349 </listitem>
326 </orderedlist> 350
351 <listitem>
352 <para>Change the path of the Enea Edge Management JSON file in the
353 <literal>self.ucpe_json_file</literal> variable.</para>
354 </listitem>
355 </orderedlist>
327 </section> 356 </section>
328 357
329 <section id="config_files_ucpe_devices"> 358 <section id="config_files_ucpe_devices">
@@ -331,42 +360,42 @@
331 360
332 <para>The <literal>modules/enea/config/uCPEDevices</literal> directory 361 <para>The <literal>modules/enea/config/uCPEDevices</literal> directory
333 contains the following:</para> 362 contains the following:</para>
334
335 <itemizedlist spacing="compact">
336 <listitem>
337 <para>Examples of the configuration files for different uCPE
338 Devices:
339 <literal>inteld1521-16</literal>,<literal>inteld1521-17</literal>,
340 and so on.</para>
341 </listitem>
342 363
343 <listitem> 364 <itemizedlist spacing="compact">
344 <para>The scripts for generating all configuration files in 365 <listitem>
345 <literal>scripts</literal> folder.</para> 366 <para>Examples of the configuration files for different uCPE
346 </listitem> 367 Devices:
347 </itemizedlist> 368 <literal>inteld1521-16</literal>,<literal>inteld1521-17</literal>,
369 and so on.</para>
370 </listitem>
371
372 <listitem>
373 <para>The scripts for generating all configuration files in
374 <literal>scripts</literal> folder.</para>
375 </listitem>
376 </itemizedlist>
348 377
349 <para>The following scripts are implemented to generate the 378 <para>The following scripts are implemented to generate the
350 configuration files:</para> 379 configuration files:</para>
351
352 <itemizedlist spacing="compact">
353 <listitem>
354 <para><filename>generate_device_config.py</filename> - generates the
355 JSON configuration file for the uCPE Device.</para>
356 </listitem>
357 380
358 <listitem> 381 <itemizedlist spacing="compact">
359 <para><filename>generate_bridges_config_files.py</filename> - 382 <listitem>
360 generates configuration files for all possible OVS bridges created 383 <para><filename>generate_device_config.py</filename> - generates the
361 on the uCPE Device.</para> 384 JSON configuration file for the uCPE Device.</para>
362 </listitem> 385 </listitem>
363 386
364 <listitem> 387 <listitem>
365 <para><filename>generate_nics_config_files.py</filename> - generates 388 <para><filename>generate_bridges_config_files.py</filename> -
366 the configuration files for all possible NICs created on the uCPE 389 generates configuration files for all possible OVS bridges created
367 Device.</para> 390 on the uCPE Device.</para>
368 </listitem> 391 </listitem>
369 </itemizedlist> 392
393 <listitem>
394 <para><filename>generate_nics_config_files.py</filename> - generates
395 the configuration files for all possible NICs created on the uCPE
396 Device.</para>
397 </listitem>
398 </itemizedlist>
370 399
371 <section id="generate_config"> 400 <section id="generate_config">
372 <title>Generating Device config</title> 401 <title>Generating Device config</title>
@@ -387,13 +416,14 @@
387 </listitem> 416 </listitem>
388 </itemizedlist> 417 </itemizedlist>
389 418
390 <para><emphasis role="bold">Generating the device config</emphasis></para> 419 <para><emphasis role="bold">Generating the device
420 config</emphasis></para>
391 421
392 <orderedlist> 422 <orderedlist>
393 <listitem> 423 <listitem>
394 <para>Run <filename>generate_device_config.py</filename>:</para> 424 <para>Run <filename>generate_device_config.py</filename>:</para>
395 425
396 <programlisting>testHarness-venv)&gt; python generate_device_config.py 426 <programlisting>testHarness-venv)&gt; python generate_device_config.py
397Device name: test 427Device name: test
398Device ID: test_id 428Device ID: test_id
399Device groupings tags [ ]: test_id 429Device groupings tags [ ]: test_id
@@ -413,13 +443,15 @@ store.json</programlisting>
413 </listitem> 443 </listitem>
414 444
415 <listitem> 445 <listitem>
416 <para>Check the configuration files in the <literal>modules/enea/config/uCPEDevices/test</literal> 446 <para>Check the configuration files in the
447 <literal>modules/enea/config/uCPEDevices/test</literal>
417 directory:</para> 448 directory:</para>
418 449
419 <itemizedlist> 450 <itemizedlist>
420 <listitem> 451 <listitem>
421 <para><filename>test.json</filename> file - contains all the 452 <para><filename>test.json</filename> file - contains all the
422 input parameters for the <literal>test</literal> device:</para> 453 input parameters for the <literal>test</literal>
454 device:</para>
423 455
424 <programlisting>{ 456 <programlisting>{
425 "deviceId": "test_id", 457 "deviceId": "test_id",
@@ -445,9 +477,9 @@ store.json</programlisting>
445 </listitem> 477 </listitem>
446 478
447 <listitem> 479 <listitem>
448 <para><filename>store.json</filename> file - contains the input 480 <para><filename>store.json</filename> file - contains the
449 parameters used for creating an offline config for the uCPE 481 input parameters used for creating an offline config for the
450 Device:</para> 482 uCPE Device:</para>
451 483
452 <programlisting>{ 484 <programlisting>{
453 "version": "2.4.0", 485 "version": "2.4.0",
@@ -462,8 +494,8 @@ store.json</programlisting>
462 494
463 <para>The <filename>generate_device_config.py</filename> script can be 495 <para>The <filename>generate_device_config.py</filename> script can be
464 executed in a non-interactive way, as follows:</para> 496 executed in a non-interactive way, as follows:</para>
465 497
466<programlisting>testHarness-venv)&gt;python generate_device_config.py --device_name=test 498 <programlisting>testHarness-venv)&gt;python generate_device_config.py --device_name=test
467 --device_id=test_id --device_grouping_tags=test_id --version 2.4.0 499 --device_id=test_id --device_grouping_tags=test_id --version 2.4.0
468 --device_ip_addr=10.0.0.1 --call_home=false --mgmt_nic=eth0 --wan_nic=eth1 500 --device_ip_addr=10.0.0.1 --call_home=false --mgmt_nic=eth0 --wan_nic=eth1
469 --lan_nic=eth2 --wap_nic=wlan0</programlisting> 501 --lan_nic=eth2 --wap_nic=wlan0</programlisting>
@@ -474,8 +506,8 @@ store.json</programlisting>
474 scenario.</para> 506 scenario.</para>
475 507
476 <para>When the script is interactively run, the parameter's value 508 <para>When the script is interactively run, the parameter's value
477 between the square brackets is the default one. It can be omitted when the 509 between the square brackets is the default one. It can be omitted when
478 script is non-interactively run.</para> 510 the script is non-interactively run.</para>
479 </section> 511 </section>
480 512
481 <section id="nic_config_files"> 513 <section id="nic_config_files">
@@ -486,18 +518,20 @@ store.json</programlisting>
486 518
487 <orderedlist> 519 <orderedlist>
488 <listitem> 520 <listitem>
489 <para>Run <filename>generate_nics_config_files.py</filename>:</para> 521 <para>Run
490 522 <filename>generate_nics_config_files.py</filename>:</para>
491 <programlisting>(testHarness-venv)&gt; python generate_nics_config_files.py 523
524 <programlisting>(testHarness-venv)&gt; python generate_nics_config_files.py
492Device name: test 525Device name: test
493Check 'test' directory for JSON configuration files</programlisting> 526Check 'test' directory for JSON configuration files</programlisting>
494 </listitem> 527 </listitem>
495 528
496 <listitem> 529 <listitem>
497 <para>Check the configuration files for all interface types in the 530 <para>Check the configuration files for all interface types in the
498 <literal>modules/enea/config/uCPEDevices/test</literal> directory. 531 <literal>modules/enea/config/uCPEDevices/test</literal> directory.
499 The interface name is defined in the <filename>test.json</filename> 532 The interface name is defined in the
500 file. The NIC config files have the following structure: 533 <filename>test.json</filename> file. The NIC config files have the
534 following structure:
501 <literal>&lt;interface_name&gt;_&lt;interface_type&gt;_nic.json</literal>. 535 <literal>&lt;interface_name&gt;_&lt;interface_type&gt;_nic.json</literal>.
502 For the <literal>eth2</literal> lan interface, the following JSON 536 For the <literal>eth2</literal> lan interface, the following JSON
503 files are created:</para> 537 files are created:</para>
@@ -528,8 +562,8 @@ Check 'test' directory for JSON configuration files</programlisting>
528 </listitem> 562 </listitem>
529 563
530 <listitem> 564 <listitem>
531 <para><filename>lan_wan_nic.json</filename> - contains Interface 565 <para><filename>lan_wan_nic.json</filename> - contains
532 type: <literal>WAN</literal>; Address assignment: 566 Interface type: <literal>WAN</literal>; Address assignment:
533 <literal>DHCP</literal>.</para> 567 <literal>DHCP</literal>.</para>
534 568
535 <programlisting>{ 569 <programlisting>{
@@ -542,8 +576,8 @@ Check 'test' directory for JSON configuration files</programlisting>
542 </listitem> 576 </listitem>
543 577
544 <listitem> 578 <listitem>
545 <para><filename>wap_wap_nic.json</filename> - contains Interface 579 <para><filename>wap_wap_nic.json</filename> - contains
546 type: <literal>WAP</literal>; Country Code: 580 Interface type: <literal>WAP</literal>; Country Code:
547 <literal>SE</literal>; Wireless band: 581 <literal>SE</literal>; Wireless band:
548 <literal>band5GHz</literal>; Wireless Mode: <literal>802.11 582 <literal>band5GHz</literal>; Wireless Mode: <literal>802.11
549 g/n</literal>; Radio Channel: <literal>42 (80 MHz 583 g/n</literal>; Radio Channel: <literal>42 (80 MHz
@@ -561,10 +595,10 @@ Check 'test' directory for JSON configuration files</programlisting>
561 </listitem> 595 </listitem>
562 </orderedlist> 596 </orderedlist>
563 597
564 <para>The <filename>generate_nics_config_files.py</filename> script can 598 <para>The <filename>generate_nics_config_files.py</filename> script
565 be executed in a non-interactive way, as follows:</para> 599 can be executed in a non-interactive way, as follows:</para>
566 600
567 <programlisting>(testHarness-venv)&gt; python generate_nics_config_files.py --device_name=test 601 <programlisting>(testHarness-venv)&gt; python generate_nics_config_files.py --device_name=test
568Check 'test' directory for JSON configuration files</programlisting> 602Check 'test' directory for JSON configuration files</programlisting>
569 603
570 <para>The values from the JSON files depend on the input 604 <para>The values from the JSON files depend on the input
@@ -579,74 +613,76 @@ Check 'test' directory for JSON configuration files</programlisting>
579 613
580 <orderedlist> 614 <orderedlist>
581 <listitem> 615 <listitem>
582 <para>Run <filename>generate_bridges_config_files.py</filename>:</para> 616 <para>Run
583 617 <filename>generate_bridges_config_files.py</filename>:</para>
584 <programlisting>(testHarness-venv)&gt; python generate_bridges_config_files.py 618
619 <programlisting>(testHarness-venv)&gt; python generate_bridges_config_files.py
585Device name: test 620Device name: test
586Check 'test' directory for JSON configuration files</programlisting> 621Check 'test' directory for JSON configuration files</programlisting>
587 </listitem> 622 </listitem>
588 623
589 <listitem> 624 <listitem>
590 <para>Check the configuration files in the 625 <para>Check the configuration files in the
591 <literal>modules/enea/config/uCPEDevices/test</literal> directory. 626 <literal>modules/enea/config/uCPEDevices/test</literal> directory.
592 The name of OVS bridges type has the following structure: 627 The name of OVS bridges type has the following structure:
593 <literal>&lt;bridge_type&gt;_br.json</literal>. The following JSON 628 <literal>&lt;bridge_type&gt;_br.json</literal>. The following JSON
594 files are created:</para> 629 files are created:</para>
595
596 <itemizedlist>
597 <listitem>
598 <para><filename>ibm_br.json</filename> - contains information about the
599 <literal>Inband management OVS bridge</literal>:</para>
600 630
601 <programlisting>{ 631 <itemizedlist>
632 <listitem>
633 <para><filename>ibm_br.json</filename> - contains information
634 about the <literal>Inband management OVS
635 bridge</literal>:</para>
636
637 <programlisting>{
602 "name": "ibm_br", 638 "name": "ibm_br",
603 "type": "inband_mgmt" 639 "type": "inband_mgmt"
604}</programlisting> 640}</programlisting>
605 </listitem> 641 </listitem>
606 642
607 <listitem> 643 <listitem>
608 <para><filename>sfc_br.json</filename> - contains: 644 <para><filename>sfc_br.json</filename> - contains:
609 <literal>Dataplane OVS bridge</literal>; Type: 645 <literal>Dataplane OVS bridge</literal>; Type:
610 <literal>integration</literal>:</para> 646 <literal>integration</literal>:</para>
611 647
612 <programlisting>{ 648 <programlisting>{
613 "name": "sfc_br", 649 "name": "sfc_br",
614 "type": "dataplane", 650 "type": "dataplane",
615 "subType": "integration", 651 "subType": "integration",
616 "interfaces": [] 652 "interfaces": []
617}</programlisting> 653}</programlisting>
618 </listitem> 654 </listitem>
619 655
620 <listitem> 656 <listitem>
621 <para><filename>vnfmgmt_ipv4_br.json</filename> - contains 657 <para><filename>vnfmgmt_ipv4_br.json</filename> - contains
622 <literal>VNF Management OVS bridge, IPv4</literal>:</para> 658 <literal>VNF Management OVS bridge, IPv4</literal>:</para>
623 659
624 <programlisting>{ 660 <programlisting>{
625 "name": "vnfmgmt_ipv4_br", 661 "name": "vnfmgmt_ipv4_br",
626 "type": "vnfMgmt", 662 "type": "vnfMgmt",
627 "vnfMgmtAddress": "10.0.0.1" 663 "vnfMgmtAddress": "10.0.0.1"
628}</programlisting> 664}</programlisting>
629 </listitem> 665 </listitem>
630 666
631 <listitem> 667 <listitem>
632 <para><filename>vnfmgmt_ipv6_br.json</filename> - contains 668 <para><filename>vnfmgmt_ipv6_br.json</filename> - contains
633 <literal>VNF Management OVS bridge, IPv6</literal>:</para> 669 <literal>VNF Management OVS bridge, IPv6</literal>:</para>
634 670
635 <programlisting> 671 <programlisting>
636{ 672{
637 "name": "vnfmgmt_ipv6_br", 673 "name": "vnfmgmt_ipv6_br",
638 "type": "vnfMgmt", 674 "type": "vnfMgmt",
639 "vnfMgmtAddress": "2001:db8:0:0:0:0:0:0" 675 "vnfMgmtAddress": "2001:db8:0:0:0:0:0:0"
640}</programlisting> 676}</programlisting>
641 </listitem> 677 </listitem>
642 678
643 <listitem> 679 <listitem>
644 <para><filename>lan_br.json</filename> - contains 680 <para><filename>lan_br.json</filename> - contains
645 <literal>Dataplane OVS bridge</literal>; Type: 681 <literal>Dataplane OVS bridge</literal>; Type:
646 <literal>communication</literal>; Interface: 682 <literal>communication</literal>; Interface:
647 <literal>eth2</literal>:</para> 683 <literal>eth2</literal>:</para>
648 684
649 <programlisting>lan_br.json 685 <programlisting>lan_br.json
650{ 686{
651 "name": "lan_br", 687 "name": "lan_br",
652 "type": "dataplane", 688 "type": "dataplane",
@@ -655,28 +691,28 @@ Check 'test' directory for JSON configuration files</programlisting>
655 "eth2" 691 "eth2"
656 ] 692 ]
657}</programlisting> 693}</programlisting>
658 </listitem> 694 </listitem>
659 695
660 <listitem> 696 <listitem>
661 <para><filename>wap_br.json</filename> - contains 697 <para><filename>wap_br.json</filename> - contains
662 <literal>Dataplane OVS bridge</literal>; Type: 698 <literal>Dataplane OVS bridge</literal>; Type:
663 <literal>communication</literal>:</para> 699 <literal>communication</literal>:</para>
664 700
665 <programlisting>{ 701 <programlisting>{
666 "name": "wap_br", 702 "name": "wap_br",
667 "type": "dataplane", 703 "type": "dataplane",
668 "subType": "communication", 704 "subType": "communication",
669 "interfaces": [] 705 "interfaces": []
670}</programlisting> 706}</programlisting>
671 </listitem> 707 </listitem>
672 </itemizedlist> 708 </itemizedlist>
673 </listitem> 709 </listitem>
674 </orderedlist> 710 </orderedlist>
675 711
676 <para>The <filename>generate_bridges_config_files.py</filename> script 712 <para>The <filename>generate_bridges_config_files.py</filename> script
677 can be executed in a non-interactive way, as follows:</para> 713 can be executed in a non-interactive way, as follows:</para>
678 714
679 <programlisting>(testHarness-venv)&gt; python generate_bridges_config_files.py --device-name=test 715 <programlisting>(testHarness-venv)&gt; python generate_bridges_config_files.py --device-name=test
680Check 'test' directory for JSON configuration files</programlisting> 716Check 'test' directory for JSON configuration files</programlisting>
681 717
682 <para>The values from the JSON files depend on the input 718 <para>The values from the JSON files depend on the input
@@ -687,14 +723,14 @@ Check 'test' directory for JSON configuration files</programlisting>
687 <section id="config_file_vnf"> 723 <section id="config_file_vnf">
688 <title>Configuration Files for the VNF</title> 724 <title>Configuration Files for the VNF</title>
689 725
690 <para>The VNF directory <literal>modules/enea/config/VNF</literal>, 726 <para>The VNF directory <literal>modules/enea/config/VNF</literal>,
691 contains subdirectories for each defined VNF: 727 contains subdirectories for each defined VNF:
692 <literal>fortigateFWImage</literal>, <literal>junipervSRXImae</literal> 728 <literal>fortigateFWImage</literal>, <literal>junipervSRXImae</literal>
693 and so on.</para> 729 and so on.</para>
694 730
695 <para>Each VNF subdirectory contains configuration files for: cloud-init, 731 <para>Each VNF subdirectory contains configuration files for:
696 VNF Descriptors, VNF instances. These configuration files are 732 cloud-init, VNF Descriptors, VNF instances. These configuration files
697 examples used in test scenarios from Enea Edge Automation.</para> 733 are examples used in test scenarios from Enea Edge Automation.</para>
698 734
699 <para>For more details about the test scenarios from 735 <para>For more details about the test scenarios from
700 <literal>modules/enea/scenario/</literal>, see <xref 736 <literal>modules/enea/scenario/</literal>, see <xref
@@ -705,72 +741,88 @@ Check 'test' directory for JSON configuration files</programlisting>
705 <section id="AFTH_automation"> 741 <section id="AFTH_automation">
706 <title>The Automation Framework</title> 742 <title>The Automation Framework</title>
707 743
708 <para>The Automation Framework scripts described in the following section 744 <para>The Automation Framework scripts described in the following section
709 are located in the <literal>&lt;AF-installdir&gt;/automation_framework</literal> directory.</para> 745 are located in the
746 <literal>&lt;Automation-installdir&gt;/automation_framework</literal>
747 directory.</para>
710 748
711 <section id="httpclient_class"> 749 <section id="httpclient_class">
712 <title>The uCPEMgrHTTPClient class</title> 750 <title>The ManagementClient class</title>
713 751
714 <para>The <literal>uCPEMgrHTTPClient</literal> class is implemented in the 752 <para>The <literal>ManagementClient</literal> class is implemented in
715 <filename>uCPEMgrHTTPClientRestAPIv2.py</filename> script.</para> 753 the <filename>ManagementHTTPClientRestAPIv2.py</filename> script.</para>
716 754
717 <para>The scope of this class is to send REST API requests to the Enea Edge Management application. 755 <para>The scope of this class is to send REST API requests to the Enea
718 The methods of the <literal>uCPEMgrHTTPClient</literal> class 756 Edge Management application. The methods of the
719 represent REST API calls to the Enea Edge Management application or ways for creating the 757 <literal>ManagementClient</literal> class represent REST API calls to
720 objects that are used as input for sending the request.</para> 758 the Enea Edge Management application or ways for creating the objects
759 that are used as input for sending the request.</para>
721 760
722 <para>The dictionaries used as the payload in the REST API requests are created 761 <para>The dictionaries used as the payload in the REST API requests are
723 in methods from this class. The output of these methods is used as input 762 created in methods from this class. The output of these methods is used
724 for the REST API request payload.</para> 763 as input for the REST API request payload.</para>
725 764
726 <para>Each method has a short description in the header, as 765 <para>Each method has a short description in the header, as
727 follows:</para> 766 follows:</para>
728
729 <itemizedlist spacing="compact">
730 <listitem>
731 <para>The scope of the method</para>
732 </listitem>
733 767
734 <listitem> 768 <itemizedlist spacing="compact">
735 <para>The input parameters</para> 769 <listitem>
736 </listitem> 770 <para>The scope of the method</para>
771 </listitem>
737 772
738 <listitem> 773 <listitem>
739 <para>The return value from the source code</para> 774 <para>The input parameters</para>
740 </listitem> 775 </listitem>
741 776
742 <listitem> 777 <listitem>
743 <para>The URL for the REST API call</para> 778 <para>The return value from the source code</para>
744 </listitem> 779 </listitem>
745 780
746 <listitem> 781 <listitem>
747 <para>The payload dictionary for the REST API call</para> 782 <para>The URL for the REST API call</para>
748 </listitem> 783 </listitem>
749 </itemizedlist> 784
785 <listitem>
786 <para>The payload dictionary for the REST API call</para>
787 </listitem>
788 </itemizedlist>
750 789
751 <para>Other classes from the <literal>automation_framework</literal> 790 <para>Other classes from the <literal>automation_framework</literal>
752 directory inherit this class, and call its methods.</para> 791 directory inherit this class, and call its methods.</para>
792
793 <note>
794 <para>The <literal>uCPEMgrHTTPClient</literal> class is a wrapper of
795 the <literal>ManagementClient</literal> class. All the methods defined
796 in the <literal>ManagementClient</literal> class can be used when the
797 <literal>uCPEMgrHTTPClient</literal> object is instantiated. The
798 <literal>uCPEMgrHTTPClient</literal> object is deprecated and will be
799 removed starting with the next major release. It is recommended to use
800 the <literal>ManagementClient</literal> class instead.</para>
801 </note>
753 802
754 <para><emphasis role="bold">Examples</emphasis>:</para> 803 <para><emphasis role="bold">Examples</emphasis>:</para>
755 804
756 <orderedlist spacing="compact"> 805 <orderedlist spacing="compact">
757 <listitem> 806 <listitem>
758 <para>uCPE Device functionalities are defined in the <literal>uCPEDeviceHandler</literal> class.</para> 807 <para>uCPE Device functionalities are defined in the
808 <literal>uCPEDeviceHandler</literal> class.</para>
759 </listitem> 809 </listitem>
760 810
761 <listitem> 811 <listitem>
762 <para>The <literal>uCPEDeviceHandler</literal> class inherites the <literal>uCPEMgrHTTPClient</literal> class.</para> 812 <para>The <literal>uCPEDeviceHandler</literal> class inherites the
813 <literal>ManagementClient</literal> class.</para>
763 </listitem> 814 </listitem>
764 815
765 <listitem> 816 <listitem>
766 <para>The <literal>uCPEDeviceHandler</literal> method calls methods from 817 <para>The <literal>uCPEDeviceHandler</literal> method calls methods
767 <literal>uCPEMgrHTTPClient</literal> to send requests to the Enea Edge Management application.</para> 818 from <literal>ManagementClient</literal> to send requests to the
819 Enea Edge Management application.</para>
768 </listitem> 820 </listitem>
769 821
770 <listitem> 822 <listitem>
771 <para>Methods from <literal>uCPEMgrHTTPClient</literal> create the 823 <para>Methods from <literal>ManagementClient</literal> create the
772 payload dictionary starting from the input parameters and send the REST API 824 payload dictionary starting from the input parameters and send the
773 request.</para> 825 REST API request.</para>
774 </listitem> 826 </listitem>
775 827
776 <listitem> 828 <listitem>
@@ -783,18 +835,19 @@ Check 'test' directory for JSON configuration files</programlisting>
783 <section id="mg_functionalities"> 835 <section id="mg_functionalities">
784 <title>Handlers for Enea Edge Management Functionalities</title> 836 <title>Handlers for Enea Edge Management Functionalities</title>
785 837
786 <para>In Enea Edge Automation the modules of the Enea Edge Management application are 838 <para>In Enea Edge Automation the modules of the Enea Edge Management
787 represented by Python classes called <literal>Handlers</literal>. Each 839 application are represented by Python classes called
788 Python class represents a functionality of the Enea Edge Management application.</para> 840 <literal>Handlers</literal>. Each Python class represents a
841 functionality of the Enea Edge Management application.</para>
789 842
790 <para>These classes are implemented in the Python scripts that have a 843 <para>These classes are implemented in the Python scripts that have a
791 <literal>Handler</literal> string included in the name. The name of the 844 <literal>Handler</literal> string included in the name. The name of the
792 classes is the same as the name of Python script.</para> 845 classes is the same as the name of Python script.</para>
793 846
794 <para>For the usage of any class, run the Python script with the <emphasis 847 <para>For the usage of any class, run the Python script with the
795 role="bold">--help</emphasis> option:</para> 848 <emphasis role="bold">--help</emphasis> option:</para>
796 849
797 <programlisting>python automation_framework/uCPEDeviceHandler.py --help 850 <programlisting>python automation_framework/uCPEDeviceHandler.py --help
798Usage: uCPEDeviceHandler.py [OPTIONS] [PARAMETERS]... 851Usage: uCPEDeviceHandler.py [OPTIONS] [PARAMETERS]...
799 852
800Options: 853Options:
@@ -807,12 +860,12 @@ Options:
807 -o, --display_output Display output of the method 860 -o, --display_output Display output of the method
808 --help Show this message and exit.</programlisting> 861 --help Show this message and exit.</programlisting>
809 862
810 <para>In the <literal>test_harness/&lt;module name&gt;</literal> directory, 863 <para>In the <literal>test_harness/&lt;module name&gt;</literal>
811 the Ansible Playbooks are implemented for running the Python scripts 864 directory, the Ansible Playbooks are implemented for running the Python
812 from Enea Edge Automation. The name of the Ansible Playbooks is the same 865 scripts from Enea Edge Automation. The name of the Ansible Playbooks is
813 as the name of the Python method. The Python command is between the 866 the same as the name of the Python method. The Python command is between
814 <literal>&lt;command&gt; ... &lt;/command&gt;</literal> tags from the 867 the <literal>&lt;command&gt; ... &lt;/command&gt;</literal> tags from
815 <literal>*.yml</literal> files.</para> 868 the <literal>*.yml</literal> files.</para>
816 869
817 <section id="mg_functionalities_ucpe"> 870 <section id="mg_functionalities_ucpe">
818 <title>uCPE Device</title> 871 <title>uCPE Device</title>
@@ -847,8 +900,8 @@ Options:
847 900
848 <itemizedlist spacing="compact"> 901 <itemizedlist spacing="compact">
849 <listitem> 902 <listitem>
850 <para>Configuration file located in 903 <para>Configuration file located in
851 <literal>modules/enea/config/uCPEDevices</literal>, with the 904 <literal>modules/enea/config/uCPEDevices</literal>, with the
852 <emphasis role="bold">-f</emphasis> option.</para> 905 <emphasis role="bold">-f</emphasis> option.</para>
853 </listitem> 906 </listitem>
854 907
@@ -885,19 +938,19 @@ addDpdkExternalInterface -f
885modules/enea/config/uCPEDevices/&lt;device_name&gt;/&lt;interface_name&gt;_dpdk_nic.json </programlisting> 938modules/enea/config/uCPEDevices/&lt;device_name&gt;/&lt;interface_name&gt;_dpdk_nic.json </programlisting>
886 939
887 <para><emphasis role="bold">Example:</emphasis></para> 940 <para><emphasis role="bold">Example:</emphasis></para>
888 941
889 <programlisting>python automation_framework/uCPEDeviceHandler.py -d vep1445-8 -m 942 <programlisting>python automation_framework/uCPEDeviceHandler.py -d vep1445-8 -m
890addDpdkExternalInterface -f modules/enea/config/uCPEDevices/vep1445-8/lan_dpdk_nic.json</programlisting> 943addDpdkExternalInterface -f modules/enea/config/uCPEDevices/vep1445-8/lan_dpdk_nic.json</programlisting>
891 944
892 <para>The syntax for running the 945 <para>The syntax for running the
893 <literal>addDpdkExternalInterface</literal> functionality:</para> 946 <literal>addDpdkExternalInterface</literal> functionality:</para>
894 947
895 <programlisting>python automation_framework/uCPEDeviceHandler.py -d &lt;device_name&gt; -m 948 <programlisting>python automation_framework/uCPEDeviceHandler.py -d &lt;device_name&gt; -m
896addDpdkExternalInterface &lt;interface_name&gt; &lt;dpdk_type&gt;</programlisting> 949addDpdkExternalInterface &lt;interface_name&gt; &lt;dpdk_type&gt;</programlisting>
897 950
898 <para><emphasis role="bold">Example:</emphasis></para> 951 <para><emphasis role="bold">Example:</emphasis></para>
899 952
900 <programlisting>python automation_framework/uCPEDeviceHandler.py -d vep1445-8 -m 953 <programlisting>python automation_framework/uCPEDeviceHandler.py -d vep1445-8 -m
901addDpdkExternalInterface eno4 vfio-pci</programlisting> 954addDpdkExternalInterface eno4 vfio-pci</programlisting>
902 </section> 955 </section>
903 956
@@ -907,23 +960,23 @@ addDpdkExternalInterface eno4 vfio-pci</programlisting>
907 <para>The Enea Edge Management functionalities regarding the offline 960 <para>The Enea Edge Management functionalities regarding the offline
908 configuration are implemented as follows:</para> 961 configuration are implemented as follows:</para>
909 962
910<itemizedlist> 963 <itemizedlist>
911 <listitem> 964 <listitem>
912 <para><filename>automation_framework/OfflineConfigHandler.py</filename> 965 <para><filename>automation_framework/OfflineConfigHandler.py</filename>
913 - <literal>OfflineConfigHandler</literal> class has methods for 966 - <literal>OfflineConfigHandler</literal> class has methods for
914 adding an offline config, removing an offline config, uploading 967 adding an offline config, removing an offline config, uploading an
915 an offline config on a uCPE Device, and so on.</para> 968 offline config on a uCPE Device, and so on.</para>
916 </listitem> 969 </listitem>
917 970
918 <listitem> 971 <listitem>
919 <para><filename>automation_framework/Configuration.py</filename> - 972 <para><filename>automation_framework/Configuration.py</filename> -
920 <literal>Configuration</literal> class has methods for 973 <literal>Configuration</literal> class has methods for configuring
921 configuring the uCPE Device: DPDK, external interface, and OVS 974 the uCPE Device: DPDK, external interface, and OVS bridges. The
922 bridges. The methods of the <literal>Configuration</literal> 975 methods of the <literal>Configuration</literal> class are used in
923 class are used in the <literal>uCPEDeviceHandler</literal> and 976 the <literal>uCPEDeviceHandler</literal> and
924 <literal>OfflineConfigHandler</literal> classes.</para> 977 <literal>OfflineConfigHandler</literal> classes.</para>
925 </listitem> 978 </listitem>
926 </itemizedlist> 979 </itemizedlist>
927 980
928 <para>The <literal>OfflineConfigHandler</literal> class inherites the 981 <para>The <literal>OfflineConfigHandler</literal> class inherites the
929 <literal>Configuration</literal> class with all its methods.</para> 982 <literal>Configuration</literal> class with all its methods.</para>
@@ -931,18 +984,19 @@ addDpdkExternalInterface eno4 vfio-pci</programlisting>
931 <para>The functionalities for the <literal>adding offline config 984 <para>The functionalities for the <literal>adding offline config
932 store</literal>, <literal>removing offline config store</literal>, 985 store</literal>, <literal>removing offline config store</literal>,
933 <literal>configuring external interfaces</literal>, 986 <literal>configuring external interfaces</literal>,
934 <literal>configuring OVS bridges</literal> can be run using the:</para> 987 <literal>configuring OVS bridges</literal> can be run using
988 the:</para>
935 989
936<itemizedlist 990 <itemizedlist spacing="compact">
937 spacing="compact"> 991 <listitem>
938 <listitem> 992 <para>Configuration file located in
939 <para>Configuration file located in <literal>modules/enea/config/uCPEDevices</literal>.</para> 993 <literal>modules/enea/config/uCPEDevices</literal>.</para>
940 </listitem> 994 </listitem>
941 995
942 <listitem> 996 <listitem>
943 <para>Input parameters.</para> 997 <para>Input parameters.</para>
944 </listitem> 998 </listitem>
945 </itemizedlist> 999 </itemizedlist>
946 1000
947 <para>The other functionalities can be run using only input 1001 <para>The other functionalities can be run using only input
948 parameters.</para> 1002 parameters.</para>
@@ -951,7 +1005,7 @@ addDpdkExternalInterface eno4 vfio-pci</programlisting>
951 script with the <emphasis role="bold">-v/--verbose</emphasis> 1005 script with the <emphasis role="bold">-v/--verbose</emphasis>
952 option:</para> 1006 option:</para>
953 1007
954<programlisting>python automation_framework/OfflineConfigHandler.py -v 1008 <programlisting>python automation_framework/OfflineConfigHandler.py -v
955Info about OfflineConfigHandler methods 1009Info about OfflineConfigHandler methods
956... 1010...
957Method: addOfflineConfigStore 1011Method: addOfflineConfigStore
@@ -962,47 +1016,48 @@ Parameters: version, deviceId, deviceGroupingTags, descr=''
962 <literal>addOfflineConfigStore</literal> using the configuration 1016 <literal>addOfflineConfigStore</literal> using the configuration
963 file:</para> 1017 file:</para>
964 1018
965<programlisting>python automation_framework/OfflineConfigHandler.py -s &lt;store_name&gt; -m 1019 <programlisting>python automation_framework/OfflineConfigHandler.py -s &lt;store_name&gt; -m
966addOfflineConfigStore -f &lt;path_to_store_configuration_file&gt;</programlisting> 1020addOfflineConfigStore -f &lt;path_to_store_configuration_file&gt;</programlisting>
967 1021
968 <para><emphasis role="bold">Example:</emphasis></para> 1022 <para><emphasis role="bold">Example:</emphasis></para>
969 1023
970<programlisting>python automation_framework/OfflineConfigHandler.py -s testOfflienConfig -m 1024 <programlisting>python automation_framework/OfflineConfigHandler.py -s testOfflienConfig -m
971addOfflineConfigStore -f modules/enea/config/uCPEDevices/test/store.json</programlisting> 1025addOfflineConfigStore -f modules/enea/config/uCPEDevices/test/store.json</programlisting>
972 1026
973 <para>The syntax for running the <literal>addOfflineConfigStore</literal> 1027 <para>The syntax for running the
974 functionality using input parameters: <literal>version</literal>, 1028 <literal>addOfflineConfigStore</literal> functionality using input
975 <literal>deviceId</literal>, <literal>deviceGroupingTags</literal>, 1029 parameters: <literal>version</literal>, <literal>deviceId</literal>,
976 <literal>desc</literal>:</para> 1030 <literal>deviceGroupingTags</literal>, <literal>desc</literal>:</para>
977 1031
978<programlisting>python automation_framework/OfflineConfigHandler.py -s &lt;store_name&gt; -m 1032 <programlisting>python automation_framework/OfflineConfigHandler.py -s &lt;store_name&gt; -m
979addOfflineConfigStore &lt;version&gt; &lt;deviceId&gt; &lt;deviceGroupingTags&gt;</programlisting> 1033addOfflineConfigStore &lt;version&gt; &lt;deviceId&gt; &lt;deviceGroupingTags&gt;</programlisting>
980 1034
981 <para><emphasis role="bold">Example:</emphasis></para> 1035 <para><emphasis role="bold">Example:</emphasis></para>
982 1036
983<programlisting>python automation_framework/OfflineConfigHandler.py -s testStoreName -m 1037 <programlisting>python automation_framework/OfflineConfigHandler.py -s testStoreName -m
984addOfflineConfigStore 2.4.0 deviceId customerTag</programlisting> 1038addOfflineConfigStore 2.4.0 deviceId customerTag</programlisting>
985 </section> 1039 </section>
986 1040
987 <section id="custom_scripts_mg_func"> 1041 <section id="custom_scripts_mg_func">
988 <title>Custom scripts</title> 1042 <title>Custom scripts</title>
989 1043
990 <para>All the Enea Edge Management functionalities regarding the custom 1044 <para>All the Enea Edge Management functionalities regarding the
991 scripts are implemented in the <filename>CustomScriptsHandler.py</filename> 1045 custom scripts are implemented in the
992 script.</para> 1046 <filename>CustomScriptsHandler.py</filename> script.</para>
993 1047
994 <para>The <literal>CustomScriptsHandler</literal> class is implemented 1048 <para>The <literal>CustomScriptsHandler</literal> class is implemented
995 in <filename>CustomScriptsHandler.py</filename> script.</para> 1049 in <filename>CustomScriptsHandler.py</filename> script.</para>
996 1050
997 <para>Examples of custom scripts are in the 1051 <para>Examples of custom scripts are in the
998<literal>modules/enea/config/customScripts/</literal> directory. They 1052 <literal>modules/enea/config/customScripts/</literal> directory. They
999 can be used when running a Python method from the <literal>CustomScriptsHandler</literal> class.</para> 1053 can be used when running a Python method from the
1054 <literal>CustomScriptsHandler</literal> class.</para>
1000 1055
1001 <para>To list the implemented methods (functionalities), run the 1056 <para>To list the implemented methods (functionalities), run the
1002 script with the <emphasis role="bold">-v/--verbose</emphasis> 1057 script with the <emphasis role="bold">-v/--verbose</emphasis>
1003 option:</para> 1058 option:</para>
1004 1059
1005<programlisting>python automation_framework/CustomScriptsHandler.py -v 1060 <programlisting>python automation_framework/CustomScriptsHandler.py -v
1006Info about CustomScriptHandler methods 1061Info about CustomScriptHandler methods
1007... 1062...
1008Method: uploadCustomScript 1063Method: uploadCustomScript
@@ -1012,7 +1067,7 @@ Parameters: customScript, phase
1012 <para>The syntax for running the <literal>uploadCustomScript</literal> 1067 <para>The syntax for running the <literal>uploadCustomScript</literal>
1013 functionality starting from the input parameters:</para> 1068 functionality starting from the input parameters:</para>
1014 1069
1015<programlisting>python automation_framework/CustomScriptsHandler.py -m 1070 <programlisting>python automation_framework/CustomScriptsHandler.py -m
1016uploadCustomScript &lt;customScript&gt; &lt;phase&gt;</programlisting> 1071uploadCustomScript &lt;customScript&gt; &lt;phase&gt;</programlisting>
1017 1072
1018 <para><emphasis role="bold">Example</emphasis>:</para> 1073 <para><emphasis role="bold">Example</emphasis>:</para>
@@ -1026,9 +1081,9 @@ modules/enea/config/customScripts/test_fail_after_once once-after-startup</progr
1026 <section id="device_upgrade_mg_func"> 1081 <section id="device_upgrade_mg_func">
1027 <title>Device upgrade</title> 1082 <title>Device upgrade</title>
1028 1083
1029 <para>The Enea Edge Management functionalities regarding the uCPE Device 1084 <para>The Enea Edge Management functionalities regarding the uCPE
1030 upgrade are implemented in the <filename>DeviceUpgradeHandler.py</filename> 1085 Device upgrade are implemented in the
1031 script.</para> 1086 <filename>DeviceUpgradeHandler.py</filename> script.</para>
1032 1087
1033 <para>The <literal>DeviceUpgradeHandler</literal> class is implemented 1088 <para>The <literal>DeviceUpgradeHandler</literal> class is implemented
1034 in the <filename>DeviceUpgradeHandler.py</filename> script.</para> 1089 in the <filename>DeviceUpgradeHandler.py</filename> script.</para>
@@ -1037,7 +1092,7 @@ modules/enea/config/customScripts/test_fail_after_once once-after-startup</progr
1037 script with the <emphasis role="bold">-v/--verbose</emphasis> 1092 script with the <emphasis role="bold">-v/--verbose</emphasis>
1038 option:</para> 1093 option:</para>
1039 1094
1040<programlisting>python automation_framework/DeviceUpgradeHandler.py -v 1095 <programlisting>python automation_framework/DeviceUpgradeHandler.py -v
1041Info about DeviceUpgradeHandler methods 1096Info about DeviceUpgradeHandler methods
1042... 1097...
1043Method: uploadImage 1098Method: uploadImage
@@ -1047,7 +1102,7 @@ Parameters: imagePath, type, module='VcpeAgent'
1047 <para>The syntax for running the <literal>uploadImage</literal> 1102 <para>The syntax for running the <literal>uploadImage</literal>
1048 functionality starting from the input parameters:</para> 1103 functionality starting from the input parameters:</para>
1049 1104
1050<programlisting>python automation_framework/DeviceUpgradeHandler.py -m 1105 <programlisting>python automation_framework/DeviceUpgradeHandler.py -m
1051uploadImage &lt;imagePath&gt; &lt;type&gt;</programlisting> 1106uploadImage &lt;imagePath&gt; &lt;type&gt;</programlisting>
1052 1107
1053 <para>The default value for the <literal>module</literal> is 1108 <para>The default value for the <literal>module</literal> is
@@ -1068,45 +1123,27 @@ uploadImage &lt;imagePath&gt; &lt;type&gt;</programlisting>
1068 <para>The Enea Edge Management functionalities regarding the VNF are 1123 <para>The Enea Edge Management functionalities regarding the VNF are
1069 implemented in the <filename>VNFHandler.py</filename> script.</para> 1124 implemented in the <filename>VNFHandler.py</filename> script.</para>
1070 1125
1071 <para>The <literal>VNFHandler</literal> class is implemented in 1126 <para>The <literal>VNFHandler</literal> class is implemented in the
1072 the <filename>VNFHandler.py</filename> script.</para> 1127 <filename>VNFHandler.py</filename> script.</para>
1073 1128
1074 <para>To list the implemented methods (functionalities), run the 1129 <para>To list the implemented methods (functionalities), run the
1075 script with the <emphasis role="bold">-v/--verbose</emphasis> 1130 script with the <emphasis role="bold">-v/--verbose</emphasis>
1076 option:</para> 1131 option:</para>
1077 1132
1078<programlisting>python automation_framework/VNFHandler.py -v 1133 <programlisting>python automation_framework/VNFHandler.py -v
1079Info about VNFHandler methods 1134Info about VNFHandler methods
1080... 1135...
1081Method: getVNFDescriptorByName 1136Method: getVNFDescriptorByName
1082Parameters: vnfDescriptorName 1137Parameters: vnfDescriptorName
1083...</programlisting> 1138...</programlisting>
1084 1139
1085 <para>The syntax for running the <literal>getVNFDescriptorByName</literal> 1140 <para>The syntax for running the
1086 functionality starting from the input parameters:</para> 1141 <literal>getVNFDescriptorByName</literal> functionality starting from
1087 1142 the input parameters:</para>
1088<programlisting>python automation_framework/VNFHandler.py
1089[-m getVNFDescriptorByName &lt;vnfDescriptorName&gt; [-o]] [-v]</programlisting>
1090
1091 <para>Where the following are included:</para>
1092
1093<itemizedlist spacing="compact">
1094 <listitem>
1095 <para><emphasis role="bold">vnfDescriptorName</emphasis> - name
1096 of the VNF Descriptor</para>
1097 </listitem>
1098
1099 <listitem>
1100 <para><emphasis role="bold">v</emphasis> - verbose option</para>
1101 </listitem>
1102 1143
1103 <listitem> 1144 <programlisting>python automation_framework/VNFHandler.py -m getVNFDescriptorByName &lt;vnfDescriptorName&gt; -o</programlisting>
1104 <para><emphasis role="bold">o</emphasis> - displays the full
1105 output</para>
1106 </listitem>
1107 </itemizedlist>
1108 1145
1109 <para><emphasis>Example:</emphasis></para> 1146 <para><emphasis role="bold">Example:</emphasis></para>
1110 1147
1111 <programlisting>python automation_framework/VNFHandler.py -m getVNFDescriptorByName fortigateImage -o</programlisting> 1148 <programlisting>python automation_framework/VNFHandler.py -m getVNFDescriptorByName fortigateImage -o</programlisting>
1112 1149
@@ -1116,43 +1153,43 @@ Parameters: vnfDescriptorName
1116 <section id="mg_funcs"> 1153 <section id="mg_funcs">
1117 <title>Enea Edge Management</title> 1154 <title>Enea Edge Management</title>
1118 1155
1119 <para>The functionalities regarding the Enea Edge Management configuration 1156 <para>The functionalities regarding the Enea Edge Management
1120 are implemented in the <filename>uCPEManagerHandler.py</filename> 1157 configuration are implemented in the
1121 script.</para> 1158 <filename>ManagementHandler.py</filename> script.</para>
1122 1159
1123 <para>The <literal>uCPEManagerHandler</literal> class is implemented 1160 <para>The <literal>ManagementHandler</literal> class is implemented in
1124 in the <filename>uCPEManagerHandler.py</filename> script.</para> 1161 the <filename>ManagementHandler.py</filename> script.</para>
1125 1162
1126 <para>To list the implemented methods (functionalities), run the 1163 <para>To list the implemented methods (functionalities), run the
1127 script with the <emphasis role="bold">-v/--verbose</emphasis> 1164 script with the <emphasis role="bold">-v/--verbose</emphasis>
1128 option:</para> 1165 option:</para>
1129 1166
1130<programlisting>python automation_framework/uCPEManagerHandler.py -v 1167 <programlisting>python automation_framework/ManagementHandler.py -v
1131Info about uCPEManagerHandler methods 1168Info about ManagementHandler methods
1132... 1169...
1133Method: getuCPEManagerVersion 1170Method: getManagementVersion
1134Parameters(not needed): -- 1171Parameters(not needed): --
1135...</programlisting> 1172...</programlisting>
1136 1173
1137 <para>The syntax for running the <literal>getuCPEManagerVersion</literal> 1174 <para>The syntax for running the
1138 functionaltity is:</para> 1175 <literal>getManagementVersion</literal> functionaltity is:</para>
1139
1140<programlisting>python automation_framework/uCPEManagerHandler.py [-m getuCPEManagerVersion [-o]][-v]</programlisting>
1141
1142 <para>Where the following are included:</para>
1143
1144<itemizedlist spacing="compact">
1145 <listitem>
1146 <para><emphasis role="bold">v</emphasis> - verbose option</para>
1147 </listitem>
1148 1176
1149 <listitem> 1177 <programlisting>python automation_framework/ManagementHandler.py -m getManagementVersion -o</programlisting>
1150 <para><emphasis role="bold">o</emphasis> - displays the full
1151 output</para>
1152 </listitem>
1153 </itemizedlist>
1154 1178
1155 <para>All the other methods run in a similar way.</para> 1179 <para>All the other methods run in a similar way.</para>
1180
1181 <note>
1182 <para>The functionalities relating to the Enea Edge Management
1183 application configuration are also implemented in the
1184 <filename>uCPEManagerHandler.py</filename> script where the
1185 <literal>uCPEManagerHandler</literal> class is defined. The
1186 <literal>uCPEManagerHandler</literal> class is a wrapper of the
1187 <literal>ManagementHandler</literal> class. The
1188 <filename>uCPEManagerHandler.py</filename> file is deprecated and
1189 will be removed starting with the next major release. It is
1190 recommended to use the <filename>ManagementHandler.py</filename>
1191 script instead.</para>
1192 </note>
1156 </section> 1193 </section>
1157 </section> 1194 </section>
1158 1195
@@ -1162,13 +1199,14 @@ Parameters(not needed): --
1162 <section id="config_class"> 1199 <section id="config_class">
1163 <title>The Configuration class</title> 1200 <title>The Configuration class</title>
1164 1201
1165 <para>The <literal>Configuration</literal> class is implemented in 1202 <para>The <literal>Configuration</literal> class is implemented in the
1166 the <filename>Configuration.py</filename> script. The 1203 <filename>Configuration.py</filename> script. The
1167 <literal>Configuration</literal> class cannot be independently 1204 <literal>Configuration</literal> class cannot be independently
1168 used.</para> 1205 used.</para>
1169 1206
1170 <para>The <literal>uCPEDeviceHandler</literal> and 1207 <para>The <literal>uCPEDeviceHandler</literal> and
1171 <literal>OfflineConfigHandler</literal> classes inherit the <literal>Configuration</literal> class. The methods should be 1208 <literal>OfflineConfigHandler</literal> classes inherit the
1209 <literal>Configuration</literal> class. The methods should be
1172 implemented for both functionalities: uCPE Device and Offline 1210 implemented for both functionalities: uCPE Device and Offline
1173 config.</para> 1211 config.</para>
1174 </section> 1212 </section>
@@ -1176,52 +1214,53 @@ Parameters(not needed): --
1176 <section id="logger_class"> 1214 <section id="logger_class">
1177 <title>The Logger Class</title> 1215 <title>The Logger Class</title>
1178 1216
1179 <para>The <literal>Logger</literal> class is implemented in 1217 <para>The <literal>Logger</literal> class is implemented in the
1180 the <filename>Logger.py</filename> script. It is inherited in all the 1218 <filename>Logger.py</filename> script. It is inherited in all the
1181 classes defined in <literal>automation_framework</literal>.</para> 1219 classes defined in <literal>automation_framework</literal>.</para>
1182 1220
1183 <para>This class defines a logger for displaying the logs from Python 1221 <para>This class defines a logger for displaying the logs from Python
1184 scripts, in console log and file log.</para> 1222 scripts, in console log and file log.</para>
1185 1223
1186 <para>For console log, the logger has:</para> 1224 <para>For console log, the logger has:</para>
1187 1225
1188 <itemizedlist spacing="compact"> 1226 <itemizedlist spacing="compact">
1189 <listitem> 1227 <listitem>
1190 <para>Default severity: <literal>INFO</literal></para> 1228 <para>Default severity: <literal>INFO</literal></para>
1191 </listitem> 1229 </listitem>
1192 1230
1193 <listitem> 1231 <listitem>
1194 <para>Format of the logs: <literal>[datetime] [severity] 1232 <para>Format of the logs: <literal>[datetime] [severity]
1195 message</literal></para> 1233 message</literal></para>
1196 </listitem> 1234 </listitem>
1197 </itemizedlist> 1235 </itemizedlist>
1198 1236
1199 <para>For file log, the logger has:</para> 1237 <para>For file log, the logger has:</para>
1200 1238
1201 <itemizedlist spacing="compact"> 1239 <itemizedlist spacing="compact">
1202 <listitem> 1240 <listitem>
1203 <para>Logs path: <literal>log/debug.log</literal></para> 1241 <para>Logs path: <literal>log/debug.log</literal></para>
1204 </listitem> 1242 </listitem>
1205 1243
1206 <listitem> 1244 <listitem>
1207 <para>Default severity: <literal>DEBUG</literal></para> 1245 <para>Default severity: <literal>DEBUG</literal></para>
1208 </listitem> 1246 </listitem>
1209 1247
1210 <listitem> 1248 <listitem>
1211 <para>Format of the logs: <literal>[severity] 1249 <para>Format of the logs: <literal>[severity]
1212 [name_of_Python_script] message</literal></para> 1250 [name_of_Python_script] message</literal></para>
1213 </listitem> 1251 </listitem>
1214 </itemizedlist> 1252 </itemizedlist>
1215 </section> 1253 </section>
1216 </section> 1254 </section>
1217 </section> 1255 </section>
1218 1256
1219 <section id="AFTH_test"> 1257 <section id="AFTH_test">
1220 <title>Test Harness</title> 1258 <title>Test Harness</title>
1221 1259
1222 <para>The Test Harness sources are in the 1260 <para>The Test Harness sources are in the
1223 <literal>&lt;AF-installdir&gt;/test_harness</literal> directory.</para> 1261 <literal>&lt;Automation-installdir&gt;/test_harness</literal>
1224 1262 directory.</para>
1263
1225 <section id="indiv_ansible_playbooks"> 1264 <section id="indiv_ansible_playbooks">
1226 <title>Individual Ansible Playbooks</title> 1265 <title>Individual Ansible Playbooks</title>
1227 1266
@@ -1229,8 +1268,8 @@ Parameters(not needed): --
1229 structuring the files needed for creating automated test cases using the 1268 structuring the files needed for creating automated test cases using the
1230 Enea Edge Automation, and provides a way to implement them.</para> 1269 Enea Edge Automation, and provides a way to implement them.</para>
1231 1270
1232 <para>The <filename>ansible.cfg</filename> file contains an example of the 1271 <para>The <filename>ansible.cfg</filename> file contains an example of
1233 Ansible default configuration. The default value for 1272 the Ansible default configuration. The default value for
1234 <literal>stdout_callback</literal> is set to 1273 <literal>stdout_callback</literal> is set to
1235 <literal>selective</literal>, to print only certain tasks. It is 1274 <literal>selective</literal>, to print only certain tasks. It is
1236 recommended to switch to <literal>debug</literal> when a test fails. By 1275 recommended to switch to <literal>debug</literal> when a test fails. By
@@ -1238,46 +1277,45 @@ Parameters(not needed): --
1238 <literal>True</literal>, task failures are considered fatal errors and 1277 <literal>True</literal>, task failures are considered fatal errors and
1239 the play execution stops.</para> 1278 the play execution stops.</para>
1240 1279
1241 <para>All the Playbooks that execute Automation Framework Python modules run on <literal>localhost</literal>. 1280 <para>All the Playbooks that execute Automation Framework Python modules
1242 New entries have to be created for direct communication over SSH with 1281 run on <literal>localhost</literal>. New entries have to be created for
1243 the boards.</para> 1282 direct communication over SSH with the boards.</para>
1244 1283
1245 <para>The <filename>setup_env.sh</filename> script sets up the 1284 <para>The <filename>setup_env.sh</filename> script sets up the
1246 <literal>testHarness</literal> test environment by creating 1285 <literal>testHarness</literal> test environment by creating the
1247 the <literal>testHarness-venv</literal> Python virtual environment, 1286 <literal>testHarness-venv</literal> Python virtual environment,
1248 executing requests needed by Automation Framework Python modules, and 1287 executing requests needed by Automation Framework Python modules, and
1249 installing Ansible. The Ansible package version is 2.9.6.</para> 1288 installing Ansible. The Ansible package version is 2.9.6.</para>
1250 1289
1251 <para>The <literal>test_harness</literal> directory contains all the 1290 <para>The <literal>test_harness</literal> directory contains all the
1252 implemented Ansible Playbooks. This directory contains 1291 implemented Ansible Playbooks. This directory contains the
1253 the <filename>check_errror.yml</filename> Playbook and many subdirectories, 1292 <filename>check_errror.yml</filename> Playbook and many subdirectories,
1254 each subdirectory representing an Enea Edge Management module.</para> 1293 each subdirectory representing an Enea Edge Management module.</para>
1255 1294
1256 <para>The <filename>check_errors.yml</filename> Playbook checks the Python 1295 <para>The <filename>check_errors.yml</filename> Playbook checks the
1257 output and returns success or fail results. This file is imported in all 1296 Python output and returns success or fail results. This file is imported
1258 playbooks from the <literal>test_harness</literal> directory and it cannot 1297 in all playbooks from the <literal>test_harness</literal> directory and
1259 be run standalone.</para> 1298 it cannot be run standalone.</para>
1260 1299
1261 <para>According to their functionality, the Ansible Playbooks that 1300 <para>According to their functionality, the Ansible Playbooks that refer
1262 refer to offline configuration are in the <literal>OfflineConfig</literal> 1301 to offline configuration are in the <literal>OfflineConfig</literal>
1263 directory, the ones that refers to <literal>CustomScript</literal> are 1302 directory, the ones that refers to <literal>CustomScript</literal> are
1264 in the <literal>CustomScripts</literal>, and so on.</para> 1303 in the <literal>CustomScripts</literal>, and so on.</para>
1265 1304
1266 <para>Each Ansible Playbook has a help menu for:</para> 1305 <para>Each Ansible Playbook has a help menu for:</para>
1267
1268 <itemizedlist
1269 spacing="compact">
1270 <listitem>
1271 <para>Returning the syntax, and examples for running the
1272 Playbook.</para>
1273 </listitem>
1274 1306
1275 <listitem> 1307 <itemizedlist spacing="compact">
1276 <para>Warning if the input parameters are wrong or not 1308 <listitem>
1277 enough. The input parameters are called <literal>extra-vars</literal> in Ansible 1309 <para>Returning the syntax, and examples for running the
1278 playbooks.</para> 1310 Playbook.</para>
1279 </listitem> 1311 </listitem>
1280 </itemizedlist> 1312
1313 <listitem>
1314 <para>Warning if the input parameters are wrong or not enough. The
1315 input parameters are called <literal>extra-vars</literal> in Ansible
1316 playbooks.</para>
1317 </listitem>
1318 </itemizedlist>
1281 1319
1282 <para>The help menu is activated when the Playbook is run without any 1320 <para>The help menu is activated when the Playbook is run without any
1283 parameters.</para> 1321 parameters.</para>
@@ -1289,7 +1327,7 @@ Parameters(not needed): --
1289 <para>Display the help menu for 1327 <para>Display the help menu for
1290 <filename>addDataPlaneOvsBridge.yml</filename>:</para> 1328 <filename>addDataPlaneOvsBridge.yml</filename>:</para>
1291 1329
1292<programlisting>ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml 1330 <programlisting>ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml
1293 1331
1294This playbook runs 'addDataPlaneOvsBridge' method from uCPEDeviceHandler module 1332This playbook runs 'addDataPlaneOvsBridge' method from uCPEDeviceHandler module
1295 1333
@@ -1322,8 +1360,8 @@ Usage:
1322 <listitem> 1360 <listitem>
1323 <para>Run the <filename>addDataPlaneOvsBridge.yml</filename> 1361 <para>Run the <filename>addDataPlaneOvsBridge.yml</filename>
1324 playbook:</para> 1362 playbook:</para>
1325 1363
1326<programlisting>ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml -e 1364 <programlisting>ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml -e
1327"device=inteld1521-17 bridge_config_file=sfc_br.json" 1365"device=inteld1521-17 bridge_config_file=sfc_br.json"
1328ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml -e 1366ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml -e
1329"device=inteld1521-17 bridge_config_file=lan_br.json" 1367"device=inteld1521-17 bridge_config_file=lan_br.json"
@@ -1342,17 +1380,17 @@ interfaces=eno4,eno5"</programlisting>
1342 1380
1343 <para>Each Ansible Playbook from the <literal>test_harness</literal> 1381 <para>Each Ansible Playbook from the <literal>test_harness</literal>
1344 directory represents an atomic operation, a basic functionality that is 1382 directory represents an atomic operation, a basic functionality that is
1345 performed on the Enea Edge Management application at a specific period of the time. They can 1383 performed on the Enea Edge Management application at a specific period
1346 be sequentially run or they can be imported into other playbooks for 1384 of the time. They can be sequentially run or they can be imported into
1347 creating complex scenarios.</para> 1385 other playbooks for creating complex scenarios.</para>
1348 1386
1349 <para><emphasis role="bold">Example:</emphasis></para> 1387 <para><emphasis role="bold">Example:</emphasis></para>
1350 1388
1351 <para>To instantiate a VNF, the following operations have to be 1389 <para>To instantiate a VNF, the following operations have to be
1352 performed: connect to the uCPE Device, bind NICs, create an OVS 1390 performed: connect to the uCPE Device, bind NICs, create an OVS bridge,
1353 bridge, create a VNF descriptor, and instantiate the VNF on the 1391 create a VNF descriptor, and instantiate the VNF on the device. All
1354 device. All these operations can be run Playbook after Playbook using 1392 these operations can be run Playbook after Playbook using the
1355 the <literal>*.yml</literal> files from the <literal>test_harness</literal> 1393 <literal>*.yml</literal> files from the <literal>test_harness</literal>
1356 directory.</para> 1394 directory.</para>
1357 </section> 1395 </section>
1358 1396
@@ -1362,74 +1400,75 @@ interfaces=eno4,eno5"</programlisting>
1362 <para>All the individual Playbooks can be used as imported Playbooks in 1400 <para>All the individual Playbooks can be used as imported Playbooks in
1363 complex test scenarios.</para> 1401 complex test scenarios.</para>
1364 1402
1365 <para>The complex scenarios are defined in: <literal>modules/enea/scenario</literal>.</para> 1403 <para>The complex scenarios are defined in:
1404 <literal>modules/enea/scenario</literal>.</para>
1366 1405
1367 <para>The test scenarios are split into the following:</para> 1406 <para>The test scenarios are split into the following:</para>
1368 1407
1369 <itemizedlist spacing="compact"> 1408 <itemizedlist spacing="compact">
1370 <listitem> 1409 <listitem>
1371 <para>Functionalities to be tested and used: the 1410 <para>Functionalities to be tested and used: the
1372 <literal>CustomScripts, OfflineConfig, ovsTests</literal> 1411 <literal>CustomScripts, OfflineConfig, ovsTests</literal>
1373 directories.</para> 1412 directories.</para>
1374 </listitem> 1413 </listitem>
1375 1414
1376 <listitem> 1415 <listitem>
1377 <para>Service Creation and Lifecycle: 1416 <para>Service Creation and Lifecycle: the
1378 the <literal>chainedVNFsService</literal> directory.</para> 1417 <literal>chainedVNFsService</literal> directory.</para>
1379 </listitem> 1418 </listitem>
1380 1419
1381 <listitem> 1420 <listitem>
1382 <para>VNF Deployment and Lifecycle: 1421 <para>VNF Deployment and Lifecycle: the
1383 the <literal>fortigateFWService</literal> directory.</para> 1422 <literal>fortigateFWService</literal> directory.</para>
1384 </listitem> 1423 </listitem>
1385 </itemizedlist> 1424 </itemizedlist>
1386 1425
1387 <para>For each test scenario, the <literal>README</literal> file 1426 <para>For each test scenario, the <literal>README</literal> file
1388 contains:</para> 1427 contains:</para>
1389 1428
1390 <itemizedlist> 1429 <itemizedlist>
1391 <listitem> 1430 <listitem>
1392 <para>Preconditions:</para> 1431 <para>Preconditions:</para>
1393
1394 <itemizedlist spacing="compact">
1395 <listitem>
1396 <para>The configuration files to be updated</para>
1397 </listitem>
1398
1399 <listitem>
1400 <para>The VNF images to be copied</para>
1401 </listitem>
1402
1403 <listitem>
1404 <para>The license file needed from the provider and added to a
1405 specific path, etc.</para>
1406 </listitem>
1407 </itemizedlist>
1408 </listitem>
1409 1432
1410 <listitem> 1433 <itemizedlist spacing="compact">
1411 <para>Running procedures:</para> 1434 <listitem>
1412 1435 <para>The configuration files to be updated</para>
1413 <itemizedlist spacing="compact"> 1436 </listitem>
1414 <listitem> 1437
1415 <para>The <literal>ansible-playbook</literal> commands for 1438 <listitem>
1416 setup the configuration</para> 1439 <para>The VNF images to be copied</para>
1417 </listitem> 1440 </listitem>
1418 1441
1419 <listitem> 1442 <listitem>
1420 <para>Testing the configuration</para> 1443 <para>The license file needed from the provider and added to a
1421 </listitem> 1444 specific path, etc.</para>
1422 1445 </listitem>
1423 <listitem> 1446 </itemizedlist>
1424 <para>Cleaning up the configuration</para> 1447 </listitem>
1425 </listitem> 1448
1426 </itemizedlist> 1449 <listitem>
1427 </listitem> 1450 <para>Running procedures:</para>
1428 </itemizedlist> 1451
1452 <itemizedlist spacing="compact">
1453 <listitem>
1454 <para>The <literal>ansible-playbook</literal> commands for setup
1455 the configuration</para>
1456 </listitem>
1457
1458 <listitem>
1459 <para>Testing the configuration</para>
1460 </listitem>
1461
1462 <listitem>
1463 <para>Cleaning up the configuration</para>
1464 </listitem>
1465 </itemizedlist>
1466 </listitem>
1467 </itemizedlist>
1429 1468
1430 <para>The test scenarios have the <filename>variable.yml</filename> file that 1469 <para>The test scenarios have the <filename>variable.yml</filename> file
1431 contains the input parameters for the Playbooks. These variables can be 1470 that contains the input parameters for the Playbooks. These variables
1432 reused when the same setup is run on another device.</para> 1471 can be reused when the same setup is run on another device.</para>
1433 1472
1434 <para><emphasis role="bold">Example:</emphasis></para> 1473 <para><emphasis role="bold">Example:</emphasis></para>
1435 1474
@@ -1450,63 +1489,70 @@ vnfi_name: "fortigateFWInstance"</programlisting>
1450 <para>The <literal>unit-test</literal> suite is implemented in the 1489 <para>The <literal>unit-test</literal> suite is implemented in the
1451 <literal>unit_tests</literal> directory.</para> 1490 <literal>unit_tests</literal> directory.</para>
1452 1491
1453 <para>The <literal>unit-test</literal> suite contains the 1492 <para>The <literal>unit-test</literal> suite contains the
1454 <literal>unit-test</literal> class defined in <filename>unittestSuite.py</filename>, and examples of JSON configuration 1493 <literal>unit-test</literal> class defined in
1455 files that can be used for the execution of AF Python classes from the 1494 <filename>unittestSuite.py</filename>, and examples of JSON configuration
1495 files that can be used for the execution of AF Python classes from the
1456 <literal>automation_framework</literal> directory.</para> 1496 <literal>automation_framework</literal> directory.</para>
1457 1497
1458 <para>The Python <literal>unit-test</literal> class defined in the 1498 <para>The Python <literal>unit-test</literal> class defined in the
1459 <filename>unittestSuite.py</filename> script provides a way to automate the execution of 1499 <filename>unittestSuite.py</filename> script provides a way to automate
1460 specific test cases for each supported Python script.</para> 1500 the execution of specific test cases for each supported Python
1501 script.</para>
1461 1502
1462 <para>This class requires a test suite configuration JSON file that 1503 <para>This class requires a test suite configuration JSON file that
1463 contains a dictionary list of the Python scripts to be processed. Each dictionary contains the 1504 contains a dictionary list of the Python scripts to be processed. Each
1464 path of the Python script to be loaded and the path to the file describing the test cases to 1505 dictionary contains the path of the Python script to be loaded and the
1465 be performed against the designated script.</para> 1506 path to the file describing the test cases to be performed against the
1507 designated script.</para>
1466 1508
1467 <para>Python <literal>unit-test</literal> suite examples are in the 1509 <para>Python <literal>unit-test</literal> suite examples are in the
1468 <literal>unit_tests/scenario</literal> directory.</para> 1510 <literal>unit_tests/scenario</literal> directory.</para>
1469 1511
1470 <para>Each scenario has 3 parts:</para> 1512 <para>Each scenario has 3 parts:</para>
1471 1513
1472 <itemizedlist spacing="compact"> 1514 <itemizedlist spacing="compact">
1473 <listitem> 1515 <listitem>
1474 <para><literal>README</literal> - explains the prerequisites needed before running the 1516 <para><literal>README</literal> - explains the prerequisites needed
1475 Python <literal>unit-test</literal> suite.</para> 1517 before running the Python <literal>unit-test</literal> suite.</para>
1476 </listitem> 1518 </listitem>
1477 1519
1478 <listitem> 1520 <listitem>
1479 <para><literal>config</literal> - contains a JSON file for each 1521 <para><literal>config</literal> - contains a JSON file for each
1480 functionality that is used in the specified scenario. The JSON files have two keys:</para> 1522 functionality that is used in the specified scenario. The JSON files
1481 1523 have two keys:</para>
1482 <itemizedlist spacing="compact">
1483 <listitem>
1484 <para>name: The description of the functionality.</para>
1485 </listitem>
1486 1524
1487 <listitem> 1525 <itemizedlist spacing="compact">
1488 <para>args: The arguments of the Python module.</para> 1526 <listitem>
1489 </listitem> 1527 <para>name: The description of the functionality.</para>
1490 </itemizedlist> 1528 </listitem>
1491 </listitem>
1492 1529
1493 <listitem> 1530 <listitem>
1494 <para><literal>JSON</literal> - used for running the scenario. Each JSON file contains 1531 <para>args: The arguments of the Python module.</para>
1495 the calls to the JSON files from the <literal>config</literal> directory, and has two keys:</para> 1532 </listitem>
1496 1533 </itemizedlist>
1497 <itemizedlist spacing="compact"> 1534 </listitem>
1498 <listitem>
1499 <para>config: The JSON file from the <literal>config</literal> directory that is used.</para>
1500 </listitem>
1501 1535
1502 <listitem> 1536 <listitem>
1503 <para>module: The Python module that is run.</para> 1537 <para><literal>JSON</literal> - used for running the scenario. Each
1504 </listitem> 1538 JSON file contains the calls to the JSON files from the
1505 </itemizedlist> 1539 <literal>config</literal> directory, and has two keys:</para>
1506 </listitem> 1540
1507 </itemizedlist> 1541 <itemizedlist spacing="compact">
1542 <listitem>
1543 <para>config: The JSON file from the <literal>config</literal>
1544 directory that is used.</para>
1545 </listitem>
1546
1547 <listitem>
1548 <para>module: The Python module that is run.</para>
1549 </listitem>
1550 </itemizedlist>
1551 </listitem>
1552 </itemizedlist>
1508 1553
1509 <para>Steps for running the Python unit-test suite on the Enea Edge Management application are 1554 <para>Steps for running the Python unit-test suite on the Enea Edge
1510 provided in the <literal>README</literal> file from scenario in use.</para> 1555 Management application are provided in the <literal>README</literal> file
1556 from scenario in use.</para>
1511 </section> 1557 </section>
1512</chapter> \ No newline at end of file 1558</chapter> \ No newline at end of file
diff --git a/doc/book-enea-edge-automation-user-guide/doc/book.xml b/doc/book-enea-edge-automation-user-guide/doc/book.xml
index 95547b6..3a28109 100644
--- a/doc/book-enea-edge-automation-user-guide/doc/book.xml
+++ b/doc/book-enea-edge-automation-user-guide/doc/book.xml
@@ -8,9 +8,9 @@
8 User Guide</title> 8 User Guide</title>
9 9
10 <subtitle>Release Version <xi:include 10 <subtitle>Release Version <xi:include
11 href="../../s_doceneacommon/doc/eltf_params_updated.xml" 11 href="../../eltf_params_updated.xml"
12 xmlns:xi="http://www.w3.org/2001/XInclude" 12 xmlns:xi="http://www.w3.org/2001/XInclude"
13 xpointer="element(EneaLinux_REL_VER/1)" /></subtitle> 13 xpointer="element(EneaEdge_REL_VER/1)" /></subtitle>
14 14
15 <!-- OLINKDBPATH_USED_BY_XMLMIND ../../s_docbuild/olinkdb --> 15 <!-- OLINKDBPATH_USED_BY_XMLMIND ../../s_docbuild/olinkdb -->
16 16
diff --git a/doc/book-enea-edge-automation-user-guide/doc/getting_started.xml b/doc/book-enea-edge-automation-user-guide/doc/getting_started.xml
index 27979cc..517f165 100644
--- a/doc/book-enea-edge-automation-user-guide/doc/getting_started.xml
+++ b/doc/book-enea-edge-automation-user-guide/doc/getting_started.xml
@@ -1,4 +1,4 @@
1<?xml version="1.0" encoding="ISO-8859-1"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<chapter id="getting_started"> 2<chapter id="getting_started">
3 <title>Getting Started with Enea Edge Automation</title> 3 <title>Getting Started with Enea Edge Automation</title>
4 4
@@ -10,133 +10,133 @@
10 <itemizedlist spacing="compact"> 10 <itemizedlist spacing="compact">
11 <listitem> 11 <listitem>
12 <para>Basic Setup</para> 12 <para>Basic Setup</para>
13 13
14 <figure> 14 <figure>
15 <title>Lab setup overview for Basic Setup</title> 15 <title>Lab setup overview for Basic Setup</title>
16 16
17 <mediaobject> 17 <mediaobject>
18 <imageobject> 18 <imageobject>
19 <imagedata align="center" contentwidth="600" 19 <imagedata align="center" contentwidth="600"
20 fileref="images/environment_basicsetup.png" /> 20 fileref="images/environment_basicsetup.png" />
21 </imageobject> 21 </imageobject>
22 </mediaobject> 22 </mediaobject>
23 </figure> 23 </figure>
24 </listitem> 24 </listitem>
25 25
26 <listitem> 26 <listitem>
27 <para>Chained VNFs Service</para> 27 <para>Chained VNFs Service</para>
28 28
29 <figure> 29 <figure>
30 <title>Lab Setup Overview for Chained VNFs Service</title> 30 <title>Lab Setup Overview for Chained VNFs Service</title>
31 31
32 <mediaobject> 32 <mediaobject>
33 <imageobject> 33 <imageobject>
34 <imagedata align="center" contentwidth="600" 34 <imagedata align="center" contentwidth="600"
35 fileref="images/ChainedVNFsService_setup.png" /> 35 fileref="images/ChainedVNFsService_setup.png" />
36 </imageobject> 36 </imageobject>
37 </mediaobject> 37 </mediaobject>
38 </figure> 38 </figure>
39 </listitem> 39 </listitem>
40 </itemizedlist> 40 </itemizedlist>
41 41
42 <para>The following environment setup is needed for running the Enea Edge Automation 42 <para>The following environment setup is needed for running the Enea Edge
43 tests:</para> 43 Automation tests:</para>
44 44
45 <itemizedlist> 45 <itemizedlist>
46 <listitem> 46 <listitem>
47 <para>Lab Network Requirements:</para> 47 <para>Lab Network Requirements:</para>
48 48
49 <itemizedlist spacing="compact"> 49 <itemizedlist spacing="compact">
50 <listitem> 50 <listitem>
51 <para>DHCP enabled</para> 51 <para>DHCP enabled</para>
52 </listitem> 52 </listitem>
53 53
54 <listitem> 54 <listitem>
55 <para>Internet connectivity</para> 55 <para>Internet connectivity</para>
56 </listitem> 56 </listitem>
57 </itemizedlist> 57 </itemizedlist>
58 </listitem> 58 </listitem>
59 59
60 <listitem> 60 <listitem>
61 <para>Enea Edge Management Host Requirements:</para> 61 <para>Enea Edge Management Host Requirements:</para>
62 62
63 <itemizedlist spacing="compact"> 63 <itemizedlist spacing="compact">
64 <listitem> 64 <listitem>
65 <para>CentOS 7 installed</para> 65 <para>CentOS 7 installed</para>
66 </listitem> 66 </listitem>
67 67
68 <listitem> 68 <listitem>
69 <para>A connection to the Lab Network</para> 69 <para>A connection to the Lab Network</para>
70 </listitem> 70 </listitem>
71 71
72 <listitem> 72 <listitem>
73 <para>The Enea Edge Management application installed. For details, see <olink 73 <para>The Enea Edge Management application installed. For details,
74 targetdoc="book_enea_edge_getting_started" 74 see <olink targetdoc="book_enea_edge_getting_started"
75 targetptr="install_ucpe_mg">Installing the Enea Edge Management application in the 75 targetptr="install_ucpe_mg">Installing the Enea Edge Management
76 <xi:include href="../../s_docbuild/olinkdb/pardoc-names.xml" 76 application in the <xi:include
77 xmlns:xi="http://www.w3.org/2001/XInclude" 77 href="../../s_docbuild/olinkdb/pardoc-names.xml"
78 xpointer="element(book_enea_edge_getting_started/1)" /></olink> 78 xmlns:xi="http://www.w3.org/2001/XInclude"
79 Manual.</para> 79 xpointer="element(book_enea_edge_getting_started/1)" /></olink>
80 </listitem> 80 Manual.</para>
81 </itemizedlist> 81 </listitem>
82 </itemizedlist>
82 </listitem> 83 </listitem>
83 84
84 <listitem> 85 <listitem>
85 <para>uCPE device Requirements for Basic Setup:</para> 86 <para>uCPE device Requirements for Basic Setup:</para>
86 87
87 <itemizedlist spacing="compact"> 88 <itemizedlist spacing="compact">
88 <listitem> 89 <listitem>
89 <para>Minimum of 4 Physical Network Devices</para> 90 <para>Minimum of 4 Physical Network Devices</para>
90 </listitem> 91 </listitem>
91 92
92 <listitem> 93 <listitem>
93 <para>4GB RAM and 4 cores (Intel C3000 or Xeon D)</para> 94 <para>4GB RAM and 4 cores (Intel C3000 or Xeon D)</para>
94 </listitem> 95 </listitem>
95 96
96 <listitem> 97 <listitem>
97 <para>2 Physical connections to the Lab Network</para> 98 <para>2 Physical connections to the Lab Network</para>
98 </listitem> 99 </listitem>
99 100
100 <listitem> 101 <listitem>
101 <para>Enea Edge Runtime installed. For more 102 <para>Enea Edge Runtime installed. For more details, see <olink
102 details, see <olink 103 targetdoc="book_enea_edge_getting_started"
103 targetdoc="book_enea_edge_getting_started" 104 targetptr="prep_usb_ena">Preparing the USB stick for installation
104 targetptr="prep_usb_ena">Preparing the USB stick for 105 of the Enea Edge Runtime in the <xi:include
105 installation of the Enea Edge Runtime in the 106 href="../../s_docbuild/olinkdb/pardoc-names.xml"
106 <xi:include href="../../s_docbuild/olinkdb/pardoc-names.xml" 107 xmlns:xi="http://www.w3.org/2001/XInclude"
107 xmlns:xi="http://www.w3.org/2001/XInclude" 108 xpointer="element(book_enea_edge_getting_started/1)" /></olink>
108 xpointer="element(book_enea_edge_getting_started/1)" /></olink> 109 Manual.</para>
109 Manual.</para> 110 </listitem>
110 </listitem> 111 </itemizedlist>
111 </itemizedlist>
112 </listitem> 112 </listitem>
113 113
114 <listitem> 114 <listitem>
115 <para>uCPE device 1 and 2 Requirements for Chained VNFs 115 <para>uCPE device 1 and 2 Requirements for Chained VNFs
116 Service:</para> 116 Service:</para>
117 117
118 <itemizedlist spacing="compact"> 118 <itemizedlist spacing="compact">
119 <listitem> 119 <listitem>
120 <para>Minimum of 4 Physical Network Devices</para> 120 <para>Minimum of 4 Physical Network Devices</para>
121 </listitem> 121 </listitem>
122 122
123 <listitem> 123 <listitem>
124 <para>16GB RAM and 8 cores (Intel C3000 or Xeon D)</para> 124 <para>16GB RAM and 8 cores (Intel C3000 or Xeon D)</para>
125 </listitem> 125 </listitem>
126 126
127 <listitem> 127 <listitem>
128 <para>2 Physical connections to the Lab Network</para> 128 <para>2 Physical connections to the Lab Network</para>
129 </listitem> 129 </listitem>
130 130
131 <listitem> 131 <listitem>
132 <para>1 Physical connection back to back between both uCPE 132 <para>1 Physical connection back to back between both uCPE
133 devices</para> 133 devices</para>
134 </listitem> 134 </listitem>
135 135
136 <listitem> 136 <listitem>
137 <para>Enea Edge Runtime installed</para> 137 <para>Enea Edge Runtime installed</para>
138 </listitem> 138 </listitem>
139 </itemizedlist> 139 </itemizedlist>
140 </listitem> 140 </listitem>
141 </itemizedlist> 141 </itemizedlist>
142 </section> 142 </section>
@@ -154,125 +154,127 @@
154 154
155 <listitem> 155 <listitem>
156 <para>EPEL Repository</para> 156 <para>EPEL Repository</para>
157 157
158 <programlisting>sudo yum install epel-release</programlisting> 158 <programlisting>sudo yum install epel-release</programlisting>
159 </listitem> 159 </listitem>
160 160
161 <listitem> 161 <listitem>
162 <para>PIP package manager</para> 162 <para>PIP package manager</para>
163 163
164 <programlisting>sudo yum -y install python-pip</programlisting> 164 <programlisting>sudo yum -y install python-pip</programlisting>
165 </listitem> 165 </listitem>
166 166
167 <listitem> 167 <listitem>
168 <para>Virtualenv tool</para> 168 <para>Virtualenv tool</para>
169 169
170 <programlisting>sudo pip install virtualenv</programlisting> 170 <programlisting>sudo pip install virtualenv</programlisting>
171 </listitem> 171 </listitem>
172 </itemizedlist> 172 </itemizedlist>
173 173
174 <note> 174 <note>
175 <para>It is recommended to install Enea Edge Automation and the Enea Edge Management application 175 <para>It is recommended to install Enea Edge Automation and the Enea
176 on different machines.</para> 176 Edge Management application on different machines.</para>
177 </note> 177 </note>
178 </section> 178 </section>
179 179
180 <section id="initial_setup"> 180 <section id="initial_setup">
181 <title>Installing the Enea Edge Automation</title> 181 <title>Installing the Enea Edge Automation</title>
182 182
183 <para id="install_procedure"><emphasis role="bold">Installing the 183 <para id="install_procedure"><emphasis role="bold">Installing the Enea
184 Enea Edge Automation</emphasis></para> 184 Edge Automation</emphasis></para>
185 185
186 <orderedlist> 186 <orderedlist>
187 <listitem> 187 <listitem>
188 <para>Log into the host machine</para> 188 <para>Log into the host machine</para>
189 </listitem> 189 </listitem>
190 190
191 <listitem> 191 <listitem>
192 <para><programlisting>cd &lt;AF-installdir&gt;</programlisting></para> 192 <para><programlisting>cd &lt;Automation-installdir&gt;</programlisting></para>
193 </listitem> 193 </listitem>
194 194
195 <listitem> 195 <listitem>
196 <para>Extract the archive file</para> 196 <para>Extract the archive file</para>
197 197
198 <programlisting>unzip Enea_Edge_Automation_&lt;version&gt;-build&lt;build_number&gt;.zip</programlisting> 198 <programlisting>unzip Enea_Edge_Automation_&lt;version&gt;-build&lt;build_number&gt;.zip</programlisting>
199 </listitem> 199 </listitem>
200 200
201 <listitem> 201 <listitem>
202 <para>Run the setup of virtual environment script:</para> 202 <para>Run the setup of virtual environment script:</para>
203 203
204 <programlisting>source setup_env.sh</programlisting> 204 <programlisting>source setup_env.sh</programlisting>
205 </listitem> 205 </listitem>
206 206
207 <listitem> 207 <listitem>
208 <para>Configure the system. For more details, see <xref 208 <para>Configure the system. For more details, see <xref
209 linkend="AFTH_cofig" />.</para> 209 linkend="AFTH_cofig" />.</para>
210 </listitem> 210 </listitem>
211 </orderedlist> 211 </orderedlist>
212 212
213 <note> 213 <note>
214 <para>The steps are executed only once, for the initial setup of the 214 <para>The steps are executed only once, for the initial setup of the
215 environment.</para> 215 environment.</para>
216 </note> 216 </note>
217 217
218 <para><emphasis role="bold">Setting up the enviroment for the Enea Edge Automation</emphasis></para> 218 <para><emphasis role="bold">Setting up the enviroment for the Enea Edge
219 219 Automation</emphasis></para>
220 <orderedlist> 220
221 <listitem> 221 <orderedlist>
222 <para>Activate the Python virtual enviroment</para> 222 <listitem>
223 223 <para>Activate the Python virtual enviroment</para>
224 <programlisting>source &lt;AF-installdir&gt;/testHarness-venv/bin/activate</programlisting> 224
225 </listitem> 225 <programlisting>source &lt;Automation-installdir&gt;/testHarness-venv/bin/activate</programlisting>
226 226 </listitem>
227 <listitem> 227
228 <para>Optionally, check the History Information</para> 228 <listitem>
229 229 <para>Optionally, check the History Information</para>
230 <programlisting>vi &lt;AF-installdir&gt;/CHANGELOG</programlisting> 230
231 </listitem> 231 <programlisting>vi &lt;Automation-installdir&gt;/CHANGELOG</programlisting>
232 232 </listitem>
233 <listitem> 233
234 <para>Close the Python virtual environment</para> 234 <listitem>
235 235 <para>Close the Python virtual environment</para>
236 <programlisting>deactivate</programlisting> 236
237 </listitem> 237 <programlisting>deactivate</programlisting>
238 </orderedlist> 238 </listitem>
239 </orderedlist>
239 </section> 240 </section>
240 241
241 <section id="upgrade_AF"> 242 <section id="upgrade_AF">
242 <title>Upgrading the Enea Edge Automation</title> 243 <title>Upgrading the Enea Edge Automation</title>
243 244
244 <para><emphasis role="bold">Upgrading the Enea Edge Automation</emphasis></para> 245 <para><emphasis role="bold">Upgrading the Enea Edge
245 246 Automation</emphasis></para>
246 <orderedlist> 247
247 <listitem> 248 <orderedlist>
248 <para>Log into the host machine</para> 249 <listitem>
249 </listitem> 250 <para>Log into the host machine</para>
250 251 </listitem>
251 <listitem> 252
252 <para><programlisting>cd &lt;AF-installdir&gt;</programlisting></para> 253 <listitem>
253 </listitem> 254 <para><programlisting>cd &lt;Automation-installdir&gt;</programlisting></para>
254 255 </listitem>
255 <listitem> 256
256 <para>Back up the configuration files from 257 <listitem>
257 <literal>modules/enea/config</literal>.</para> 258 <para>Back up the configuration files from
258 </listitem> 259 <literal>modules/enea/config</literal>.</para>
259 260 </listitem>
260 <listitem> 261
261 <para>Extract the archive file:</para> 262 <listitem>
262 263 <para>Extract the archive file:</para>
263 <programlisting>unzip Enea_Edge_Automation_&lt;version&gt;-build&lt;build_number&gt;.zip</programlisting> 264
264 </listitem> 265 <programlisting>unzip Enea_Edge_Automation_&lt;version&gt;-build&lt;build_number&gt;.zip</programlisting>
265 266 </listitem>
266 <listitem> 267
267 <para>Restore the configuration files from step 2 into 268 <listitem>
268 <literal>modules/enea/config </literal>.</para> 269 <para>Restore the configuration files from step 2 into
269 </listitem> 270 <literal>modules/enea/config </literal>.</para>
270 271 </listitem>
271 <listitem> 272
272 <para>Run the setup of virtual environment script:</para> 273 <listitem>
273 274 <para>Run the setup of virtual environment script:</para>
274 <programlisting>source setup_env.sh</programlisting> 275
275 </listitem> 276 <programlisting>source setup_env.sh</programlisting>
276 </orderedlist> 277 </listitem>
278 </orderedlist>
277 </section> 279 </section>
278</chapter> \ No newline at end of file 280</chapter> \ No newline at end of file
diff --git a/doc/book-enea-edge-example-usecases/doc/book.xml b/doc/book-enea-edge-example-usecases/doc/book.xml
index fc69b88..e872c95 100644
--- a/doc/book-enea-edge-example-usecases/doc/book.xml
+++ b/doc/book-enea-edge-example-usecases/doc/book.xml
@@ -8,9 +8,9 @@
8 Use-cases</title> 8 Use-cases</title>
9 9
10 <subtitle>Release Version <xi:include 10 <subtitle>Release Version <xi:include
11 href="../../s_doceneacommon/doc/eltf_params_updated.xml" 11 href="../../eltf_params_updated.xml"
12 xmlns:xi="http://www.w3.org/2001/XInclude" 12 xmlns:xi="http://www.w3.org/2001/XInclude"
13 xpointer="element(EneaLinux_REL_VER/1)" /></subtitle> 13 xpointer="element(EneaEdge_REL_VER/1)" /></subtitle>
14 14
15 <!-- OLINKDBPATH_USED_BY_XMLMIND ../../s_docbuild/olinkdb --> 15 <!-- OLINKDBPATH_USED_BY_XMLMIND ../../s_docbuild/olinkdb -->
16 16
diff --git a/doc/book-enea-edge-getting-started/doc/book.xml b/doc/book-enea-edge-getting-started/doc/book.xml
index 07021cb..f317f15 100644
--- a/doc/book-enea-edge-getting-started/doc/book.xml
+++ b/doc/book-enea-edge-getting-started/doc/book.xml
@@ -8,9 +8,9 @@
8 Started</title> 8 Started</title>
9 9
10 <subtitle>Release Version <xi:include 10 <subtitle>Release Version <xi:include
11 href="../../s_doceneacommon/doc/eltf_params_updated.xml" 11 href="../../eltf_params_updated.xml"
12 xmlns:xi="http://www.w3.org/2001/XInclude" 12 xmlns:xi="http://www.w3.org/2001/XInclude"
13 xpointer="element(EneaLinux_REL_VER/1)" /></subtitle> 13 xpointer="element(EneaEdge_REL_VER/1)" /></subtitle>
14 14
15 <!-- OLINKDBPATH_USED_BY_XMLMIND ../../s_docbuild/olinkdb --> 15 <!-- OLINKDBPATH_USED_BY_XMLMIND ../../s_docbuild/olinkdb -->
16 16
diff --git a/doc/book-enea-edge-getting-started/doc/net_config_options.xml b/doc/book-enea-edge-getting-started/doc/net_config_options.xml
index 5f265fb..39ef10a 100644
--- a/doc/book-enea-edge-getting-started/doc/net_config_options.xml
+++ b/doc/book-enea-edge-getting-started/doc/net_config_options.xml
@@ -580,9 +580,9 @@
580 580
581 <listitem> 581 <listitem>
582 <para>DeviceVersion: <xi:include 582 <para>DeviceVersion: <xi:include
583 href="../../s_doceneacommon/doc/eltf_params_updated.xml" 583 href="../../eltf_params_updated.xml"
584 xmlns:xi="http://www.w3.org/2001/XInclude" 584 xmlns:xi="http://www.w3.org/2001/XInclude"
585 xpointer="element(EneaLinux_REL_VER/1)" /></para> 585 xpointer="element(EneaEdge_REL_VER/1)" /></para>
586 </listitem> 586 </listitem>
587 587
588 <listitem> 588 <listitem>
diff --git a/doc/book-enea-edge-management-open-source/doc/about.xml b/doc/book-enea-edge-management-open-source/doc/about.xml
index e13cd41..350852b 100644
--- a/doc/book-enea-edge-management-open-source/doc/about.xml
+++ b/doc/book-enea-edge-management-open-source/doc/about.xml
@@ -7,7 +7,7 @@
7 <para>This document contains the open source and license information 7 <para>This document contains the open source and license information
8 pertaining to packages relating to the Enea Edge Management application 8 pertaining to packages relating to the Enea Edge Management application
9 provided with Enea Edge <xi:include 9 provided with Enea Edge <xi:include
10 href="../../s_doceneacommon/doc/eltf_params_updated.xml" 10 href="../../eltf_params_updated.xml"
11 xmlns:xi="http://www.w3.org/2001/XInclude" 11 xmlns:xi="http://www.w3.org/2001/XInclude"
12 xpointer="element(EneaLinux_REL_VER/1)" />.</para> 12 xpointer="element(EneaEdge_REL_VER/1)" />.</para>
13</chapter> \ No newline at end of file 13</chapter> \ No newline at end of file
diff --git a/doc/book-enea-edge-management-open-source/doc/book.xml b/doc/book-enea-edge-management-open-source/doc/book.xml
index 715fbe6..cb63551 100644
--- a/doc/book-enea-edge-management-open-source/doc/book.xml
+++ b/doc/book-enea-edge-management-open-source/doc/book.xml
@@ -6,7 +6,7 @@
6<book id="book_enea_edge_management_open_source"> 6<book id="book_enea_edge_management_open_source">
7 <title><trademark class="registered">Enea</trademark> Edge Management Open Source Report</title> 7 <title><trademark class="registered">Enea</trademark> Edge Management Open Source Report</title>
8 <subtitle>Release Version 8 <subtitle>Release Version
9 <xi:include href="../../s_doceneacommon/doc/eltf_params_updated.xml" xpointer="element(EneaLinux_REL_VER/1)" 9 <xi:include href="../../eltf_params_updated.xml" xpointer="element(EneaEdge_REL_VER/1)"
10 xmlns:xi="http://www.w3.org/2001/XInclude" /></subtitle> 10 xmlns:xi="http://www.w3.org/2001/XInclude" /></subtitle>
11 <!-- OLINKDBPATH_USED_BY_XMLMIND ../../s_docbuild/olinkdb --> 11 <!-- OLINKDBPATH_USED_BY_XMLMIND ../../s_docbuild/olinkdb -->
12 <xi:include href="../../s_docbuild/template/docsrc_common/bookinfo_userdoc.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> 12 <xi:include href="../../s_docbuild/template/docsrc_common/bookinfo_userdoc.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
diff --git a/doc/book-enea-edge-release-info/doc/about_release.xml b/doc/book-enea-edge-release-info/doc/about_release.xml
index 349c955..2260bce 100644
--- a/doc/book-enea-edge-release-info/doc/about_release.xml
+++ b/doc/book-enea-edge-release-info/doc/about_release.xml
@@ -12,9 +12,9 @@
12 private or public cloud.</para> 12 private or public cloud.</para>
13 13
14 <para>The Enea Edge <xi:include 14 <para>The Enea Edge <xi:include
15 href="../../s_doceneacommon/doc/eltf_params_updated.xml" 15 href="../../eltf_params_updated.xml"
16 xmlns:xi="http://www.w3.org/2001/XInclude" 16 xmlns:xi="http://www.w3.org/2001/XInclude"
17 xpointer="element(EneaLinux_REL_VER/1)" /> Release includes new features, 17 xpointer="element(EneaEdge_REL_VER/1)" /> Release includes new features,
18 optimizations, corrections, and updates to the user documentation.. 18 optimizations, corrections, and updates to the user documentation..
19 A list of major new features and improvements can be found in 19 A list of major new features and improvements can be found in
20 <xref linkend="relinfo-changes-other">Section 2.1 New Features and Improvements</xref>.</para> 20 <xref linkend="relinfo-changes-other">Section 2.1 New Features and Improvements</xref>.</para>
@@ -103,7 +103,7 @@
103 it is in the beginning. The subtitles shall have the directory name of the 103 it is in the beginning. The subtitles shall have the directory name of the
104 target in the manifest.</remark> 104 target in the manifest.</remark>
105 105
106 <xi:include href="../../s_doceneacommon/doc/eltf_params_updated.xml" 106 <xi:include href="../../eltf_params_updated.xml"
107 xmlns:xi="http://www.w3.org/2001/XInclude" 107 xmlns:xi="http://www.w3.org/2001/XInclude"
108 xpointer="element(eltf-target-tables-section)" /> 108 xpointer="element(eltf-target-tables-section)" />
109 109
diff --git a/doc/book-enea-edge-release-info/doc/book.xml b/doc/book-enea-edge-release-info/doc/book.xml
index 0b77f41..6897c6f 100644
--- a/doc/book-enea-edge-release-info/doc/book.xml
+++ b/doc/book-enea-edge-release-info/doc/book.xml
@@ -8,9 +8,9 @@
8 Information</title> 8 Information</title>
9 9
10 <subtitle>Release Version <xi:include 10 <subtitle>Release Version <xi:include
11 href="../../s_doceneacommon/doc/eltf_params_updated.xml" 11 href="../../eltf_params_updated.xml"
12 xmlns:xi="http://www.w3.org/2001/XInclude" 12 xmlns:xi="http://www.w3.org/2001/XInclude"
13 xpointer="element(EneaLinux_REL_VER/1)" /></subtitle> 13 xpointer="element(EneaEdge_REL_VER/1)" /></subtitle>
14 14
15 <!-- OLINKDBPATH_USED_BY_XMLMIND ../../s_docbuild/olinkdb --> 15 <!-- OLINKDBPATH_USED_BY_XMLMIND ../../s_docbuild/olinkdb -->
16 16
diff --git a/doc/book-enea-edge-release-info/doc/getting_enea_nfv_access.xml b/doc/book-enea-edge-release-info/doc/getting_enea_nfv_access.xml
deleted file mode 100644
index 9eecd3c..0000000
--- a/doc/book-enea-edge-release-info/doc/getting_enea_nfv_access.xml
+++ /dev/null
@@ -1,54 +0,0 @@
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4<chapter id="relinfo-getting-enea-nfv-access">
5 <title>Getting Enea NFV Access</title>
6
7 <para>Enea NFV Access releases and updates are available as binaries ready
8 for download.</para>
9
10 <para><emphasis role="bold">Downloading Enea NFV Access</emphasis></para>
11<remark>Does the content below need to be revised to no longer make reference or mention to Enea Portal?</remark>
12 <orderedlist>
13 <listitem>
14 <para>Log in to the link above using the credentials provided by
15 Enea.</para>
16 </listitem>
17
18 <listitem>
19 <para>From the right corner of the top main menu, choose the
20 <literal>Access</literal> section.</para>
21 </listitem>
22
23 <listitem>
24 <para>The <literal>Files</literal> section on the left will display each
25 official release of Enea NFV Access, with the latest at the top.</para>
26
27 <para>Each release listing displays the dates for release and updates
28 available, along with a <literal>Download</literal> button that allows
29 you to directly save the version you wish to use.</para>
30 </listitem>
31
32 <listitem>
33 <para>By clicking on the link at the top of any listing of Enea NFV
34 Access, you'll access the changelog page for that version. At the bottom
35 of the page are clearly labeled region-specific zip files containing the
36 binary sources.</para>
37
38 <para>Documentation is also available at the bottom of the page.</para>
39 </listitem>
40
41 <listitem>
42 <para>On the right side of the main <literal>Access</literal> page is
43 the <literal>Online Documentation</literal> section, listing pdfs for
44 the latest versions of documentation. They can all be accessed for
45 indiviudual downloading without the need to download the binaries
46 first.</para>
47 </listitem>
48 </orderedlist>
49
50 <para>For details about the books delivered and their purpose, refer to
51 <xref linkend="relinfo-documentation" />. For information concerning the
52 contents of the release package, please see <xref
53 linkend="release-content" />.</para>
54</chapter>
diff --git a/doc/book-enea-edge-release-info/doc/system_requirements_prerequisites.xml b/doc/book-enea-edge-release-info/doc/system_requirements_prerequisites.xml
deleted file mode 100644
index b0317b3..0000000
--- a/doc/book-enea-edge-release-info/doc/system_requirements_prerequisites.xml
+++ /dev/null
@@ -1,62 +0,0 @@
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4<chapter id="sys-req-prerequisites">
5 <title>Host Requirements</title>
6
7 <para>Using Enea NFV Access or compiling applications requires certain
8 packages to be installed on your build host. The requirements listed below
9 are extensive to allow getting Enea NFV Access to be booted on target
10 machines and for building applications.</para>
11
12 <informaltable>
13 <tgroup cols="2">
14 <colspec align="left" colname="1" colwidth="1*" />
15
16 <colspec align="left" colname="2" colwidth="3*" />
17
18 <spanspec nameend="2" namest="1" spanname="onetwo" />
19
20 <tbody>
21 <row>
22 <entry spanname="onetwo"><emphasis role="bold"> Build Host
23 Requirements<indexterm>
24 <primary>host requirements</primary>
25 </indexterm></emphasis></entry>
26 </row>
27
28 <row>
29 <entry>Linux distribution</entry>
30
31 <entry>The downloaded product can installed on the target machine
32 using a Linux host. For information about supported hosts and
33 targets, see <xref
34 linkend="relinfo-supported-host-environment" />.</entry>
35 </row>
36
37 <row>
38 <entry>Packages</entry>
39
40 <entry>Depending on the Linux distribution and version of the host,
41 certain packages may be required. See details on what packages are
42 needed and how to install them in the following sections.</entry>
43 </row>
44
45 <row>
46 <entry>Disk space</entry>
47
48 <entry>Your build host should have at least 50 GB of free disk space
49 for installing the SDK, eSDK or cross-compiling
50 applications.</entry>
51 </row>
52
53 <row>
54 <entry>Recommended RAM</entry>
55
56 <entry>Your build host must have at least 4 GB available
57 RAM.</entry>
58 </row>
59 </tbody>
60 </tgroup>
61 </informaltable>
62</chapter> \ No newline at end of file
diff --git a/doc/book-enea-edge-runtime-open-source/doc/about.xml b/doc/book-enea-edge-runtime-open-source/doc/about.xml
index 94136a3..d1e04b4 100644
--- a/doc/book-enea-edge-runtime-open-source/doc/about.xml
+++ b/doc/book-enea-edge-runtime-open-source/doc/about.xml
@@ -7,7 +7,7 @@
7 <para>This document contains the open source and license information 7 <para>This document contains the open source and license information
8 pertaining to packages relating to the Enea Edge Runtime and the Installer 8 pertaining to packages relating to the Enea Edge Runtime and the Installer
9 provided with Enea Edge <ns:include 9 provided with Enea Edge <ns:include
10 href="../../s_doceneacommon/doc/eltf_params_updated.xml" 10 href="../../eltf_params_updated.xml"
11 xpointer="element(EneaLinux_REL_VER/1)" 11 xpointer="element(EneaEdge_REL_VER/1)"
12 xmlns:ns="http://www.w3.org/2001/XInclude" />.</para> 12 xmlns:ns="http://www.w3.org/2001/XInclude" />.</para>
13</chapter> \ No newline at end of file 13</chapter> \ No newline at end of file
diff --git a/doc/book-enea-edge-runtime-open-source/doc/book.xml b/doc/book-enea-edge-runtime-open-source/doc/book.xml
index a575375..4e2ecf2 100644
--- a/doc/book-enea-edge-runtime-open-source/doc/book.xml
+++ b/doc/book-enea-edge-runtime-open-source/doc/book.xml
@@ -6,7 +6,7 @@
6<book id="book_enea_edge_runtime_open_source"> 6<book id="book_enea_edge_runtime_open_source">
7 <title><trademark class="registered">Enea</trademark> Edge Runtime Open Source Report</title> 7 <title><trademark class="registered">Enea</trademark> Edge Runtime Open Source Report</title>
8 <subtitle>Release Version 8 <subtitle>Release Version
9 <xi:include href="../../s_doceneacommon/doc/eltf_params_updated.xml" xpointer="element(EneaLinux_REL_VER/1)" 9 <xi:include href="../../eltf_params_updated.xml" xpointer="element(EneaEdge_REL_VER/1)"
10 xmlns:xi="http://www.w3.org/2001/XInclude" /></subtitle> 10 xmlns:xi="http://www.w3.org/2001/XInclude" /></subtitle>
11 <!-- OLINKDBPATH_USED_BY_XMLMIND ../../s_docbuild/olinkdb --> 11 <!-- OLINKDBPATH_USED_BY_XMLMIND ../../s_docbuild/olinkdb -->
12 <xi:include href="../../s_docbuild/template/docsrc_common/bookinfo_userdoc.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> 12 <xi:include href="../../s_docbuild/template/docsrc_common/bookinfo_userdoc.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
diff --git a/doc/book-enea-edge-system-test-specification/doc/book.xml b/doc/book-enea-edge-system-test-specification/doc/book.xml
index bcc2dcd..0884348 100644
--- a/doc/book-enea-edge-system-test-specification/doc/book.xml
+++ b/doc/book-enea-edge-system-test-specification/doc/book.xml
@@ -7,7 +7,7 @@
7 <title><trademark class="registered">Enea</trademark> Edge System Test Specification</title> 7 <title><trademark class="registered">Enea</trademark> Edge System Test Specification</title>
8 8
9 <subtitle>Release Version 9 <subtitle>Release Version
10 <xi:include href="../../s_doceneacommon/doc/eltf_params_updated.xml" xpointer="element(EneaLinux_REL_VER/1)" 10 <xi:include href="../../eltf_params_updated.xml" xpointer="element(EneaEdge_REL_VER/1)"
11 xmlns:xi="http://www.w3.org/2001/XInclude" /></subtitle> 11 xmlns:xi="http://www.w3.org/2001/XInclude" /></subtitle>
12 12
13 <!-- OLINKDBPATH_USED_BY_XMLMIND ../../s_docbuild/olinkdb --> 13 <!-- OLINKDBPATH_USED_BY_XMLMIND ../../s_docbuild/olinkdb -->
diff --git a/doc/book-enea-edge-telemetry-open-source/doc/about.xml b/doc/book-enea-edge-telemetry-open-source/doc/about.xml
index 443bf36..3c64d62 100644
--- a/doc/book-enea-edge-telemetry-open-source/doc/about.xml
+++ b/doc/book-enea-edge-telemetry-open-source/doc/about.xml
@@ -6,7 +6,7 @@
6 6
7 <para>This document contains the open source and license information 7 <para>This document contains the open source and license information
8 pertaining to Telemetry packages provided with Enea Edge <xi:include 8 pertaining to Telemetry packages provided with Enea Edge <xi:include
9 href="../../s_doceneacommon/doc/eltf_params_updated.xml" 9 href="../../eltf_params_updated.xml"
10 xmlns:xi="http://www.w3.org/2001/XInclude" 10 xmlns:xi="http://www.w3.org/2001/XInclude"
11 xpointer="element(EneaLinux_REL_VER/1)" />.</para> 11 xpointer="element(EneaEdge_REL_VER/1)" />.</para>
12</chapter> \ No newline at end of file 12</chapter> \ No newline at end of file
diff --git a/doc/book-enea-edge-telemetry-open-source/doc/book.xml b/doc/book-enea-edge-telemetry-open-source/doc/book.xml
index 9b0aa33..0c54870 100644
--- a/doc/book-enea-edge-telemetry-open-source/doc/book.xml
+++ b/doc/book-enea-edge-telemetry-open-source/doc/book.xml
@@ -6,7 +6,7 @@
6<book id="book_enea_edge_telemetry_open_source"> 6<book id="book_enea_edge_telemetry_open_source">
7 <title><trademark class="registered">Enea</trademark> Edge Telemetry Open Source Report</title> 7 <title><trademark class="registered">Enea</trademark> Edge Telemetry Open Source Report</title>
8 <subtitle>Release Version 8 <subtitle>Release Version
9 <xi:include href="../../s_doceneacommon/doc/eltf_params_updated.xml" xpointer="element(EneaLinux_REL_VER/1)" 9 <xi:include href="../../eltf_params_updated.xml" xpointer="element(EneaEdge_REL_VER/1)"
10 xmlns:xi="http://www.w3.org/2001/XInclude" /></subtitle> 10 xmlns:xi="http://www.w3.org/2001/XInclude" /></subtitle>
11 <!-- OLINKDBPATH_USED_BY_XMLMIND ../../s_docbuild/olinkdb --> 11 <!-- OLINKDBPATH_USED_BY_XMLMIND ../../s_docbuild/olinkdb -->
12 <xi:include href="../../s_docbuild/template/docsrc_common/bookinfo_userdoc.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> 12 <xi:include href="../../s_docbuild/template/docsrc_common/bookinfo_userdoc.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
diff --git a/doc/book-enea-nfv-access-evalkit/doc/book.xml b/doc/book-enea-nfv-access-evalkit/doc/book.xml
index 90399a7..68b36af 100644
--- a/doc/book-enea-nfv-access-evalkit/doc/book.xml
+++ b/doc/book-enea-nfv-access-evalkit/doc/book.xml
@@ -7,7 +7,7 @@
7 <title><trademark class="registered">Enea</trademark> NFV Access Evaluation Kit</title> 7 <title><trademark class="registered">Enea</trademark> NFV Access Evaluation Kit</title>
8 8
9 <subtitle>Release Version 9 <subtitle>Release Version
10 <xi:include href="../../s_doceneacommon/doc/eltf_params_updated.xml" xpointer="element(EneaLinux_REL_VER/1)" 10 <xi:include href="../../eltf_params_updated.xml" xpointer="element(EneaEdge_REL_VER/1)"
11 xmlns:xi="http://www.w3.org/2001/XInclude" /></subtitle> 11 xmlns:xi="http://www.w3.org/2001/XInclude" /></subtitle>
12 12
13 <!-- OLINKDBPATH_USED_BY_XMLMIND ../../s_docbuild/olinkdb --> 13 <!-- OLINKDBPATH_USED_BY_XMLMIND ../../s_docbuild/olinkdb -->
diff --git a/doc/book-enea-nfv-access-evalkit/doc/prerequisites.xml b/doc/book-enea-nfv-access-evalkit/doc/prerequisites.xml
index fca409c..7204f7b 100644
--- a/doc/book-enea-nfv-access-evalkit/doc/prerequisites.xml
+++ b/doc/book-enea-nfv-access-evalkit/doc/prerequisites.xml
@@ -153,10 +153,10 @@
153 </listitem> 153 </listitem>
154 </itemizedlist> 154 </itemizedlist>
155 155
156 <para>See the Enea NFV Access <xi:include 156 <para>See the Enea Edge <xi:include
157 href="../../s_doceneacommon/doc/eltf_params_updated.xml" 157 href="../../eltf_params_updated.xml"
158 xmlns:xi="http://www.w3.org/2001/XInclude" 158 xmlns:xi="http://www.w3.org/2001/XInclude"
159 xpointer="element(EneaLinux_REL_VER/1)" /> Release Information for more 159 xpointer="element(EneaEdge_REL_VER/1)" /> Release Information Manual for more
160 details.</para> 160 details.</para>
161 </section> 161 </section>
162</chapter> \ No newline at end of file 162</chapter> \ No newline at end of file
diff --git a/doc/eltf_params_template.xml b/doc/eltf_params_template.xml
new file mode 100644
index 0000000..8a05079
--- /dev/null
+++ b/doc/eltf_params_template.xml
@@ -0,0 +1,151 @@
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4<section id="eltf_created_params">
5 <title>File with Parameters in the Book Auto-updated by ELFT</title>
6
7 <note>
8 <para>See the <emphasis
9 role="bold">eltf_params_updated_template_howto_use.txt</emphasis> text
10 file for description of how to create the final <emphasis
11 role="bold">eltf_params_updated.xml</emphasis> from this template and for
12 all <emphasis role="bold">REQUIREMENTS</emphasis>. Use the command
13 "<emphasis role="bold">make eltf</emphasis>" to extract a full list of all
14 ELTF variables, which always begins with ELTF_ and don't only rely on the
15 howto text file list! The plan is that ELTF will auto-update this when
16 needed.</para>
17 </note>
18
19 <section id="host_prereq">
20 <title>Common Parameters</title>
21
22 <bridgehead>A programlisting, ID
23 "eltf-prereq-apt-get-commands-host"</bridgehead>
24
25 <para id="eltf-prereq-apt-get-commands-host"><programlisting>ELTF_PL_HOST_PREREQ</programlisting></para>
26
27 <bridgehead>A programlisting, ID
28 "eltf-getting-repo-install-command"</bridgehead>
29
30 <para id="eltf-getting-repo-install-command"><programlisting>ELTF_PL_GET_REPO</programlisting></para>
31
32 <bridgehead>Several phrase elements, various IDs. Ensure EL_REL_VER is
33 correct also compared to the "previous" REL VER in pardoc-distro.xml
34 "prev_baseline".</bridgehead>
35
36 <para id="EneaEdge_REL_VER"><phrase>ELTF_EL_REL_VER</phrase></para>
37
38 <para id="Yocto_VER"><phrase>ELTF_YOCTO_VER</phrase></para>
39
40 <para id="Yocto_NAME"><phrase>ELTF_YOCTO_NAME</phrase></para>
41
42 <para id="ULINK_YOCTO_PROJECT_DOWNLOAD"><ulink
43 url="ELTF_YOCTO_PROJ_DOWNLOAD_URL">ELTF_YOCTO_PROJ_DOWNLOAD_TXTURL</ulink></para>
44
45 <para id="ULINK_ENEA_LINUX_URL"><ulink
46 url="ELTF_EL_DOWNLOAD_URL">ELTF_EL_DOWNLOAD_TXTURL</ulink></para>
47
48 <bridgehead>A programlisting, ID "eltf-repo-cloning-enea-linux". Use
49 $MACHINE/default.xml as parameter, where MACHINE is one of the target
50 directory names in the manifest.</bridgehead>
51
52 <para id="eltf-repo-cloning-enea-linux"><programlisting>ELTF_PL_CLONE_W_REPO</programlisting></para>
53
54 <bridgehead>A table with ONE row, only the row with ID
55 "eltf-eclipse-version-row" is included in the book. MANUALLY BOTH in the
56 template.xml and in the updated.xml, set condition hidden on the
57 &lt;row&gt;, if eclipse is not in the release.</bridgehead>
58
59 <informaltable>
60 <tgroup cols="1">
61 <tbody>
62 <row id="eltf-eclipse-version-row">
63 <entry>Eclipse version ELTF_ECLIPSE_VERSION plus command line
64 development tools are included in this Enea Linux release.</entry>
65 </row>
66 </tbody>
67 </tgroup>
68 </informaltable>
69
70 <bridgehead>Below is one big section with title "Supported Targets with
71 Parameters". The entire section is included completely in the book via ID
72 "eltf-target-tables-section" and shall be LAST in the template. The
73 template contains ONE target subsection. COPY/APPEND it, if multiple
74 targets exist in the release and optionally add rows with additional
75 target parameters in each target subsection table.</bridgehead>
76 </section>
77
78 <section id="eltf-target-tables-section">
79 <title>Supported Targets with Parameters</title>
80
81 <para>The tables below describes the target(s) supported in this Enea
82 Linux release.</para>
83
84 <section id="eltf-target-table-ELTF_T_MANIFEST_DIR">
85 <title>MACHINE ELTF_T_MANIFEST_DIR - Information</title>
86
87 <para><informaltable>
88 <tgroup cols="2">
89 <colspec colwidth="6*" />
90
91 <colspec colwidth="9*" />
92
93 <tbody>
94 <row>
95 <entry>Target official name</entry>
96
97 <entry>ELTF_T_NAME</entry>
98 </row>
99
100 <row>
101 <entry>Architecture and Description</entry>
102
103 <entry>ELTF_T_ARC_DESC</entry>
104 </row>
105
106 <row>
107 <entry>Link to target datasheet</entry>
108
109 <entry>See <ulink
110 url="ELTF_T_DS_URL">ELTF_T_DS_TXTURL</ulink></entry>
111 </row>
112
113 <row>
114 <entry>Poky version</entry>
115
116 <entry>ELTF_T_POKY_VER</entry>
117 </row>
118
119 <row>
120 <entry>GCC version</entry>
121
122 <entry>ELTF_T_GCC_VER</entry>
123 </row>
124
125 <row>
126 <entry>Linux Kernel Version</entry>
127
128 <entry>ELTF_T_KERN_VER</entry>
129 </row>
130
131 <row>
132 <entry>Supported Drivers</entry>
133
134 <entry>ELTF_T_DRIVERS</entry>
135 </row>
136
137 <row>
138 <entry>Enea rpm folder for downloading RPM packages for this
139 target</entry>
140
141 <entry><ulink
142 url="ELTF_T_EL_RPM_URL">ELTF_T_EL_RPM_TXTURL</ulink></entry>
143 </row>
144 </tbody>
145 </tgroup>
146 </informaltable></para>
147 </section>
148
149 <!-- ELTFADD_MORE_TARGET_SECTIONS_BELOW_IF_NEEDED -->
150 </section>
151</section> \ No newline at end of file
diff --git a/doc/eltf_params_updated.xml b/doc/eltf_params_updated.xml
new file mode 100644
index 0000000..34739ee
--- /dev/null
+++ b/doc/eltf_params_updated.xml
@@ -0,0 +1,240 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4<section id="eltf_created_params">
5 <title>File with Parameters in the Book Auto-updated by ELFT</title>
6
7 <note>
8 <para>See the <emphasis
9 role="bold">eltf_params_updated_template_howto_use.txt</emphasis> text
10 file for description of how to create the final <emphasis
11 role="bold">eltf_params_updated.xml</emphasis> from this template and for
12 all <emphasis role="bold">REQUIREMENTS</emphasis>. Use the command
13 "<emphasis role="bold">make eltf</emphasis>" to extract a full list of all
14 ELTF variables, which always begins with ELTF_ and don't only rely on the
15 howto text file list! The plan is that ELTF will auto-update this when
16 needed.</para>
17 </note>
18
19 <section id="host_prereq">
20 <title>Common Parameters</title>
21
22 <bridgehead>A programlisting, ID
23 "eltf-prereq-apt-get-commands-host"</bridgehead>
24
25 <para id="eltf-prereq-apt-get-commands-host"><programlisting># Host Ubuntu 16.04 LTS 64bit
26sudo apt-get -y update
27sudo apt-get -y install sed wget subversion git-core coreutils unzip texi2html \
28 texinfo libsdl1.2-dev docbook-utils fop gawk python-pysqlite2 diffstat \
29 make gcc build-essential xsltproc g++ desktop-file-utils chrpath \
30 libgl1-mesa-dev libglu1-mesa-dev autoconf automake groff libtool xterm \
31 libxml-parser-perl</programlisting></para>
32
33 <bridgehead>A programlisting, ID
34 "eltf-getting-repo-install-command"</bridgehead>
35
36 <para id="eltf-getting-repo-install-command"><programlisting>mkdir -p ~/bin
37curl https://storage.googleapis.com/git-repo-downloads/repo &gt; ~/bin/repo
38chmod a+x ~/bin/repo
39export PATH=~/bin:$PATH</programlisting></para>
40
41 <bridgehead>Several phrase elements, various IDs. Ensure EL_REL_VER is
42 correct also compared to the "previous" REL VER in pardoc-distro.xml
43 "prev_baseline".</bridgehead>
44
45 <para id="EneaEdge_REL_VER"><phrase>2.5.0</phrase></para>
46
47 <para id="ENA_BUILD_VER"><phrase>1</phrase></para>
48
49 <para id="Yocto_VER"><phrase>2.4</phrase></para>
50
51 <para id="Yocto_NAME"><phrase>rocko</phrase></para>
52
53 <para id="ULINK_YOCTO_PROJECT_DOWNLOAD"><ulink
54 url="http://www.yoctoproject.org/downloads">http://www.yoctoproject.org/downloads</ulink></para>
55
56 <para id="ULINK_ENEA_LINUX_URL"><ulink
57 url="https://linux.enea.com/6">https://linux.enea.com/6</ulink></para>
58
59 <bridgehead>A programlisting, ID "eltf-repo-cloning-enea-linux". Use
60 $MACHINE/default.xml as parameter, where MACHINE is one of the target
61 directory names in the manifest.</bridgehead>
62
63 <para id="eltf-repo-cloning-enea-linux"><programlisting>mkdir enea-linux
64cd enea-linux
65repo init -u git@git.enea.com:linux/manifests/el_manifests-virtualization.git \
66 -b refs/tags/EL6 -m $MACHINE/default.xml
67repo sync</programlisting></para>
68
69 <bridgehead>A table with ONE row, only the row with ID
70 "eltf-eclipse-version-row" is included in the book. MANUALLY in book, set
71 condition hidden if eclipse is not in the release. Do this both in
72 template.xml and updated.xml.</bridgehead>
73
74 <informaltable>
75 <tgroup cols="1">
76 <tbody>
77 <row condition="hidden" id="eltf-eclipse-version-row">
78 <entry>Eclipse version 4.3 (Mars) plus command line development
79 tools are included in this Enea Edge release.</entry>
80 </row>
81 </tbody>
82 </tgroup>
83 </informaltable>
84
85 <bridgehead>Below is one big section with title "Supported Processor with
86 Parameters". The entire section is included completely in the book via ID
87 "eltf-target-tables-section" and shall be LAST in the template. The
88 template contains ONE target subsection. COPY/APPEND it, if multiple
89 targets exist in the release and optionally add rows with additional
90 target parameters in each target subsection table.</bridgehead>
91 </section>
92
93 <section id="eltf-target-tables-section">
94 <title>Reference Processors with Parameters</title>
95
96 <para>The table(s) below describes the tested processors for this Enea
97 Edge release.</para>
98
99 <table>
100 <title>Processor Product Family Information - Intel Xeon D-1500</title>
101
102 <tgroup cols="2">
103 <colspec align="left" />
104
105 <thead>
106 <row>
107 <entry align="center">Component</entry>
108
109 <entry align="center">Description</entry>
110 </row>
111 </thead>
112
113 <tbody>
114 <row>
115 <entry>Processor official product family name</entry>
116
117 <entry>Intel Xeon D-1500 (Broadwell)</entry>
118 </row>
119
120 <row>
121 <entry>Architecture and Description</entry>
122
123 <entry>x86-64</entry>
124 </row>
125
126 <row>
127 <entry>Link to processor datasheet</entry>
128
129 <entry><ulink
130 url="https://www.intel.com/content/www/us/en/processors/xeon/xeon-d-1500-datasheet-vol-1.html">Intel's
131 datasheet</ulink></entry>
132 </row>
133
134 <row condition="hidden">
135 <entry>Supported Drivers</entry>
136
137 <entry>Ethernet, RTC, UART</entry>
138 </row>
139
140 <row>
141 <entry>Tested Whiteboxes</entry>
142
143 <entrytbl cols="1">
144 <tbody>
145 <row>
146 <entry>Supermicro X10SDV-4C-TLN2F (Intel Xeon
147 D-1521)</entry>
148 </row>
149
150 <row>
151 <entry>Kontron ME1100 (Intel Xeon D-1548).</entry>
152 </row>
153 </tbody>
154 </entrytbl>
155 </row>
156 </tbody>
157 </tgroup>
158 </table>
159
160 <table>
161 <title>Processor Product Family Information - Intel Atom C3000</title>
162
163 <tgroup cols="2">
164 <colspec align="left" />
165
166 <thead>
167 <row>
168 <entry align="center">Component</entry>
169
170 <entry align="center">Description</entry>
171 </row>
172 </thead>
173
174 <tbody>
175 <row>
176 <entry>Processor official product family name</entry>
177
178 <entry>Intel Atom C3000 (Denverton)</entry>
179 </row>
180
181 <row>
182 <entry>Architecture and Description</entry>
183
184 <entry>x86-64</entry>
185 </row>
186
187 <row>
188 <entry>Link to the processor datasheet</entry>
189
190 <entry><ulink
191 url="https://www.intel.com/content/www/us/en/products/docs/processors/atom/c-series/c3000-family-datasheet.html">Intel's
192 datasheet</ulink></entry>
193 </row>
194
195 <row condition="hidden">
196 <entry>Supported Drivers</entry>
197
198 <entry>Ethernet, RTC, UART</entry>
199 </row>
200
201 <row>
202 <entry>Tested Whiteboxes</entry>
203
204 <entrytbl cols="1">
205 <tbody>
206 <row>
207 <entry>Dell EMC Networking VEP1445 (Intel Atom
208 C3758)</entry>
209 </row>
210
211 <row>
212 <entry>Advantech FWA-1012VCR-4CA1S (Intel Atom
213 C3558)</entry>
214 </row>
215
216 <row>
217 <entry>Advantech FWA-1112VCL-2CA1S (Intel Atom
218 C3558-4C)</entry>
219 </row>
220
221 <row>
222 <entry>Supermicro A2SDi-TP8F (Intel Atom C3858)</entry>
223 </row>
224
225 <row>
226 <entry>Supermicro SuperServer 5019A-12TN4 (Intel Atom
227 C3850)</entry>
228 </row>
229
230 <row>
231 <entry>Silicom C3000 (Intel Atom 3558)</entry>
232 </row>
233 </tbody>
234 </entrytbl>
235 </row>
236 </tbody>
237 </tgroup>
238 </table>
239 </section>
240</section> \ No newline at end of file
diff --git a/doc/eltf_params_updated_template_how_to_use.txt b/doc/eltf_params_updated_template_how_to_use.txt
new file mode 100644
index 0000000..97b07aa
--- /dev/null
+++ b/doc/eltf_params_updated_template_how_to_use.txt
@@ -0,0 +1,320 @@
1eltf_params_template_updated_howto_use.txt
2
3This is a way to collect all parameters for an Enea Edge release
4in one parameter file, easy to automatically update by ELTF regularly.
5
6NOTE: Both the release info AND the open source books use parameters from
7 here, but the XML file is inside the release info book directory.
8
9NOTE: The manifest_conf.mk, or overridden by the environment variable
10 MANIFESTHASH, contains the full tag (or hashvalue) for downloading
11 the manifest when the books are built. The list of target
12 directories are fetched from the manifest into the book.
13 The eltf_params_updates.xml can all the time contain
14 the final next complete tag e.g. refs/tags/EL6 or similar
15 in the ELTF_PL_CLONE_W_REPO parameter command lines.
16
17The ordinary book XML files use xi:include statements to include elements
18from this parameter file. The book XML files can thus be manually edited.
19Before editing, you must run "make init".
20Any other text in the template or updated.xml file, outside the parts that
21are included in the book, are not used but still all must be correct
22DocBook XML files.
23
24ELTF work:
25 template => ELTF replaces ALL ELTF_xxx variables => updated XML file
26 => push to git only if changed
27
28
29eltf_params_template.xml (in git)
30 File used by ELTF to autocreate/update the real parameter
31 file eltf_params_updated.xml.
32
33eltf_params_updated.xml (in git)
34 Real parameter file where ELTF has replaced all ELTF_xx variables with
35 strings, in several cases with multiline strings.
36 No spaces or linefeed allowed in beginning or end of the variable values!
37
38
39xi:include: Each parameter is xi:include'ed in various book files, using
40 the IDs existing in the parameter files.
41 In most cases the 1:st element inside an element with an ID is included
42 using a format like eltf-prereq-apt-get-commands-host/1.
43 In very few cases the element with the ID is included in the book, one
44 example is the target section which has an ID, but which contains
45 multiple subsections, one per target.
46 All IDs in a book must be unique.
47
48DocBook XML: All XML files must be correct DocBook XML files.
49
50Do NOT edit/save the real *updated.xml file with XMLmind to avoid changes
51 not done by ELTF. But it is OK to open the real file in XMLmind to
52 check that the format is correct.
53
54ELTF should autocreate a temporary "real" file but only replace
55 and push the eltf_params_updated.xml if it is changed.
56
57
58make eltf
59 This lists all ELTF_xxx variables and some rules how to treat them
60
61DocBook Format: All elements - rules:
62 Several strict generic XML rules apply for all strings:
63 1. No TABs allowed or any other control chr than "linefeed"
64 2. Only 7-bit ASCII
65 3. Any < > & must be converted to &lt; &gt; and &amp;
66 Similar for any other non-7-bit-ASCII but avoid those!
67 4. No leading spaces or linefeeds when replacing the ELTF_* variable
68 5. No trailing spaces or linefeeds when replacing the ELTF_* variable
69 6. Note: Keep existing spaces before/efter ELTF_* in a few cases.
70
71DocBook Format: <programlisting> - rules: ELTF*PL* variables
72 Several strict rules apply for the multiline string in programlisting
73 in addition to the general XML rules above:
74 7. Max line length < 80 char
75 8. Use backslash (\) to break longer lines
76 9. Use spaces (e.g. 4) to indent continuation lines in programlistings
77 10. No trailing spaces on any line
78 11. No spaces or linefeed immediately after leading <programlisting>
79 12. No spaces or linefeed before trailing </programlisting>
80
81DocBook Format: <ulink> - rules: ELTF_*URL* variables
82 13. ELTF_*URL and corresponding ELTF_*TXTURL shall be identical strings
83 14. Only if the URL is extremely long, the TXTURL can be a separate string
84
85Each target has one section with target parameters:
86 <section id="eltf-target-table-ELTF_T_MANIFEST_DIR">
87 <title>MACHINE ELTF_T_MANIFEST_DIR - Information</title>
88 ..... with many ELTF_ variables ....
89 </section>
90
91 15. If there is only one target. ELTF just replaces ELTF parameters
92
93 16. It there are multiple targets. ELTF copies the section and appends the
94 section the required number of times.
95 Each section ID will become unique: eltf-target-table-ELTF_T_MANIFEST_DIR
96 Each section title will become unique
97
98Tables with target parameters in each target section:
99 17. It is possible for ELTF to append more rows with one parameter each
100 to these tables, because the entire tables are included in the book
101
102Special - NOT YET READY DEFINED how to handle the optionally included
103 Eclipse and its version, but this is a first suggestion:
104 18. Just now ELTF can define ELFT_ECLIPSE_VERSION as a full string
105 with both version number and name,
106 19. MANUALLY if Eclipse is NOT included in the release,
107 the release manager should manually set condition="hidden" on
108 the entire section in the book XML about Eclipse
109
110
111
112BELOW WE TRY TO EXPLAIN EACH ELTF_* variable, but always check with make eltf
113if there are more new variables, missing in this description file.
114
115_____________________________________________________________________________
116ELTF_PL_HOST_PREREQ Multiline list of host prerequisites, e.g. commands
117 like sudo apt-get install xxxx or similar.
118 First line = comment with the complete host name!
119 It is possible to include multiple hosts by just
120 adding an empty line, comment with host name, etc.
121 xi:include eltf-prereq-apt-get-commands-host/1
122 This is a <programlisting>...</programlisting>
123 Example:
124# Host Ubuntu 14.04.5 LTS 64bit
125sudo apt-get update
126sudo apt-get install sed wget subversion git-core coreutils unzip texi2html \
127 texinfo libsdl1.2-dev docbook-utils fop gawk python-pysqlite2 diffstat \
128 make gcc build-essential xsltproc g++ desktop-file-utils chrpath \
129 libgl1-mesa-dev libglu1-mesa-dev autoconf automake groff libtool xterm \
130 libxml-parser-perl
131
132_____________________________________________________________________________
133ELTF_PL_GET_REPO Multiline commands to download the repo tool
134 xi:include eltf-getting-repo-install-command/1
135 This is a <programlisting>...</programlisting>
136 Example:
137mkdir -p ~/bin
138curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
139chmod a+x ~/bin/repo
140export PATH=~/bin:$PATH
141
142_____________________________________________________________________________
143ELTF_EL_REL_VER General parameter string: The version of this Enea
144 NFV Access release. Major version and optional .Minor
145 Typically created from MAJOR and MINOR in enea.conf
146 MINOR in enea.conf is empty or contains a dot+minor
147 xi_include EneaEdge_REL_VER/1
148 This is a <phrase>X.x</phrase> used in many places.
149 Examples:
1506
151 or
1526.1
153
154_____________________________________________________________________________
155ELTF_YOCTO_VER General parameter string: Yocto version, created
156 from DISTRO in poky.ent
157 xi:include Yocto_VER/1
158 This is a <phrase>X.x</phrase> used in many places.
159 Example:
1602.1
161
162_____________________________________________________________________________
163ELTF_YOCTO_NAME General parameter string: Yocto name (branch), created
164 from DISTRO_NAME_NO_CAP in poky.ent
165 xi:include Yocto_NAME/1
166 This is a <phrase>X.x</phrase> used in many places.
167 Example:
168krogoth
169
170_____________________________________________________________________________
171ELTF_YOCTO_PROJ_DOWNLOAD_TXTURL General parameters. These two are IDENTICAL
172ELTF_YOCTO_PROJ_DOWNLOAD_URL strings with correct Yocto version string
173 at the end, typically without "dot".
174 xi:include ULINK_YOCTO_PROJECT_DOWNLOAD/1
175 This is an <ulink url="...">...</ulink>
176 Example:
177http://www.yoctoproject.org/downloads/core/krogoth/21
178
179_____________________________________________________________________________
180ELTF_EL_DOWNLOAD_TXTURL General parameters. These two are IDENTICAL strings
181ELTF_EL_DOWNLOAD_URL and shall be the http:/..... address where
182 Enea NFV Access can be downloaded
183 Often containing same version as in ELTF_EL_REL_VER
184 xi:include ULINK_ENEA_LINUX_URL/1
185 This is an <ulink url="...">...</ulink>
186 Example:
187http://linux.enea.com/6
188
189_____________________________________________________________________________
190ELTF_PL_CLONE_W_REPO Multiline commands to run repo to clone everything.
191 Use the variable $MACHINE/default.xml (the text in
192 the book will list the avaiable values of MACHINE,
193 taken from the manifest repository)
194 xi:include eltf-repo-cloning-enea-linux/1
195 This is a <programlisting>...</programlisting>
196 Example:
197mkdir enea-linux
198cd enea-linux
199repo init -u git@git.enea.com:linux/manifests/el_manifests-virtualization.git \
200 -b refs/tags/EL6 -m $MACHINE/default.xml
201repo sync
202
203_____________________________________________________________________________
204ELTF_ECLIPSE_VERSION Optional general parameter string.
205 NOT YET READY DEFINED
206 Just now a release manage must manually set
207 condition="hidden" on the Eclipse section,
208 if Eclipse is not included in the release.
209 ELTF just replaces ELTF_ECLIPSE_VERSION with a full
210 string with "X.Y (name)"
211 It includes the ID and can only be ONCE in the book.
212 xi:include eltf-eclipse-version-row
213 Example.
2144.5 (Mars)
215
216
217_____________________________________________________________________________
218ELTF_T_* All these are in each target (MACHINE) and ELTF
219 must separately replace them with strings for
220 each target
221 NOTE: All (except the MANIFEST_DIR) are in rows
222 in a table and ELTF can select to append
223 more parameters by adding more rows
224
225_____________________________________________________________________________
226ELTF_T_MANIFEST_DIR This happens to be in two places. Must be exactly
227ELTF_T_MANIFEST_DIR the directory name in the manifest, e.g. same
228 as the MACHINE names in $MACHINE/default.xml.
229 In book: a) Part of section ID
230 b) Part of section title
231 Examples:
232p2041rgb
233 or
234ls1021aiot
235 or
236qemuarm
237
238_____________________________________________________________________________
239ELTF_T_NAME Target specific: "Target Official Name"
240 NOT same as the target directory name in most cases.
241 In book: An <entry> element in a row
242 Examples:
243P2041RGB
244 or
245LS1021a-IoT
246 or
247qemuarm
248
249_____________________________________________________________________________
250ELTF_T_ARC_DESC Target specific: "Architecture and Description"
251 It can be a short identification string or
252 it can be a longer descriptive sentence.
253 In book: An <entry> element in a row
254 Examples:
255Power, e500mc
256 or
257ARM Cortex-A7
258
259_____________________________________________________________________________
260ELTF_T_DS_TXTURL Target specific: "Link to target datasheet. These
261ELTF_T_DS_URL two usually are IDENTICAL strings with correct
262 hyperlink to the target's official datasheet.
263 In book: an <ulink url="...">...</ulink>
264 Only if the link is VERY LONG, the text part shall
265 instead be a descriptive string (see 2:nd example).
266 NOTE: Also here no spaces or line-feeds!
267 Examples:
268url="http://wiki.qemu.org">http://wiki.qemu.org
269or
270url="http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/qoriq-arm-processors/qoriq-ls1021a-iot-gateway-reference-design:LS1021A-IoT">link to NXP's datasheet
271
272_____________________________________________________________________________
273ELTF_T_POKY_VER Target specific: "Poky version" created either
274 from POKYVERSION in poky.ent
275 or using a hashvalue with a leading string, in
276 which case it may be different per target.
277 In book: An <entry> in a row
278 Examples:
27915.0.0
280or
281Git commit id: 75ca53211488a3e268037a44ee2a7ac5c7181bd2
282
283_____________________________________________________________________________
284ELTF_T_GCC_VER Target specific: "GCC Version". Should be in poky
285 but not easy to find among various parameters.
286 ELTF would extract it from build logs building SDK
287 and it is possibly different per target.
288 In book: An <entry> in a row
289 Example:
2905.3
291
292_____________________________________________________________________________
293ELTF_T_KERN_VER Target specific: "Linux Kernel Version". Often
294 different per target.
295 In book: An <entry> in a row
296 Example:
2973.12
298
299_____________________________________________________________________________
300ELTF_T_DRIVERS Target specific: "Supported Drivers". This is a
301 comma-separated list of driver names.
302 ELTF should create the list in same order for each
303 target, e.g. alphabetic migth be OK.
304 In book: An <entry> in a row
305 Example:
306Ethernet, I2C, SPI, PCI, USB, SD/SDHC/SDXC
307
308
309_____________________________________________________________________________
310ELTF_T_EL_RPM_TXTURL Target specific: "Enea rpm folder for downloading
311ELTF_T_EL_RPM_URL RPM packages for this target". These two are
312 INDENTICAL strings with hyperlink to the web site
313 at Enea where the customer can download RPMs
314 Note: Often the ELFT_EL_REL_VER value and
315 the ELTF_T_MANIFEST_DIR are used in the link.
316 In book: an <ulink url="...">...</ulink>
317 Example:
318url="https://linux.enea.com/6/ls1021aiot/rpm">https://linux.enea.com/6/ls1021aiot/rpm
319
320_____________________________________________________________________________