diff options
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 | ||
33 | MACHINE_LIST_XML := book-enea-edge-release-info/doc/machine_list_generated.xml | 33 | MACHINE_LIST_XML := book-enea-edge-release-info/doc/machine_list_generated.xml |
34 | 34 | ||
35 | ELTF_PARAMS_TEMPLATE := s_doceneacommon/doc/eltf_params_template.xml | 35 | ELTF_PARAMS_TEMPLATE := eltf_params_template.xml |
36 | ELTF_PARAMS_UPDATED := s_doceneacommon/doc/eltf_params_updated.xml | 36 | ELTF_PARAMS_UPDATED := eltf_params_updated.xml |
37 | 37 | ||
38 | 38 | ||
39 | 39 | ||
@@ -184,7 +184,7 @@ endif | |||
184 | 184 | ||
185 | books: init | 185 | books: 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)> python generate_device_config.py | 426 | <programlisting>testHarness-venv)> python generate_device_config.py |
397 | Device name: test | 427 | Device name: test |
398 | Device ID: test_id | 428 | Device ID: test_id |
399 | Device groupings tags [ ]: test_id | 429 | Device 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)>python generate_device_config.py --device_name=test | 498 | <programlisting>testHarness-venv)>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)> python generate_nics_config_files.py | 523 | |
524 | <programlisting>(testHarness-venv)> python generate_nics_config_files.py | ||
492 | Device name: test | 525 | Device name: test |
493 | Check 'test' directory for JSON configuration files</programlisting> | 526 | Check '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><interface_name>_<interface_type>_nic.json</literal>. | 535 | <literal><interface_name>_<interface_type>_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)> python generate_nics_config_files.py --device_name=test | 601 | <programlisting>(testHarness-venv)> python generate_nics_config_files.py --device_name=test |
568 | Check 'test' directory for JSON configuration files</programlisting> | 602 | Check '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)> python generate_bridges_config_files.py | 618 | |
619 | <programlisting>(testHarness-venv)> python generate_bridges_config_files.py | ||
585 | Device name: test | 620 | Device name: test |
586 | Check 'test' directory for JSON configuration files</programlisting> | 621 | Check '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><bridge_type>_br.json</literal>. The following JSON | 628 | <literal><bridge_type>_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)> python generate_bridges_config_files.py --device-name=test | 715 | <programlisting>(testHarness-venv)> python generate_bridges_config_files.py --device-name=test |
680 | Check 'test' directory for JSON configuration files</programlisting> | 716 | Check '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><AF-installdir>/automation_framework</literal> directory.</para> | 745 | are located in the |
746 | <literal><Automation-installdir>/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 |
798 | Usage: uCPEDeviceHandler.py [OPTIONS] [PARAMETERS]... | 851 | Usage: uCPEDeviceHandler.py [OPTIONS] [PARAMETERS]... |
799 | 852 | ||
800 | Options: | 853 | Options: |
@@ -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/<module name></literal> directory, | 863 | <para>In the <literal>test_harness/<module name></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><command> ... </command></literal> tags from the | 867 | the <literal><command> ... </command></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 | |||
885 | modules/enea/config/uCPEDevices/<device_name>/<interface_name>_dpdk_nic.json </programlisting> | 938 | modules/enea/config/uCPEDevices/<device_name>/<interface_name>_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 |
890 | addDpdkExternalInterface -f modules/enea/config/uCPEDevices/vep1445-8/lan_dpdk_nic.json</programlisting> | 943 | addDpdkExternalInterface -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 <device_name> -m | 948 | <programlisting>python automation_framework/uCPEDeviceHandler.py -d <device_name> -m |
896 | addDpdkExternalInterface <interface_name> <dpdk_type></programlisting> | 949 | addDpdkExternalInterface <interface_name> <dpdk_type></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 |
901 | addDpdkExternalInterface eno4 vfio-pci</programlisting> | 954 | addDpdkExternalInterface 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 |
955 | Info about OfflineConfigHandler methods | 1009 | Info about OfflineConfigHandler methods |
956 | ... | 1010 | ... |
957 | Method: addOfflineConfigStore | 1011 | Method: 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 <store_name> -m | 1019 | <programlisting>python automation_framework/OfflineConfigHandler.py -s <store_name> -m |
966 | addOfflineConfigStore -f <path_to_store_configuration_file></programlisting> | 1020 | addOfflineConfigStore -f <path_to_store_configuration_file></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 |
971 | addOfflineConfigStore -f modules/enea/config/uCPEDevices/test/store.json</programlisting> | 1025 | addOfflineConfigStore -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 <store_name> -m | 1032 | <programlisting>python automation_framework/OfflineConfigHandler.py -s <store_name> -m |
979 | addOfflineConfigStore <version> <deviceId> <deviceGroupingTags></programlisting> | 1033 | addOfflineConfigStore <version> <deviceId> <deviceGroupingTags></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 |
984 | addOfflineConfigStore 2.4.0 deviceId customerTag</programlisting> | 1038 | addOfflineConfigStore 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 |
1006 | Info about CustomScriptHandler methods | 1061 | Info about CustomScriptHandler methods |
1007 | ... | 1062 | ... |
1008 | Method: uploadCustomScript | 1063 | Method: 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 |
1016 | uploadCustomScript <customScript> <phase></programlisting> | 1071 | uploadCustomScript <customScript> <phase></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 |
1041 | Info about DeviceUpgradeHandler methods | 1096 | Info about DeviceUpgradeHandler methods |
1042 | ... | 1097 | ... |
1043 | Method: uploadImage | 1098 | Method: 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 |
1051 | uploadImage <imagePath> <type></programlisting> | 1106 | uploadImage <imagePath> <type></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 <imagePath> <type></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 |
1079 | Info about VNFHandler methods | 1134 | Info about VNFHandler methods |
1080 | ... | 1135 | ... |
1081 | Method: getVNFDescriptorByName | 1136 | Method: getVNFDescriptorByName |
1082 | Parameters: vnfDescriptorName | 1137 | Parameters: 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 <vnfDescriptorName> [-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 <vnfDescriptorName> -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 |
1131 | Info about uCPEManagerHandler methods | 1168 | Info about ManagementHandler methods |
1132 | ... | 1169 | ... |
1133 | Method: getuCPEManagerVersion | 1170 | Method: getManagementVersion |
1134 | Parameters(not needed): -- | 1171 | Parameters(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><AF-installdir>/test_harness</literal> directory.</para> | 1261 | <literal><Automation-installdir>/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 | ||
1294 | This playbook runs 'addDataPlaneOvsBridge' method from uCPEDeviceHandler module | 1332 | This 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" |
1328 | ansible-playbook test_harness/uCPEDevice/addDataPlaneOvsBridge.yml -e | 1366 | ansible-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 <AF-installdir></programlisting></para> | 192 | <para><programlisting>cd <Automation-installdir></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_<version>-build<build_number>.zip</programlisting> | 198 | <programlisting>unzip Enea_Edge_Automation_<version>-build<build_number>.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 <AF-installdir>/testHarness-venv/bin/activate</programlisting> | 224 | |
225 | </listitem> | 225 | <programlisting>source <Automation-installdir>/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 <AF-installdir>/CHANGELOG</programlisting> | 230 | |
231 | </listitem> | 231 | <programlisting>vi <Automation-installdir>/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 <AF-installdir></programlisting></para> | 253 | <listitem> |
253 | </listitem> | 254 | <para><programlisting>cd <Automation-installdir></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_<version>-build<build_number>.zip</programlisting> | 264 | |
264 | </listitem> | 265 | <programlisting>unzip Enea_Edge_Automation_<version>-build<build_number>.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 | <row>, 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 | ||
26 | sudo apt-get -y update | ||
27 | sudo 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 | ||
37 | curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo | ||
38 | chmod a+x ~/bin/repo | ||
39 | export 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 | ||
64 | cd enea-linux | ||
65 | repo init -u git@git.enea.com:linux/manifests/el_manifests-virtualization.git \ | ||
66 | -b refs/tags/EL6 -m $MACHINE/default.xml | ||
67 | repo 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 @@ | |||
1 | eltf_params_template_updated_howto_use.txt | ||
2 | |||
3 | This is a way to collect all parameters for an Enea Edge release | ||
4 | in one parameter file, easy to automatically update by ELTF regularly. | ||
5 | |||
6 | NOTE: 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 | |||
9 | NOTE: 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 | |||
17 | The ordinary book XML files use xi:include statements to include elements | ||
18 | from this parameter file. The book XML files can thus be manually edited. | ||
19 | Before editing, you must run "make init". | ||
20 | Any other text in the template or updated.xml file, outside the parts that | ||
21 | are included in the book, are not used but still all must be correct | ||
22 | DocBook XML files. | ||
23 | |||
24 | ELTF work: | ||
25 | template => ELTF replaces ALL ELTF_xxx variables => updated XML file | ||
26 | => push to git only if changed | ||
27 | |||
28 | |||
29 | eltf_params_template.xml (in git) | ||
30 | File used by ELTF to autocreate/update the real parameter | ||
31 | file eltf_params_updated.xml. | ||
32 | |||
33 | eltf_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 | |||
39 | xi: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 | |||
48 | DocBook XML: All XML files must be correct DocBook XML files. | ||
49 | |||
50 | Do 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 | |||
54 | ELTF should autocreate a temporary "real" file but only replace | ||
55 | and push the eltf_params_updated.xml if it is changed. | ||
56 | |||
57 | |||
58 | make eltf | ||
59 | This lists all ELTF_xxx variables and some rules how to treat them | ||
60 | |||
61 | DocBook 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 < > and & | ||
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 | |||
71 | DocBook 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 | |||
81 | DocBook 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 | |||
85 | Each 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 | |||
98 | Tables 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 | |||
102 | Special - 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 | |||
112 | BELOW WE TRY TO EXPLAIN EACH ELTF_* variable, but always check with make eltf | ||
113 | if there are more new variables, missing in this description file. | ||
114 | |||
115 | _____________________________________________________________________________ | ||
116 | ELTF_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 | ||
125 | sudo apt-get update | ||
126 | sudo 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 | _____________________________________________________________________________ | ||
133 | ELTF_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: | ||
137 | mkdir -p ~/bin | ||
138 | curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo | ||
139 | chmod a+x ~/bin/repo | ||
140 | export PATH=~/bin:$PATH | ||
141 | |||
142 | _____________________________________________________________________________ | ||
143 | ELTF_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: | ||
150 | 6 | ||
151 | or | ||
152 | 6.1 | ||
153 | |||
154 | _____________________________________________________________________________ | ||
155 | ELTF_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: | ||
160 | 2.1 | ||
161 | |||
162 | _____________________________________________________________________________ | ||
163 | ELTF_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: | ||
168 | krogoth | ||
169 | |||
170 | _____________________________________________________________________________ | ||
171 | ELTF_YOCTO_PROJ_DOWNLOAD_TXTURL General parameters. These two are IDENTICAL | ||
172 | ELTF_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: | ||
177 | http://www.yoctoproject.org/downloads/core/krogoth/21 | ||
178 | |||
179 | _____________________________________________________________________________ | ||
180 | ELTF_EL_DOWNLOAD_TXTURL General parameters. These two are IDENTICAL strings | ||
181 | ELTF_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: | ||
187 | http://linux.enea.com/6 | ||
188 | |||
189 | _____________________________________________________________________________ | ||
190 | ELTF_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: | ||
197 | mkdir enea-linux | ||
198 | cd enea-linux | ||
199 | repo init -u git@git.enea.com:linux/manifests/el_manifests-virtualization.git \ | ||
200 | -b refs/tags/EL6 -m $MACHINE/default.xml | ||
201 | repo sync | ||
202 | |||
203 | _____________________________________________________________________________ | ||
204 | ELTF_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. | ||
214 | 4.5 (Mars) | ||
215 | |||
216 | |||
217 | _____________________________________________________________________________ | ||
218 | ELTF_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 | _____________________________________________________________________________ | ||
226 | ELTF_T_MANIFEST_DIR This happens to be in two places. Must be exactly | ||
227 | ELTF_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: | ||
232 | p2041rgb | ||
233 | or | ||
234 | ls1021aiot | ||
235 | or | ||
236 | qemuarm | ||
237 | |||
238 | _____________________________________________________________________________ | ||
239 | ELTF_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: | ||
243 | P2041RGB | ||
244 | or | ||
245 | LS1021a-IoT | ||
246 | or | ||
247 | qemuarm | ||
248 | |||
249 | _____________________________________________________________________________ | ||
250 | ELTF_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: | ||
255 | Power, e500mc | ||
256 | or | ||
257 | ARM Cortex-A7 | ||
258 | |||
259 | _____________________________________________________________________________ | ||
260 | ELTF_T_DS_TXTURL Target specific: "Link to target datasheet. These | ||
261 | ELTF_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: | ||
268 | url="http://wiki.qemu.org">http://wiki.qemu.org | ||
269 | or | ||
270 | url="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 | _____________________________________________________________________________ | ||
273 | ELTF_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: | ||
279 | 15.0.0 | ||
280 | or | ||
281 | Git commit id: 75ca53211488a3e268037a44ee2a7ac5c7181bd2 | ||
282 | |||
283 | _____________________________________________________________________________ | ||
284 | ELTF_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: | ||
290 | 5.3 | ||
291 | |||
292 | _____________________________________________________________________________ | ||
293 | ELTF_T_KERN_VER Target specific: "Linux Kernel Version". Often | ||
294 | different per target. | ||
295 | In book: An <entry> in a row | ||
296 | Example: | ||
297 | 3.12 | ||
298 | |||
299 | _____________________________________________________________________________ | ||
300 | ELTF_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: | ||
306 | Ethernet, I2C, SPI, PCI, USB, SD/SDHC/SDXC | ||
307 | |||
308 | |||
309 | _____________________________________________________________________________ | ||
310 | ELTF_T_EL_RPM_TXTURL Target specific: "Enea rpm folder for downloading | ||
311 | ELTF_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: | ||
318 | url="https://linux.enea.com/6/ls1021aiot/rpm">https://linux.enea.com/6/ls1021aiot/rpm | ||
319 | |||
320 | _____________________________________________________________________________ | ||