diff options
author | mrpa <miruna.paun@enea.com> | 2020-11-18 15:28:24 +0100 |
---|---|---|
committer | mrpa <miruna.paun@enea.com> | 2020-11-18 15:29:51 +0100 |
commit | d78fae86a57e8847e1c52e12aaf7468ff0227815 (patch) | |
tree | 03f436fec9ab325568f50d9570828c865e01a374 | |
parent | e220d50138c2b7539a646225cdc375f858f75f9f (diff) | |
download | nfv-access-documentation-d78fae86a57e8847e1c52e12aaf7468ff0227815.tar.gz |
Refactoring of Getting started merging to Develop
from branch feature_AP-581.
Change-Id: I67474ec6badaa279e8c56fca9bb50aec98de8e5f
Signed-off-by: mrpa <miruna.paun@enea.com>
21 files changed, 3807 insertions, 3259 deletions
diff --git a/doc/book-enea-nfv-access-getting-started/doc/advanced_configurations.xml b/doc/book-enea-nfv-access-getting-started/doc/advanced_configurations.xml index 9c60ebb..bd51b21 100644 --- a/doc/book-enea-nfv-access-getting-started/doc/advanced_configurations.xml +++ b/doc/book-enea-nfv-access-getting-started/doc/advanced_configurations.xml | |||
@@ -4,152 +4,175 @@ | |||
4 | <chapter id="advanced_conf"> | 4 | <chapter id="advanced_conf"> |
5 | <title>Advanced Configurations</title> | 5 | <title>Advanced Configurations</title> |
6 | 6 | ||
7 | <para>This chapter describes possible configurations for select advanced | 7 | <para>This chapter describes possible configurations for advanced features |
8 | features such as the Hugepage Reservation Service, UEFI Secure Boot and Bare | 8 | such as the Hugepage Reservation Service, UEFI Secure Boot and Bare Metal |
9 | Metal Provisioning. These features are optional in the Enea NFV Access | 9 | Provisioning. These features are optional in the Enea NFV Access platform. |
10 | platform. If you do not intend to use these features, skip this | 10 | If you do not intend to use these features, skip this chapter.</para> |
11 | chapter.</para> | ||
12 | 11 | ||
13 | <section id="hugepage_reservation"> | 12 | <section id="bare_meta_prov"> |
14 | <title>Hugepage Reservation Service</title> | 13 | <title>Bare Metal Provisioning</title> |
15 | |||
16 | <para>NFV Access implements an automatic hugepage allocation service that | ||
17 | is triggered at each startup. The service is skipped if hugepages have | ||
18 | been allocated in the kernel boot command line.</para> | ||
19 | |||
20 | <para>There are two strategies outlined for hugepage allocation:</para> | ||
21 | 14 | ||
22 | <itemizedlist> | 15 | <para>Bare Metal Provisioning can be used for automated deployment of the |
23 | <listitem> | 16 | Enea NFV Access Run Time Platform on a large number of uCPE devices. The |
24 | <para>If a system has an amount of memory up to 8GB, the allocation | 17 | uCPE devices may have no previous operating system installed, or are |
25 | algorithm will reserve up to 30% (no more than 2GB), for the OS and | 18 | reinstalled without preserving any existing data. Enea NFV Access Bare |
26 | the rest as 2MB hugepages.</para> | 19 | Metal Provisioning is based on standardized Pre-Boot Execution environment |
27 | </listitem> | 20 | (PXE) booting.</para> |
28 | 21 | ||
29 | <listitem> | 22 | <para>The Bare Metal Provisioning process begins by PXE booting an Enea |
30 | <para>If a system has an amount of memory that's higher than 8GB, the | 23 | NFV Access installer <literal>initramfs</literal> image. The installer |
31 | allocation algorithm will reserve all but 2GB of memory as 1GB | 24 | downloads a configuration file, as well as the Enea NFV Access Run Time |
32 | hugepages, leaving the rest (2GB) to be used by the OS.</para> | 25 | Platform image and then proceeds to install the system by dividing the |
33 | </listitem> | 26 | disk into 2 partitions: a GPT partition containing the GRUB boot loader |
34 | </itemizedlist> | 27 | and a second partition containing the Enea NFV Access Run Time Platform |
28 | root filesystem. When the installation is complete, the uCPE device is | ||
29 | automatically rebooted into Enea NFV Access Run Time Platform.</para> | ||
35 | 30 | ||
36 | <note> | 31 | <note> |
37 | <para>This is a best effort reservation after kernel boot, so the | 32 | <para>The <literal>.hddimg</literal>, <literal>initramfs</literal>, and |
38 | results may vary accordingly.</para> | 33 | <literal>bzImage</literal> files are available in the |
34 | <filename>Enea_NFV_Access_Run_Time_Platform_ | ||
35 | <processor>_<version>-<build_number>.tar.gz</filename> | ||
36 | file you downloaded with your release.</para> | ||
39 | </note> | 37 | </note> |
40 | 38 | ||
41 | <section id="hugepage_customizing_auto"> | 39 | <section id="bare_meta_prov_prereq"> |
42 | <title>Customizing Automatic Hugepage Reservation</title> | 40 | <title>Prerequisites</title> |
43 | |||
44 | <para>Configuration of Hugepage reservation is done in | ||
45 | <literal>/etc/enea-nfv-access/hugepages.cfg</literal>.</para> | ||
46 | |||
47 | <para><emphasis role="bold">Parameters used by the automatic algorithm: | ||
48 | </emphasis></para> | ||
49 | 41 | ||
50 | <itemizedlist spacing="compact"> | 42 | <itemizedlist> |
51 | <listitem> | 43 | <listitem> |
52 | <para><literal>hugepage_setup</literal>: Enables the automatic | 44 | <para>The uCPE devices to be installed are connected in a working |
53 | configuraiton algorithm. It has only one value, | 45 | PXE network boot environment. The PXE server can be set up using any |
54 | <literal>auto</literal>. For manual configuration comment or remove | 46 | Linux distribution that includes TFTP and DHCP software packages. |
55 | this parameter. Use the other parameter descriptions as a | 47 | Refer to the documentation for your distribution for setup |
56 | template/example.</para> | 48 | instructions.</para> |
57 | </listitem> | 49 | </listitem> |
58 | 50 | ||
59 | <listitem> | 51 | <listitem> |
60 | <para><literal>threshold_to_use_1g</literal>: Decides the threshold | 52 | <para>An HTTP server must be available and accessible from the uCPE |
61 | which instructs the algorithm to use 1GB hugepages. If a system's | 53 | devices in the provisioning network. Note that the installer will |
62 | memory is higher than <literal>threshold_to_use_1g</literal>, then | 54 | use the same interface that the uCPE device is PXE-booted from, to |
63 | the algorithm will use 1GB hugepages, otherwise it will use 2MB | 55 | obtain an IP address using DHCP and access the HTTP server.</para> |
64 | hugepages.</para> | ||
65 | </listitem> | 56 | </listitem> |
66 | 57 | ||
67 | <listitem> | 58 | <listitem> |
68 | <para><literal>percent_os_alloc</literal>: Decides how much memory | 59 | <para>The uCPE devices are preconfigured in BIOS to boot from the |
69 | to try to reserve for userspace applications. The algorithm will try | 60 | hard drive where the Enea NFV Access Run Time Platform will be |
70 | to reserve at least the value of <literal>percent_os_alloc</literal> | 61 | installed.</para> |
71 | of the total system memory for userspace applications.</para> | ||
72 | </listitem> | 62 | </listitem> |
73 | 63 | ||
74 | <listitem> | 64 | <listitem> |
75 | <para><literal>maximum_os_alloc_mb</literal>: Maximum amount of | 65 | <para>A remote management tool is available that can be used to set |
76 | memory to allocate for userspace applications. If | 66 | the next boot option to PXE and reboot the uCPE devices in order to |
77 | <literal>percent_os_alloc</literal> of the total system memory | 67 | begin the installation.</para> |
78 | exceeds <literal>maximum_os_alloc_mb</literal> then the maximum | ||
79 | allocated memory for userspace applications is | ||
80 | <literal>maximum_os_alloc_mb</literal>.</para> | ||
81 | </listitem> | 68 | </listitem> |
82 | </itemizedlist> | 69 | </itemizedlist> |
70 | </section> | ||
83 | 71 | ||
84 | <para><emphasis role="bold">Example of automatic Hugepage | 72 | <section id="bare_meta_prov_server"> |
85 | Configuration:</emphasis></para> | 73 | <title>Server Configuration</title> |
86 | |||
87 | <programlisting> hugepage_setup = auto | ||
88 | threshold_to_use_1g = 8192 | ||
89 | percent_os_alloc = 30 | ||
90 | maximum_os_alloc_mb = 2048</programlisting> | ||
91 | 74 | ||
92 | <para>The following possible allocations can result (based on total | 75 | <para>The following images provided with your Enea NFV Access release |
93 | system memory available):</para> | 76 | need to be made available on the PXE and HTTP servers:</para> |
94 | 77 | ||
95 | <itemizedlist> | 78 | <orderedlist> |
96 | <listitem> | 79 | <listitem> |
97 | <para>2GB of memory: approximately 30% will be allocated for the OS | 80 | <para>Copy the Enea NFV Access installer |
98 | and the rest will be allocated as 2MB hugepages.</para> | 81 | <literal>initramfs</literal> image and kernel |
82 | <literal>bzImage</literal> for your uCPE device architecture to the | ||
83 | TFTP directory on the PXE server (e.g | ||
84 | <literal>/var/lib/tftpboot</literal>).</para> | ||
99 | </listitem> | 85 | </listitem> |
100 | 86 | ||
101 | <listitem> | 87 | <listitem> |
102 | <para>4GB of memory: approximately 30% will be allocated for the OS | 88 | <para>Compress the Enea NFV Access Run Time Platform |
103 | and the rest will be allocated as 2MB hugepages.</para> | 89 | <literal>.hddimg</literal> image for the uCPE device architecture |
90 | using <literal>gzip</literal> and copy the resulting | ||
91 | <literal>hddimg.gz</literal> file to the HTTP server.</para> | ||
104 | </listitem> | 92 | </listitem> |
93 | </orderedlist> | ||
105 | 94 | ||
106 | <listitem> | 95 | <section id="bare_meta_prov_install_config"> |
107 | <para>16GB of memory: approximately 2GB will be allocated for the OS | 96 | <title>Installation Configuration File</title> |
108 | and the rest as 1GB hugepages.</para> | ||
109 | </listitem> | ||
110 | </itemizedlist> | ||
111 | 97 | ||
112 | <note> | 98 | <para>An installation configuration file needs to be prepared on the |
113 | <para>The memory allocated for the kernel and hugepages might vary | 99 | HTTP server. The format of the configuration file is a list of |
114 | slightly depending on how much memory is available.</para> | 100 | "<literal>name = value</literal>" pairs and the available parameters |
115 | </note> | 101 | are described below.</para> |
116 | </section> | ||
117 | 102 | ||
118 | <section id="hugepage_customizing_man"> | 103 | <para>Mandatory parameter(s):</para> |
119 | <title>Customizing Manual Hugepage Reservation</title> | ||
120 | 104 | ||
121 | <para>The automatic algorithm can be disabled and hugepages in turn, | 105 | <itemizedlist> |
122 | configured manually. To do this, comment the line which defines | 106 | <listitem> |
123 | <literal>hugepage_setup</literal> as <literal>auto</literal> and | 107 | <para><literal>image_url</literal>. The HTTP server URL used for |
124 | configure memory for each CPU socket in the following manner:</para> | 108 | downloading the Enea NFV Access Run Time Platform image.</para> |
109 | </listitem> | ||
110 | </itemizedlist> | ||
125 | 111 | ||
126 | <programlisting><NUMA node>.<hugepage size> = <number of pages></programlisting> | 112 | <para>Optional parameters:</para> |
127 | 113 | ||
128 | <para>Where <literal><NUMA node></literal> refers to a node which | 114 | <itemizedlist> |
129 | is part of the system's NUMA topology, <literal><hugepage | 115 | <listitem> |
130 | size></literal> decides what type of hugepages should be set and | 116 | <para><literal>install_drive</literal>. The name of the drive |
131 | <literal><number of hugepages></literal> is how many hugepages of | 117 | where the Enea NFV Access Run Time Platform will be installed (e.g |
132 | <literal><hugepage size></literal> should be allocated.</para> | 118 | <literal>/dev/sda</literal>). If not set, the installer will use |
119 | the largest detected (non-USB) drive on the uCPE device.</para> | ||
120 | </listitem> | ||
133 | 121 | ||
134 | <para>To list the available system nodes, run:</para> | 122 | <listitem> |
123 | <para><literal>prompt_user</literal>. If the parameter is set to | ||
124 | "yes", the installer will ask for confirmation before formatting | ||
125 | and partitioning the drive. The default behaviour is to proceed | ||
126 | automatically without any user interaction.</para> | ||
127 | </listitem> | ||
128 | </itemizedlist> | ||
135 | 129 | ||
136 | <programlisting>ls -d /sys/devices/system/node/node* </programlisting> | 130 | <para>Installation Configuration File Example:</para> |
137 | 131 | ||
138 | <para>To list available hugepage sizes, per node, run:</para> | 132 | <programlisting>image_url = http://192.168.1.100/enea-nfv-access-xeon-d.hddimg.gz |
133 | install_drive = /dev/sda</programlisting> | ||
139 | 134 | ||
140 | <programlisting>ls -d /sys/devices/system/node/node*/hugepages/hugepages-*</programlisting> | 135 | <note> |
136 | <para>The installation configuration file needs to use the Linux | ||
137 | end-of-line format (\n), not the Windows format (\r\n).</para> | ||
138 | </note> | ||
139 | </section> | ||
141 | 140 | ||
142 | <para>Example of Manual Hugepage Configuration, configuring the system | 141 | <section id="bare_meta_prov_pxe"> |
143 | to allocate three 1GB hugepages and 512 of 2MB hugepages on node:</para> | 142 | <title>PXE Configuration</title> |
144 | 143 | ||
145 | <programlisting>node0.2048kB = 512 | 144 | <para>A PXE entry for the Enea NFV Access installation needs to be |
146 | node0.1048576kB = 3 </programlisting> | 145 | added as the default boot selection in the pxelinux configuration file |
146 | (e.g <literal>/var/lib/tftpboot/pxelinux.cfg/default</literal>). The | ||
147 | PXE entry should have the following settings:</para> | ||
147 | 148 | ||
148 | <note> | 149 | <programlisting>default nfv_access |
149 | <para>Make sure there are no hugepages reserved in the kernel boot | 150 | label nfv_access |
150 | command line, these will override any manual configuration done in the | 151 | menu label ^NFV_ACCESS_INSTALLER |
151 | service.</para> | 152 | kernel <Path to kernel> |
152 | </note> | 153 | append root=/dev/ram0 initrd=<Path to initramfs> LABEL=pxe-installer \ |
154 | INSTALL_CFG=http://<Server IP>/<Path to install config file> \ | ||
155 | console=ttyS0,115200 earlyprintk=ttyS0,115200 | ||
156 | ipappend 2</programlisting> | ||
157 | </section> | ||
158 | </section> | ||
159 | |||
160 | <section id="bare_meta_prov_inst"> | ||
161 | <title>Starting the Installation</title> | ||
162 | |||
163 | <para>To initiate the installation, set the boot device (for next boot | ||
164 | only) to PXE and reboot the uCPE devices. How to do this depends on the | ||
165 | remote management capabilities of the uCPE devices and may require | ||
166 | vendor-specific tools.</para> | ||
167 | |||
168 | <para>Example initiation using <literal>ipmitool</literal>:</para> | ||
169 | |||
170 | <programlisting>ipmitool -U <user> -P <password> -H <uCPE device IPMI IP address> chassis bootdev pxe | ||
171 | ipmitool -U <user> -P <password> -H <uCPE device IPMI IP address> power reset </programlisting> | ||
172 | |||
173 | <para>The uCPE devices should be configured in BIOS to boot from the | ||
174 | installation drive first in order to automatically start the Enea NFV | ||
175 | Access Run Time Platform when the installation is finished.</para> | ||
153 | </section> | 176 | </section> |
154 | </section> | 177 | </section> |
155 | 178 | ||
@@ -223,6 +246,11 @@ node0.1048576kB = 3 </programlisting> | |||
223 | <para>These certificates need to be manually enrolled in BIOS. The | 246 | <para>These certificates need to be manually enrolled in BIOS. The |
224 | exact details on how to proceed may vary depending the version of the | 247 | exact details on how to proceed may vary depending the version of the |
225 | UEFI firmware.</para> | 248 | UEFI firmware.</para> |
249 | |||
250 | <para>The UEFI firmware is normally shipped with factory preloaded | ||
251 | certificates. If these do not already include Certificates from Enea, | ||
252 | they will need to be appended or replaced with the Enea | ||
253 | Certificates.</para> | ||
226 | </section> | 254 | </section> |
227 | 255 | ||
228 | <section id="enable_secure_boot"> | 256 | <section id="enable_secure_boot"> |
@@ -234,173 +262,146 @@ node0.1048576kB = 3 </programlisting> | |||
234 | </section> | 262 | </section> |
235 | </section> | 263 | </section> |
236 | 264 | ||
237 | <section id="bare_meta_prov"> | 265 | <section id="hugepage_reservation"> |
238 | <title>Bare Metal Provisioning</title> | 266 | <title>Hugepage Reservation Service</title> |
239 | 267 | ||
240 | <para>Bare Metal Provisioning can be used for automated deployment of the | 268 | <para>NFV Access implements an automatic hugepage allocation service that |
241 | Enea NFV Access Run Time Platform on a large number of uCPE devices. The | 269 | is triggered at each startup. The service is skipped if hugepages have |
242 | uCPE devices may have no previous operating system installed, or are | 270 | been allocated in the kernel boot command line.</para> |
243 | reinstalled without preserving any existing data. Enea NFV Access Bare | ||
244 | Metal Provisioning is based on standardized Pre-Boot Execution environment | ||
245 | (PXE) booting.</para> | ||
246 | 271 | ||
247 | <para>The Bare Metal Provisioning process begins by PXE booting an Enea | 272 | <para>There are two strategies outlined for hugepage allocation:</para> |
248 | NFV Access installer <literal>initramfs</literal> image. The installer | 273 | |
249 | downloads a configuration file, as well as the Enea NFV Access Run Time | 274 | <itemizedlist> |
250 | Platform image and then proceeds to install the system by dividing the | 275 | <listitem> |
251 | disk into 2 partitions. A GPT partition containing the GRUB boot loader | 276 | <para>If a system has an amount of memory up to 8GB, the allocation |
252 | and a second partition containing the Enea NFV Access Run Time Platform | 277 | algorithm will reserve up to 30% (no more than 2GB), for the OS and |
253 | root filesystem. When the installation is complete, the uCPE device is | 278 | the rest as 2MB hugepages.</para> |
254 | automatically rebooted into Enea NFV Access Run Time Platform.</para> | 279 | </listitem> |
280 | |||
281 | <listitem> | ||
282 | <para>If a system has an amount of memory that's higher than 8GB, the | ||
283 | allocation algorithm will reserve all but 2GB of memory as 1GB | ||
284 | hugepages, leaving the rest (2GB) to be used by the OS.</para> | ||
285 | </listitem> | ||
286 | </itemizedlist> | ||
255 | 287 | ||
256 | <note> | 288 | <note> |
257 | <para>The <literal>.hddimg</literal>, <literal>initramfs</literal>, and | 289 | <para>This is a best effort reservation after kernel boot, so the |
258 | <literal>bzImage</literal> files are available in the | 290 | results may vary accordingly.</para> |
259 | Enea_NFV_Access_Run_Time_Platform_ | ||
260 | <processor>_<version>-<build_number>.tar.gz file you | ||
261 | downloaded with your release.</para> | ||
262 | </note> | 291 | </note> |
263 | 292 | ||
264 | <section id="bare_meta_prov_prereq"> | 293 | <section id="hugepage_customizing_auto"> |
265 | <title>Prerequisites</title> | 294 | <title>Customizing Automatic Hugepage Reservation</title> |
266 | 295 | ||
267 | <itemizedlist> | 296 | <para>Configuration of Hugepage reservation is done in |
297 | <literal>/etc/enea-nfv-access/hugepages.cfg</literal>.</para> | ||
298 | |||
299 | <para><emphasis role="bold">Parameters used by the automatic algorithm: | ||
300 | </emphasis></para> | ||
301 | |||
302 | <itemizedlist spacing="compact"> | ||
268 | <listitem> | 303 | <listitem> |
269 | <para>The uCPE devices to be installed are connected in a working | 304 | <para><literal>hugepage_setup</literal>: Enables the automatic |
270 | PXE network boot environment. The PXE server can be set up using any | 305 | configuraiton algorithm. It has only one value, |
271 | Linux distribution that includes TFTP and DHCP software packages. | 306 | <literal>auto</literal>. For manual configuration comment or remove |
272 | Refer to the documentation for your distribution for setup | 307 | this parameter. Use the other parameter descriptions as a |
273 | instructions.</para> | 308 | template/example.</para> |
274 | </listitem> | 309 | </listitem> |
275 | 310 | ||
276 | <listitem> | 311 | <listitem> |
277 | <para>An HTTP server must be available and accessible from the uCPE | 312 | <para><literal>threshold_to_use_1g</literal>: Decides the threshold |
278 | devices in the provisioning network. Note that the installer will | 313 | which instructs the algorithm to use 1GB hugepages. If a system's |
279 | use the same interface that the uCPE device is PXE-booted from, to | 314 | memory is higher than <literal>threshold_to_use_1g</literal>, then |
280 | obtain an IP address using DHCP and access the HTTP server.</para> | 315 | the algorithm will use 1GB hugepages, otherwise it will use 2MB |
316 | hugepages.</para> | ||
281 | </listitem> | 317 | </listitem> |
282 | 318 | ||
283 | <listitem> | 319 | <listitem> |
284 | <para>The uCPE devices are preconfigured in BIOS to boot from the | 320 | <para><literal>percent_os_alloc</literal>: Decides how much memory |
285 | hard drive where the Enea NFV Access Run Time Platform will be | 321 | to try to reserve for userspace applications. The algorithm will try |
286 | installed.</para> | 322 | to reserve at least the value of <literal>percent_os_alloc</literal> |
323 | of the total system memory for userspace applications.</para> | ||
287 | </listitem> | 324 | </listitem> |
288 | 325 | ||
289 | <listitem> | 326 | <listitem> |
290 | <para>A remote management tool is available that can be used to set | 327 | <para><literal>maximum_os_alloc_mb</literal>: Maximum amount of |
291 | the next boot option to PXE and reboot the uCPE devices in order to | 328 | memory to allocate for userspace applications. If |
292 | begin the installation.</para> | 329 | <literal>percent_os_alloc</literal> of the total system memory |
330 | exceeds <literal>maximum_os_alloc_mb</literal> then the maximum | ||
331 | allocated memory for userspace applications is | ||
332 | <literal>maximum_os_alloc_mb</literal>.</para> | ||
293 | </listitem> | 333 | </listitem> |
294 | </itemizedlist> | 334 | </itemizedlist> |
295 | </section> | ||
296 | 335 | ||
297 | <section id="bare_meta_prov_server"> | 336 | <para><emphasis role="bold">Example of automatic Hugepage |
298 | <title>Server Configuration</title> | 337 | Configuration:</emphasis></para> |
299 | 338 | ||
300 | <para>The following images provided with your Enea NFV Access release | 339 | <programlisting>hugepage_setup = auto |
301 | need to be made available on the PXE and HTTP servers:</para> | 340 | threshold_to_use_1g = 8192 |
341 | percent_os_alloc = 30 | ||
342 | maximum_os_alloc_mb = 2048</programlisting> | ||
302 | 343 | ||
303 | <orderedlist> | 344 | <para>The following possible allocations can result (based on total |
345 | system memory available):</para> | ||
346 | |||
347 | <itemizedlist> | ||
304 | <listitem> | 348 | <listitem> |
305 | <para>Copy the Enea NFV Access installer | 349 | <para>2GB of memory: approximately 30% will be allocated for the OS |
306 | <literal>initramfs</literal> image and kernel | 350 | and the rest will be allocated as 2MB hugepages.</para> |
307 | <literal>bzImage</literal> for your uCPE device architecture to the | ||
308 | TFTP directory on the PXE server (e.g | ||
309 | <literal>/var/lib/tftpboot</literal>).</para> | ||
310 | </listitem> | 351 | </listitem> |
311 | 352 | ||
312 | <listitem> | 353 | <listitem> |
313 | <para>Compress the Enea NFV Access Run Time Platform | 354 | <para>4GB of memory: approximately 30% will be allocated for the OS |
314 | <literal>.hddimg</literal> image for the uCPE device architecture | 355 | and the rest will be allocated as 2MB hugepages.</para> |
315 | using <literal>gzip</literal> and copy the resulting | ||
316 | <literal>hddimg.gz</literal> file to the HTTP server.</para> | ||
317 | </listitem> | 356 | </listitem> |
318 | </orderedlist> | ||
319 | |||
320 | <section id="bare_meta_prov_install_config"> | ||
321 | <title>Installation Configuration File</title> | ||
322 | |||
323 | <para>An installation configuration file needs to be prepared on the | ||
324 | HTTP server. The format of the configuration file is a list of | ||
325 | "<literal>name = value</literal>" pairs and the available parameters | ||
326 | are described below.</para> | ||
327 | 357 | ||
328 | <para>Mandatory parameters:</para> | 358 | <listitem> |
329 | 359 | <para>16GB of memory: approximately 2GB will be allocated for the OS | |
330 | <itemizedlist> | 360 | and the rest as 1GB hugepages.</para> |
331 | <listitem> | 361 | </listitem> |
332 | <para><literal>image_url</literal>. The HTTP server URL used for | 362 | </itemizedlist> |
333 | downloading the Enea NFV Access Run Time Platform image. This | ||
334 | image will be installed on the uCPE device(s) in the | ||
335 | <literal>hddimg.gz</literal> format.</para> | ||
336 | </listitem> | ||
337 | </itemizedlist> | ||
338 | |||
339 | <para>Optional parameters:</para> | ||
340 | |||
341 | <itemizedlist> | ||
342 | <listitem> | ||
343 | <para><literal>install_drive</literal>. The name of the drive | ||
344 | where the Enea NFV Access Run Time Platform will be installed (e.g | ||
345 | <literal>/dev/sda</literal>). If not set, the installer will use | ||
346 | the largest detected (non-USB) drive on the uCPE device.</para> | ||
347 | </listitem> | ||
348 | 363 | ||
349 | <listitem> | 364 | <note> |
350 | <para><literal>prompt_user</literal>. If the parameter is set to | 365 | <para>The memory allocated for the kernel and hugepages might vary |
351 | "yes", the installer will ask for confirmation before formatting | 366 | slightly depending on how much memory is available.</para> |
352 | and partitioning the drive. The default behaviour is to proceed | 367 | </note> |
353 | automatically without any user interaction.</para> | 368 | </section> |
354 | </listitem> | ||
355 | </itemizedlist> | ||
356 | 369 | ||
357 | <para>Installation Configuration File Example:</para> | 370 | <section id="hugepage_customizing_man"> |
371 | <title>Customizing Manual Hugepage Reservation</title> | ||
358 | 372 | ||
359 | <programlisting>image_url = http://192.168.1.100/enea-nfv-access-xeon-d.hddimg.gz | 373 | <para>The automatic algorithm can be disabled and hugepages in turn, |
360 | install_drive = /dev/sda</programlisting> | 374 | configured manually. To do this, comment the line which defines |
375 | <literal>hugepage_setup</literal> as <literal>auto</literal> and | ||
376 | configure memory for each CPU socket in the following manner:</para> | ||
361 | 377 | ||
362 | <note> | 378 | <programlisting><NUMA node>.<hugepage size> = <number of pages></programlisting> |
363 | <para>The installation configuration file needs to use the Linux | ||
364 | end-of-line format (\n), not the Windows format (\r\n).</para> | ||
365 | </note> | ||
366 | </section> | ||
367 | 379 | ||
368 | <section id="bare_meta_prov_pxe"> | 380 | <para>Where <literal><NUMA node></literal> refers to a node which |
369 | <title>PXE Configuration</title> | 381 | is part of the system's NUMA topology, <literal><hugepage |
382 | size></literal> decides what type of hugepages should be set and | ||
383 | <literal><number of hugepages></literal> is how many hugepages of | ||
384 | <literal><hugepage size></literal> should be allocated.</para> | ||
370 | 385 | ||
371 | <para>A PXE entry for the Enea NFV Access installation needs to be | 386 | <para>To list the available system nodes, run:</para> |
372 | added as the default boot selection in the pxelinux configuration file | ||
373 | (e.g <literal>/var/lib/tftpboot/pxelinux.cfg/default</literal>). The | ||
374 | PXE entry should have the following settings:</para> | ||
375 | 387 | ||
376 | <programlisting>default nfv_access | 388 | <programlisting>ls -d /sys/devices/system/node/node* </programlisting> |
377 | label nfv_access | ||
378 | menu label ^NFV_ACCESS_INSTALLER | ||
379 | kernel <Path to kernel> | ||
380 | append root=/dev/ram0 initrd=<Path to initramfs> LABEL=pxe-installer \ | ||
381 | INSTALL_CFG=http://<Server IP>/<Path to install config file> \ | ||
382 | console=ttyS0,115200 earlyprintk=ttyS0,115200 | ||
383 | ipappend 2 | ||
384 | </programlisting> | ||
385 | </section> | ||
386 | </section> | ||
387 | 389 | ||
388 | <section id="bare_meta_prov_inst"> | 390 | <para>To list available hugepage sizes, per node, run:</para> |
389 | <title>Starting the Installation</title> | ||
390 | 391 | ||
391 | <para>To initiate the installation, set the boot device (for next boot | 392 | <programlisting>ls -d /sys/devices/system/node/node*/hugepages/hugepages-*</programlisting> |
392 | only) to PXE and reboot the uCPE devices. How to do this depends on the | ||
393 | remote management capabilities of the uCPE devices and may require | ||
394 | vendor-specific tools.</para> | ||
395 | 393 | ||
396 | <para>Example initiation using <literal>ipmitool</literal>:</para> | 394 | <para>Example of Manual Hugepage Configuration, configuring the system |
395 | to allocate three 1GB hugepages and 512 of 2MB hugepages on node:</para> | ||
397 | 396 | ||
398 | <programlisting>ipmitool -U <user> -P <password> -H <uCPE device IPMI IP address> chassis bootdev pxe | 397 | <programlisting>node0.2048kB = 512 |
399 | ipmitool -U <user> -P <password> -H <uCPE device IPMI IP address> power reset </programlisting> | 398 | node0.1048576kB = 3 </programlisting> |
400 | 399 | ||
401 | <para>The uCPE devices should be configured in BIOS to boot from the | 400 | <note> |
402 | installation drive first in order to automatically start the Enea NFV | 401 | <para>Make sure there are no hugepages reserved in the kernel boot |
403 | Access Run Time Platform when the installation is finished.</para> | 402 | command line, these will override any manual configuration done in the |
403 | service.</para> | ||
404 | </note> | ||
404 | </section> | 405 | </section> |
405 | </section> | 406 | </section> |
406 | </chapter> \ No newline at end of file | 407 | </chapter> \ No newline at end of file |
diff --git a/doc/book-enea-nfv-access-getting-started/doc/book.xml b/doc/book-enea-nfv-access-getting-started/doc/book.xml index 893546b..d148f3b 100644 --- a/doc/book-enea-nfv-access-getting-started/doc/book.xml +++ b/doc/book-enea-nfv-access-getting-started/doc/book.xml | |||
@@ -16,17 +16,26 @@ | |||
16 | xmlns:xi="http://www.w3.org/2001/XInclude" /> | 16 | xmlns:xi="http://www.w3.org/2001/XInclude" /> |
17 | 17 | ||
18 | <xi:include href="introduction.xml" | 18 | <xi:include href="introduction.xml" |
19 | xmlns:xi="http://www.w3.org/2001/XInclude" /> | ||
20 | |||
21 | <xi:include href="definitions_and_acronyms.xml" | ||
22 | xmlns:xi="http://www.w3.org/2001/XInclude" /> | 19 | xmlns:xi="http://www.w3.org/2001/XInclude" /> |
23 | 20 | ||
24 | <xi:include href="getting_started_nfv_access.xml" | 21 | <xi:include href="installation_guide.xml" |
25 | xmlns:xi="http://www.w3.org/2001/XInclude" /> | 22 | xmlns:xi="http://www.w3.org/2001/XInclude" /> |
26 | 23 | ||
27 | <xi:include href="getting_started_ucpe_manager.xml" | 24 | <xi:include href="upgrade_ena.xml" |
28 | xmlns:xi="http://www.w3.org/2001/XInclude" /> | 25 | xmlns:xi="http://www.w3.org/2001/XInclude" /> |
29 | 26 | ||
30 | <xi:include href="advanced_configurations.xml" | 27 | <xi:include href="advanced_configurations.xml" |
31 | xmlns:xi="http://www.w3.org/2001/XInclude" /> | 28 | xmlns:xi="http://www.w3.org/2001/XInclude" /> |
29 | |||
30 | <xi:include href="net_config_options.xml" | ||
31 | xmlns:xi="http://www.w3.org/2001/XInclude" /> | ||
32 | |||
33 | <xi:include href="vnf_mg.xml" | ||
34 | xmlns:xi="http://www.w3.org/2001/XInclude" /> | ||
35 | |||
36 | <xi:include href="log_collector.xml" | ||
37 | xmlns:xi="http://www.w3.org/2001/XInclude" /> | ||
38 | |||
39 | <xi:include href="troubleshooting.xml" | ||
40 | xmlns:xi="http://www.w3.org/2001/XInclude" /> | ||
32 | </book> | 41 | </book> |
diff --git a/doc/book-enea-nfv-access-getting-started/doc/definitions_and_acronyms.xml b/doc/book-enea-nfv-access-getting-started/doc/definitions_and_acronyms.xml deleted file mode 100644 index e5f81fc..0000000 --- a/doc/book-enea-nfv-access-getting-started/doc/definitions_and_acronyms.xml +++ /dev/null | |||
@@ -1,146 +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="def_and_acr"> | ||
5 | <title>Definitions and Acronyms</title> | ||
6 | |||
7 | <section id="definitions"> | ||
8 | <title>Definitions</title> | ||
9 | |||
10 | <table> | ||
11 | <title>Definitions</title> | ||
12 | |||
13 | <tgroup cols="2"> | ||
14 | <colspec align="left" colname="1" colwidth="1*" /> | ||
15 | |||
16 | <colspec align="left" colname="2" colwidth="3*" /> | ||
17 | |||
18 | <tbody> | ||
19 | <row> | ||
20 | <entry>Enea NFV Access</entry> | ||
21 | |||
22 | <entry>The Enea NFV Access Run Time Platform and uCPE | ||
23 | Manager.</entry> | ||
24 | </row> | ||
25 | |||
26 | <row> | ||
27 | <entry>Enea NFV Access Run Time Platform</entry> | ||
28 | |||
29 | <entry>A lightweight, multi-architecture virtualization platform, | ||
30 | supporting Virtual Machines (KVM / QEMU).</entry> | ||
31 | </row> | ||
32 | |||
33 | <row> | ||
34 | <entry>Enea uCPE Manager</entry> | ||
35 | |||
36 | <entry>Enea Universal Customer Premises Equipment Manager.</entry> | ||
37 | </row> | ||
38 | |||
39 | <row> | ||
40 | <entry>uCPE device</entry> | ||
41 | |||
42 | <entry>A whitebox (e.g. Intel XeonD) running Enea NFV Access Run | ||
43 | Time platform.</entry> | ||
44 | </row> | ||
45 | </tbody> | ||
46 | </tgroup> | ||
47 | </table> | ||
48 | </section> | ||
49 | |||
50 | <section id="acronyms"> | ||
51 | <title>Acronyms</title> | ||
52 | |||
53 | <table> | ||
54 | <title>acronyms</title> | ||
55 | |||
56 | <tgroup cols="2"> | ||
57 | <colspec align="left" colname="1" colwidth="1*" /> | ||
58 | |||
59 | <colspec align="left" colname="2" colwidth="3*" /> | ||
60 | |||
61 | <tbody> | ||
62 | <row> | ||
63 | <entry>API</entry> | ||
64 | |||
65 | <entry>Application Programming Interface.</entry> | ||
66 | </row> | ||
67 | |||
68 | <row> | ||
69 | <entry>DPDK</entry> | ||
70 | |||
71 | <entry>Data Plane Development Kit.</entry> | ||
72 | </row> | ||
73 | |||
74 | <row> | ||
75 | <entry>EFI</entry> | ||
76 | |||
77 | <entry>Extensible Firmware Interface.</entry> | ||
78 | </row> | ||
79 | |||
80 | <row> | ||
81 | <entry>FCAPS</entry> | ||
82 | |||
83 | <entry>Fault-management, Configuration, Accounting, Performance | ||
84 | and Security.</entry> | ||
85 | </row> | ||
86 | |||
87 | <row> | ||
88 | <entry>NETCONF</entry> | ||
89 | |||
90 | <entry>Network Configuration Protocol.</entry> | ||
91 | </row> | ||
92 | |||
93 | <row> | ||
94 | <entry>NFV</entry> | ||
95 | |||
96 | <entry>Network Functions Virtualization.</entry> | ||
97 | </row> | ||
98 | |||
99 | <row> | ||
100 | <entry>OVS</entry> | ||
101 | |||
102 | <entry>Open vSwitch.</entry> | ||
103 | </row> | ||
104 | |||
105 | <row> | ||
106 | <entry>UEFI</entry> | ||
107 | |||
108 | <entry>Unified Extensible Firmware Interface.</entry> | ||
109 | </row> | ||
110 | |||
111 | <row> | ||
112 | <entry>SR-IOV</entry> | ||
113 | |||
114 | <entry>Single Root Input/Output Virtualization.</entry> | ||
115 | </row> | ||
116 | |||
117 | <row> | ||
118 | <entry>PCI</entry> | ||
119 | |||
120 | <entry>Peripheral Component Interconnect.</entry> | ||
121 | </row> | ||
122 | |||
123 | <row> | ||
124 | <entry>PCI Passthrough</entry> | ||
125 | |||
126 | <entry>PCI Passthrough allows for use of a physical PCI device, | ||
127 | e.g. a network card inside a VM. If you "PCI passthrough" a | ||
128 | device, the device is not available to the host anymore.</entry> | ||
129 | </row> | ||
130 | |||
131 | <row> | ||
132 | <entry>REST</entry> | ||
133 | |||
134 | <entry>Representational State Transfer.</entry> | ||
135 | </row> | ||
136 | |||
137 | <row> | ||
138 | <entry>VNF</entry> | ||
139 | |||
140 | <entry>Virtual Network Function.</entry> | ||
141 | </row> | ||
142 | </tbody> | ||
143 | </tgroup> | ||
144 | </table> | ||
145 | </section> | ||
146 | </chapter> | ||
diff --git a/doc/book-enea-nfv-access-getting-started/doc/getting_started_nfv_access.xml b/doc/book-enea-nfv-access-getting-started/doc/getting_started_nfv_access.xml deleted file mode 100644 index 7ddf113..0000000 --- a/doc/book-enea-nfv-access-getting-started/doc/getting_started_nfv_access.xml +++ /dev/null | |||
@@ -1,720 +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="plat-release-content"> | ||
5 | <title>Getting Started with Enea NFV Access</title> | ||
6 | |||
7 | <section id="access_installer"> | ||
8 | <title>Enea NFV Access Run Time Platform Installer</title> | ||
9 | |||
10 | <para>The current release supports two methods of installation:</para> | ||
11 | |||
12 | <itemizedlist> | ||
13 | <listitem> | ||
14 | <para>Manual installation from a USB stick using the Enea NFV Access | ||
15 | Web-installer, which guarantees a clean installation of NFV Access on | ||
16 | a uCPE device.</para> | ||
17 | </listitem> | ||
18 | |||
19 | <listitem> | ||
20 | <para>Mass installation and automated deployment using Bare Metal | ||
21 | Provisioning.</para> | ||
22 | </listitem> | ||
23 | </itemizedlist> | ||
24 | |||
25 | <para>For more information about Bare Metal Provisioning please refer to | ||
26 | section <olink targetdoc="book_enea_nfv_access_getting_started" | ||
27 | targetptr="bare_meta_prov">Bare Metal Provisioning in <xi:include | ||
28 | href="../../s_docbuild/olinkdb/pardoc-names.xml" | ||
29 | xmlns:xi="http://www.w3.org/2001/XInclude" | ||
30 | xpointer="element(book_enea_nfv_access_getting_started/1)" /></olink> | ||
31 | Manual.</para> | ||
32 | |||
33 | <section id="prereq"> | ||
34 | <title>Prerequisites</title> | ||
35 | |||
36 | <para>To install the Enea NFV Access Run Time Platform, 3 things are | ||
37 | required: a USB stick (16GB or larger), a development machine with root | ||
38 | permissions (Linux or Windows) and a uCPE device.</para> | ||
39 | |||
40 | <para>Minimal requirements for the uCPE device:</para> | ||
41 | |||
42 | <itemizedlist spacing="compact"> | ||
43 | <listitem> | ||
44 | <para>EFI and virtualization support.</para> | ||
45 | </listitem> | ||
46 | |||
47 | <listitem> | ||
48 | <para>2 cores</para> | ||
49 | </listitem> | ||
50 | |||
51 | <listitem> | ||
52 | <para>4GB RAM</para> | ||
53 | </listitem> | ||
54 | |||
55 | <listitem> | ||
56 | <para>Storage Device (SSD recommended).</para> | ||
57 | </listitem> | ||
58 | </itemizedlist> | ||
59 | |||
60 | <para>BIOS settings that need to be enabled:</para> | ||
61 | |||
62 | <itemizedlist spacing="compact"> | ||
63 | <listitem> | ||
64 | <para>EFI</para> | ||
65 | </listitem> | ||
66 | |||
67 | <listitem> | ||
68 | <para>Intel Virtualization Technology (VT-x)</para> | ||
69 | </listitem> | ||
70 | |||
71 | <listitem> | ||
72 | <para>Intel Virtualization Technology for Directed I/O (VT-d)</para> | ||
73 | </listitem> | ||
74 | |||
75 | <listitem> | ||
76 | <para>SR-IOV</para> | ||
77 | </listitem> | ||
78 | </itemizedlist> | ||
79 | </section> | ||
80 | |||
81 | <section condition="hidden" id="man_installer"> | ||
82 | <title>Installer Setup and Usage for a manual installation</title> | ||
83 | |||
84 | <para><emphasis role="bold">To install Enea NFV Access Run Time Platform | ||
85 | on a physical drive</emphasis></para> | ||
86 | |||
87 | <orderedlist> | ||
88 | <listitem> | ||
89 | <para>Go to the installer location: <programlisting># cd <path_to_EneaNFV_Access_folder>/<architecture>/ | ||
90 | install/nfv-installer/script-installer</programlisting></para> | ||
91 | </listitem> | ||
92 | |||
93 | <listitem> | ||
94 | <para>Execute the installer script: <programlisting># sudo ./nfv_installer.sh</programlisting></para> | ||
95 | </listitem> | ||
96 | |||
97 | <listitem> | ||
98 | <para>Optionally, press ENTER to see the list of available | ||
99 | commands:<programlisting>help - displays a guide on how to use the installer | ||
100 | list-params - lists all available parameters | ||
101 | list-steps - lists the installer steps and the parameters that they depend on | ||
102 | set - sets a parameter (e.g. <literal>set drive=/dev/sda</literal>) | ||
103 | clear - clears a parameter (e.g. <literal>clear drive</literal>) | ||
104 | list-partitions - lists current drives and partitions | ||
105 | dry - performs a simulation test run | ||
106 | run - executes the installer, using the values you set for each parameter | ||
107 | q or quit - exits the script</programlisting></para> | ||
108 | </listitem> | ||
109 | |||
110 | <listitem> | ||
111 | <para>Set the required parameters depending on what steps you want | ||
112 | to run:</para> | ||
113 | |||
114 | <note> | ||
115 | <para>When using the installer for the first time, make sure to | ||
116 | set ALL parameters in order to be able to run all steps. See | ||
117 | Example 2 for details.</para> | ||
118 | </note> | ||
119 | |||
120 | <para><programlisting># set <parameter_name>=<parameter_value></programlisting></para> | ||
121 | |||
122 | <itemizedlist spacing="compact"> | ||
123 | <listitem> | ||
124 | <para><parameter>drive=</dev/sdaX></parameter> - sets the | ||
125 | drive which will be partitioned.</para> | ||
126 | </listitem> | ||
127 | |||
128 | <listitem> | ||
129 | <para><parameter>grub_binary=<file></parameter> - points | ||
130 | to the <filename>GRUB</filename> executable, which will be | ||
131 | installed where <filename>grub_destination</filename> is | ||
132 | set.</para> | ||
133 | </listitem> | ||
134 | |||
135 | <listitem> | ||
136 | <para><parameter>grub_destination=<drive></parameter> - | ||
137 | specifies the partition where <filename>GRUB</filename> will be | ||
138 | installed.</para> | ||
139 | </listitem> | ||
140 | |||
141 | <listitem> | ||
142 | <para><parameter>rootfs_destination=<drive></parameter> - | ||
143 | specifies the partition where the <filename>rootfs</filename> | ||
144 | will be deployed, used by <filename>GRUB</filename> to boot | ||
145 | from.</para> | ||
146 | </listitem> | ||
147 | |||
148 | <listitem> | ||
149 | <para><parameter>rootfs_targz=<rootfs.tar.gz | ||
150 | file></parameter> - sets the archive of the Enea NFV Access | ||
151 | <filename>rootfs</filename> you wish to unpack. The archive will | ||
152 | be unpacked where <filename>rootfs_destination</filename> is | ||
153 | set. Which type of archive file you unpack depends on whether | ||
154 | you are booting from an SSD/HDD or from a USB drive.</para> | ||
155 | </listitem> | ||
156 | </itemizedlist> | ||
157 | </listitem> | ||
158 | |||
159 | <listitem> | ||
160 | <para>Optionally, perform a test run before affecting the actual | ||
161 | layout of the physical media, with the command: <programlisting>dry</programlisting></para> | ||
162 | </listitem> | ||
163 | |||
164 | <listitem> | ||
165 | <para>Run the installer: <programlisting>run</programlisting></para> | ||
166 | </listitem> | ||
167 | |||
168 | <listitem> | ||
169 | <para>Exit the script: <programlisting>quit</programlisting></para> | ||
170 | </listitem> | ||
171 | </orderedlist> | ||
172 | |||
173 | <para>The Enea NFV Access installer creates a bootable media by | ||
174 | performing three steps. Each of the following 3 steps is executed or not | ||
175 | depending on whether certain parameters are set:</para> | ||
176 | |||
177 | <itemizedlist> | ||
178 | <listitem> | ||
179 | <para>Format drive. Creates a 512MB partition to be used by | ||
180 | <filename>GRUB</filename>, and another for use by the | ||
181 | <filename>rootfs</filename>. The second partition should occupy the | ||
182 | rest of the physical media, minus the first partition. This step | ||
183 | depends on setting these parameter(s): <programlisting>drive=</programlisting></para> | ||
184 | </listitem> | ||
185 | |||
186 | <listitem> | ||
187 | <para>GRUB install. Installs the <literal>grub_binary</literal> on | ||
188 | the drive set for <literal>grub_destination</literal>. A | ||
189 | <filename>grub.cfg</filename> file is created. This file is | ||
190 | configured by the user, to boot from the | ||
191 | <literal>rootfs_destination</literal>. This step depends on setting | ||
192 | these parameter(s):<programlisting>grub_destination= | ||
193 | grub_binary= | ||
194 | rootfs_destination=</programlisting></para> | ||
195 | </listitem> | ||
196 | |||
197 | <listitem> | ||
198 | <para>Root Filesystem install. Copies and unpacks the files found in | ||
199 | <literal>rootfs_targz</literal> to the | ||
200 | <literal>rootfs_destination</literal>. This step depends on setting | ||
201 | these parameter(s):<programlisting>rootfs_targz= | ||
202 | rootfs_destination=</programlisting></para> | ||
203 | </listitem> | ||
204 | </itemizedlist> | ||
205 | |||
206 | <para>After using the installer and setting up the bootable media, | ||
207 | connect it to the uCPE device and configure the uCPE device to use it as | ||
208 | a primary boot device.</para> | ||
209 | </section> | ||
210 | |||
211 | <section id="auto_installer"> | ||
212 | <title>Creating a bootable USB stick</title> | ||
213 | |||
214 | <para>In order to install the Enea NFV Access Run Time Platform, you | ||
215 | must first create a bootable USB stick with the image you intend to | ||
216 | install. Follow the example below to proceed.</para> | ||
217 | |||
218 | <note> | ||
219 | <para>The <literal>.hddimg</literal> image is available in the | ||
220 | Enea_NFV_Access_Run_Time_Platform_ | ||
221 | <processor>_<version>-build<build_number>.tar.gz | ||
222 | file you downloaded with your release.</para> | ||
223 | </note> | ||
224 | |||
225 | <para><emphasis role="bold">Create a bootable USB stick | ||
226 | image</emphasis></para> | ||
227 | |||
228 | <orderedlist> | ||
229 | <listitem> | ||
230 | <para>Copy the <literal>.hddimg</literal> image file provided by | ||
231 | Enea, onto a development machine.</para> | ||
232 | </listitem> | ||
233 | |||
234 | <listitem> | ||
235 | <para>Connect the USB stick to the development machine and identify | ||
236 | the device name given by the system with <command>lsblk</command>: | ||
237 | <programlisting>NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT | ||
238 | sda 8:0 1 28.7G 0 disk | ||
239 | sdb 8:0 0 111.8G 0 disk | ||
240 | |-sdb1 8:1 0 111.8G 0 part</programlisting></para> | ||
241 | </listitem> | ||
242 | |||
243 | <listitem> | ||
244 | <para>Copy the <literal>.hddimg</literal> image onto the USB stick, | ||
245 | e.g: <programlisting>sudo dd if=./enea-nfv-access-<machine>.hddimg \ | ||
246 | of=/dev/sdb bs=4M conv=fsync</programlisting></para> | ||
247 | </listitem> | ||
248 | </orderedlist> | ||
249 | |||
250 | <para>Where <filename>enea-nfv-access-<machine>.hddimg | ||
251 | </filename>is the <literal>.hddimg</literal> file and | ||
252 | <literal>sdb</literal> is the assigned USB device name.</para> | ||
253 | </section> | ||
254 | |||
255 | <section id="install_ena_stick"> | ||
256 | <title>Installing Enea NFV Access</title> | ||
257 | |||
258 | <para><emphasis role="bold">How to install the Enea NFV Access Run Time | ||
259 | Platform using a bootable USB stick image</emphasis></para> | ||
260 | |||
261 | <orderedlist> | ||
262 | <listitem> | ||
263 | <para>Plug the USB stick into the uCPE device. Connect a laptop | ||
264 | directly into one of the ports that will not later be chosen as a | ||
265 | WAN port. No other ports should be connected.</para> | ||
266 | </listitem> | ||
267 | |||
268 | <listitem> | ||
269 | <para>Power up the uCPE device and boot the USB stick. Verify that | ||
270 | the USB stick is selected from the BIOS boot menu.</para> | ||
271 | </listitem> | ||
272 | |||
273 | <listitem> | ||
274 | <para>Once the USB stick is properly booted, the Web-installer | ||
275 | application starts automatically and can be accessed in a web | ||
276 | browser at <literal>http://172.16.1.1</literal> (port 80).</para> | ||
277 | |||
278 | <para>On the first page of the Web-installer, the user should fill | ||
279 | in:</para> | ||
280 | |||
281 | <itemizedlist> | ||
282 | <listitem> | ||
283 | <para><emphasis role="bold">The uCPE Manager IP | ||
284 | Address</emphasis>.</para> | ||
285 | </listitem> | ||
286 | |||
287 | <listitem> | ||
288 | <para><emphasis role="bold">The Device ID</emphasis>. The unique | ||
289 | identifier of the uCPE device.</para> | ||
290 | </listitem> | ||
291 | |||
292 | <listitem> | ||
293 | <para><emphasis role="bold">Customer Tags</emphasis>. They are | ||
294 | used for <link linkend="zero_touch_prov">Zero Touch Provisining | ||
295 | (ZTP)</link> and can be left empty. What can be entered here (as | ||
296 | needed), are the tag(s) specified when creating an offline | ||
297 | configuration in the uCPE Manager.</para> | ||
298 | </listitem> | ||
299 | </itemizedlist> | ||
300 | |||
301 | <para>On the second page of the Web-installer, the user should fill | ||
302 | in:</para> | ||
303 | |||
304 | <itemizedlist> | ||
305 | <listitem> | ||
306 | <para><emphasis role="bold">The Layer 3 configuration of WAN | ||
307 | Interface(s)</emphasis>. Static or Dynamic IP must be | ||
308 | specified.</para> | ||
309 | |||
310 | <para>During network configuration, WAN cables will be plugged | ||
311 | into the device in order to identify ports and make them | ||
312 | available for configuration. Each port with a physically | ||
313 | connected cable will be automatically set as a WAN port and must | ||
314 | be configured (DHCP is the default setting). The user needs to | ||
315 | connect the same quantity of cables as the number of WAN ports | ||
316 | that he wishes to configure. No LAN ports should be connected | ||
317 | nor configured at this time. The configured WAN cables cannot be | ||
318 | removed after being configured.</para> | ||
319 | |||
320 | <note> | ||
321 | <para>The LAN port used to access the Web-installer from the | ||
322 | laptop will not be shown and cannot be configured.</para> | ||
323 | </note> | ||
324 | </listitem> | ||
325 | |||
326 | <listitem> | ||
327 | <para><emphasis role="bold">The Management Interface</emphasis>. | ||
328 | The interface that will be used by the uCPE Manager to | ||
329 | communicate with the device.</para> | ||
330 | </listitem> | ||
331 | </itemizedlist> | ||
332 | </listitem> | ||
333 | |||
334 | <listitem> | ||
335 | <para>When the user has completed the configuration steps in the | ||
336 | Web-installer, NFV Access is installed on the hard drive. The | ||
337 | largest drive found on the device will be used for | ||
338 | installation.</para> | ||
339 | </listitem> | ||
340 | </orderedlist> | ||
341 | </section> | ||
342 | |||
343 | <section id="boot_ena"> | ||
344 | <title>Booting NFV Access</title> | ||
345 | |||
346 | <para>When the installation has finished successfully, the user should | ||
347 | remove the USB stick before confirming the reboot of the device in | ||
348 | Web-installer and ensure that BIOS is configured to boot from the hard | ||
349 | drive.</para> | ||
350 | |||
351 | <para>When configured with the Web-installer GUI, the uCPE device | ||
352 | start-up sequence will configure the interfaces accordingly and try to | ||
353 | register the device in the uCPE manager. If connectivity is established | ||
354 | with the uCPE manager server and a device with a matching Device ID is | ||
355 | found, the configuration is successful, and the connection is | ||
356 | established.</para> | ||
357 | |||
358 | <note> | ||
359 | <para>If NFV Access was installed by Bare Metal Provisioning, the | ||
360 | Web-installer will launch at start-up expecting the user to provide | ||
361 | the post-installation configuration. The Web-installer will be | ||
362 | launched on port 80 for post-installation configuration: <literal> | ||
363 | http://172.16.1.1</literal>.</para> | ||
364 | </note> | ||
365 | |||
366 | <para>In case of failure, the user should remove all WAN cables, | ||
367 | re-attach the laptop, reboot the device and then access the | ||
368 | Web-installer on <literal>http://172.16.1.1</literal>.</para> | ||
369 | |||
370 | <note> | ||
371 | <para>To make a new connection attempt with the uCPE manager server | ||
372 | using the existing configuration, just reboot the uCPE device. This | ||
373 | can for example be useful if the uCPE device was added in the uCPE | ||
374 | manager after it was already started.</para> | ||
375 | </note> | ||
376 | <note> | ||
377 | <para>After having established a successful connection with the uCPE | ||
378 | Manager, the user will connect any LAN cable(s) that should be | ||
379 | connected to the device.</para> | ||
380 | </note> | ||
381 | </section> | ||
382 | |||
383 | <section condition="hidden" id="examples"> | ||
384 | <title>Examples</title> | ||
385 | |||
386 | <para>Below are a few examples of setups that the Enea NFV Access | ||
387 | installer can be used for:</para> | ||
388 | |||
389 | <itemizedlist> | ||
390 | <listitem xreflabel="example_one"> | ||
391 | <para>Partitioning a drive:</para> | ||
392 | |||
393 | <programlisting>set drive=/dev/sda | ||
394 | run</programlisting> | ||
395 | </listitem> | ||
396 | |||
397 | <listitem xreflabel="example_two"> | ||
398 | <para>Partitioning a drive, installing GRUB, and a Root | ||
399 | Filesystem:</para> | ||
400 | |||
401 | <programlisting>set drive=/dev/sda | ||
402 | set grub_destination=/dev/sda1 | ||
403 | set grub_binary=/home/user/grub-binary.efi | ||
404 | set rootfs_destination=/dev/sda2 | ||
405 | set rootfs_targz=/home/user/rootfs.tar.gz | ||
406 | run</programlisting> | ||
407 | </listitem> | ||
408 | |||
409 | <listitem xreflabel="example_three"> | ||
410 | <para>Deploying ONLY a root filesystem:</para> | ||
411 | |||
412 | <programlisting>set rootfs_destination=/dev/sda2 | ||
413 | set rootfs_targz=/home/user/rootfs.tar.gz | ||
414 | run</programlisting> | ||
415 | </listitem> | ||
416 | </itemizedlist> | ||
417 | </section> | ||
418 | </section> | ||
419 | |||
420 | <section condition="hidden" id="release-content"> | ||
421 | <title>NFV Access Release content</title> | ||
422 | |||
423 | <para>The NFV Access 1.1 Release contains along with other items, | ||
424 | documentation, pre-built kernels and images, a bootloader and a | ||
425 | SDK.</para> | ||
426 | |||
427 | <para>The directories structure is detailed below:</para> | ||
428 | |||
429 | <programlisting>-- documentation/ | ||
430 | /* NFV Access documentation */ | ||
431 | -- xeon-d/ | ||
432 | /* artifacts for the host side */ | ||
433 | -- deb/ | ||
434 | /* deb packages */ | ||
435 | -- images/ | ||
436 | -- enea-image-virtualization-host | ||
437 | /* precompiled artifacts for the Host release image */ | ||
438 | -- various artifacts | ||
439 | -- enea-image-virtualization-host-sdk | ||
440 | /* precompiled artifacts for the Host SDK image. | ||
441 | The SDK image contains userspace tools and kernel | ||
442 | configurations necessary for developing, debugging | ||
443 | and profiling applications and kernel modules */ | ||
444 | -- various artifacts | ||
445 | -- sdk | ||
446 | /* NFV Access SDK for the host */ | ||
447 | -- enea-glibc-x86_64-enea-image-virtualization-host-sdk / | ||
448 | -corei7-64-toolchain-7.0.sh | ||
449 | /* self-extracting archive installing | ||
450 | cross-compilation toolchain for the host */ | ||
451 | -- qemux86-64 | ||
452 | /* artifacts for the guest side */ | ||
453 | -- deb/ | ||
454 | /* deb packages */ | ||
455 | -- images/ | ||
456 | -- enea-image-virtualization-guest | ||
457 | /* precompiled artifacts for the Guest image */ | ||
458 | -- various artifacts | ||
459 | -- sdk | ||
460 | /* NFV Access SDK for the guest */ | ||
461 | -- enea-glibc-x86_64-enea-image-virtualization-guest-sdk / | ||
462 | -core2-64-toolchain-7.0.sh | ||
463 | /* self-extracting archive installing cross-compilation | ||
464 | toolchain for the guest (QEMU x86-64) */</programlisting> | ||
465 | |||
466 | <para>For each combination of image and uCPE device, the following set of | ||
467 | artifacts is available:</para> | ||
468 | |||
469 | <programlisting>-- bzImage | ||
470 | /* kernel image */ | ||
471 | -- bzImage-<target>.bin | ||
472 | /* kernel image, same as above */ | ||
473 | -- config-<target>.config | ||
474 | /* kernel configuration file */ | ||
475 | -- core-image-minimal-initramfs-<target>.cpio.gz | ||
476 | /* cpio archive of the initramfs */ | ||
477 | -- core-image-minimal-initramfs-<target>.qemuboot.conf | ||
478 | /* qemu config file for the initramfs image */ | ||
479 | -- <image-name>-<target>.ext4 | ||
480 | /* EXT4 image of the rootfs */ | ||
481 | -- <image-name>-<target>.hddimg | ||
482 | /* msdos filesystem containing syslinux, kernel, initrd and rootfs image */ | ||
483 | -- <image-name>-<target>.iso | ||
484 | /* CD .iso image */ | ||
485 | -- <image-name>-<target>.qemuboot.conf | ||
486 | /* qemu config file for the image */ | ||
487 | -- <image-name>-<target>.tar.gz | ||
488 | /* tar archive of the image */ | ||
489 | -- <image-name>-<target>.wic | ||
490 | /* Wic image */ | ||
491 | -- microcode.cpio | ||
492 | /* kernel microcode data */ | ||
493 | -- modules-<target>.tgz | ||
494 | /* external kernel modules */ | ||
495 | -- ovmf.*.qcow2 | ||
496 | /* ovmf firmware for uefi support in qemu */ | ||
497 | -- rmc.db | ||
498 | /* Central RMC Database */ | ||
499 | -- systemd-bootx64.efi | ||
500 | /* systemd-boot EFI file */ | ||
501 | -- grub-efi-bootx64.efi | ||
502 | /* GRUB EFI file */</programlisting> | ||
503 | </section> | ||
504 | |||
505 | <section condition="hidden" id="prebuilt-artifacts"> | ||
506 | <title>How to use the Prebuilt Artifacts</title> | ||
507 | |||
508 | <section id="boot-ramdisk"> | ||
509 | <title>Booting Enea NFV Access using RAMDISK</title> | ||
510 | |||
511 | <para>There may be use cases, especially at first target ramp-up, where | ||
512 | the HDD/SDD has no partitions and you need to prepare the disks for | ||
513 | boot. Booting from ramdisk can help with this task.</para> | ||
514 | |||
515 | <para>The prerequisites needed to proceed:</para> | ||
516 | |||
517 | <itemizedlist> | ||
518 | <listitem> | ||
519 | <para>Enea NFV Access ext4 rootfs image - | ||
520 | enea-nfv-access-xeon-d.ext4.gz</para> | ||
521 | </listitem> | ||
522 | |||
523 | <listitem> | ||
524 | <para>Enea NFV Access kernel image - bzImage</para> | ||
525 | </listitem> | ||
526 | |||
527 | <listitem> | ||
528 | <para>BIOS has PXE boot enabled</para> | ||
529 | </listitem> | ||
530 | |||
531 | <listitem> | ||
532 | <para>PXE/tftp server configured and connected (ethernet) to | ||
533 | target.</para> | ||
534 | </listitem> | ||
535 | </itemizedlist> | ||
536 | |||
537 | <para>Unzip enea-nfv-access-xeon-d.ext4 and copy bzImage and | ||
538 | enea-nfv-access-xeon-d.ext4 images to the tftpserver configured for PXE | ||
539 | boot.</para> | ||
540 | |||
541 | <para>Use the following as an example for the PXE configuration | ||
542 | file:</para> | ||
543 | |||
544 | <programlisting>default vesamenu.c32 | ||
545 | prompt 1 | ||
546 | timeout 0 | ||
547 | |||
548 | label el_ramfs | ||
549 | menu label ^EneaLinux_RAMfs | ||
550 | kernel bzImage | ||
551 | append root=/dev/ram0 initrd=enea-nfv-access-xeon-d.ext4 / | ||
552 | ramdisk_size=1200000 console=ttyS0,115200 eralyprintk=ttyS0,115200</programlisting> | ||
553 | |||
554 | <para>Restart the target. Then enter (F11) in the Boot Menu and select | ||
555 | the Ethernet interface used for PXE boot. From the PXE Boot Menu select | ||
556 | <emphasis role="bold">Enea NFV Access_RAMfs</emphasis>. Once the Enea | ||
557 | NFV Access is started you can partition the HDD/SDD and install GRUB as | ||
558 | described in in the following section.</para> | ||
559 | </section> | ||
560 | |||
561 | <section id="install-grub"> | ||
562 | <title>Partitioning a new harddisk and installing GRUB</title> | ||
563 | |||
564 | <para>The prerequisites needed:</para> | ||
565 | |||
566 | <itemizedlist> | ||
567 | <listitem> | ||
568 | <para>grub (<literal>grub-efi-bootx64.efi</literal>) - availalble as | ||
569 | a pre-built artifact under | ||
570 | <literal>xeon-d/images/enea-nfv-access</literal>.</para> | ||
571 | </listitem> | ||
572 | |||
573 | <listitem> | ||
574 | <para><literal>e2fsprogs-mke2fs_1.43.4-r0.0_amd64.deb,/</literal></para> | ||
575 | |||
576 | <para><literal>dosfstools_4.1-r0.0_amd64.deb</literal> - available | ||
577 | under <literal>xeon-d/deb</literal>.</para> | ||
578 | </listitem> | ||
579 | </itemizedlist> | ||
580 | |||
581 | <para>Proceed using the following steps:</para> | ||
582 | |||
583 | <orderedlist> | ||
584 | <listitem> | ||
585 | <para>Boot target with Enea NFV Access from RAMDISK</para> | ||
586 | </listitem> | ||
587 | |||
588 | <listitem> | ||
589 | <para>Install prerequisite packages:</para> | ||
590 | |||
591 | <programlisting>> dpkg -i e2fsprogs-mke2fs_1.43.4-r0.0_amd64.deb | ||
592 | > dpkg -i dosfstools_4.1-r0.0_amd64.deb</programlisting> | ||
593 | </listitem> | ||
594 | |||
595 | <listitem> | ||
596 | <para>Partition the disk:</para> | ||
597 | |||
598 | <programlisting>> fdisk /dev/sda | ||
599 | fdisk> g {GPT partition type} | ||
600 | fdisk> n | ||
601 | fdisk> 1 | ||
602 | fdisk> {default start part} | ||
603 | fdisk> +512M | ||
604 | fdisk> t | ||
605 | fdisk> 1 {ESP/EFI partition} | ||
606 | fdisk> n | ||
607 | fdisk> 2 | ||
608 | fdisk> {default start part} | ||
609 | fdisk> +18G | ||
610 | fdisk> 3 | ||
611 | fdisk> {default start part} | ||
612 | fdisk> +20G | ||
613 | ... | ||
614 | fdisk> 7 | ||
615 | fdisk> {default start part} | ||
616 | fdisk> {default end end part} | ||
617 | |||
618 | fdisk> p {print partion table} | ||
619 | fdisk> w {write to disk} | ||
620 | fdisk> q</programlisting> | ||
621 | </listitem> | ||
622 | |||
623 | <listitem> | ||
624 | <para>Format the partitions:</para> | ||
625 | |||
626 | <programlisting>> mkfs.fat -F32 -nEFI /dev/sda1 | ||
627 | > mkfs.ext4 -LROOT /dev/sda2 | ||
628 | > mkfs.ext4 -LROOT /dev/sda3 | ||
629 | > mkfs.ext4 -LROOT /dev/sda4 | ||
630 | > mkfs.ext4 -LROOT /dev/sda5 | ||
631 | > mkfs.ext4 -LROOT /dev/sda6 | ||
632 | > mkfs.ext4 -LROOT /dev/sda7</programlisting> | ||
633 | </listitem> | ||
634 | |||
635 | <listitem> | ||
636 | <para>Create a GRUB partition:</para> | ||
637 | |||
638 | <programlisting>> mkdir /mnt/boot | ||
639 | > mount /dev/sda1 /mnt/boot | ||
640 | > mkdir -p /mnt/boot/EFI/boot | ||
641 | |||
642 | > cp grub-efi-bootx64.efi /mnt/boot/EFI/boot/bootx64.efi | ||
643 | > vi /mnt/boot/EFI/boot/grub.cfg | ||
644 | default=1 | ||
645 | |||
646 | menuentry "Linux Reference Image" { | ||
647 | linux (hd0,gpt2)/boot/bzImage root=/dev/sda2 ip=dhcp | ||
648 | } | ||
649 | |||
650 | menuentry "Linux sda3" { | ||
651 | linux (hd0,gpt3)/boot/bzImage root=/dev/sda3 ip=dhcp | ||
652 | } | ||
653 | |||
654 | menuentry "Linux sda4" { | ||
655 | linux (hd0,gpt4)/boot/bzImage root=/dev/sda4 ip=dhcp | ||
656 | } | ||
657 | |||
658 | menuentry "Linux sda5" { | ||
659 | linux (hd0,gpt5)/boot/bzImage root=/dev/sda5 ip=dhcp | ||
660 | } | ||
661 | |||
662 | menuentry "Linux sda6" { | ||
663 | linux (hd0,gpt6)/boot/bzImage root=/dev/sda6 ip=dhcp | ||
664 | } | ||
665 | |||
666 | menuentry "Linux sda7" { | ||
667 | linux (hd0,gpt7)/boot/bzImage root=/dev/sda7 ip=dhcp | ||
668 | }</programlisting> | ||
669 | </listitem> | ||
670 | </orderedlist> | ||
671 | </section> | ||
672 | |||
673 | <section id="boot-hdd"> | ||
674 | <title>Installing and booting Enea NFV Access on the harddisk</title> | ||
675 | |||
676 | <para>After partitioning the harddisk, boot Enea NFV Access from RAMFS | ||
677 | or from a reference image installed on one of the partitions.</para> | ||
678 | |||
679 | <para>To install Enea NFV Access image on a partition follow these | ||
680 | steps:</para> | ||
681 | |||
682 | <orderedlist> | ||
683 | <listitem> | ||
684 | <para>Copy your image on target:</para> | ||
685 | |||
686 | <programlisting>server> scp ./enea-nfv-access-xeon-d.tar.gz / | ||
687 | root@<target_ip>:/home/root/</programlisting> | ||
688 | </listitem> | ||
689 | |||
690 | <listitem> | ||
691 | <para>Extract image onto the desired partition:</para> | ||
692 | |||
693 | <programlisting>target> mount /dev/sda3 /mnt/sda | ||
694 | target> tar -pzxf /home/root/enea-nfv-access-xeon-d.tar.gz / | ||
695 | -C /mnt/sda</programlisting> | ||
696 | |||
697 | <para>Alternately, you can do both steps in one command from the | ||
698 | server:</para> | ||
699 | |||
700 | <programlisting>server> cat ./enea-nfv-access-xeon-d.tar.gz | / | ||
701 | ssh root@<target_ip> "cd /mnt/sda6; tar -zxf -"</programlisting> | ||
702 | </listitem> | ||
703 | |||
704 | <listitem> | ||
705 | <para>Reboot</para> | ||
706 | </listitem> | ||
707 | |||
708 | <listitem> | ||
709 | <para>From the GRUB menu select your partition</para> | ||
710 | </listitem> | ||
711 | </orderedlist> | ||
712 | |||
713 | <note> | ||
714 | <para>In order to change kernel boot parameters you need to mount the | ||
715 | GRUB partition (i.e. <literal>/dev/sda1</literal>) and change the | ||
716 | <literal>EFI/boot/grub.cfg</literal> file.</para> | ||
717 | </note> | ||
718 | </section> | ||
719 | </section> | ||
720 | </chapter> \ No newline at end of file | ||
diff --git a/doc/book-enea-nfv-access-getting-started/doc/getting_started_ucpe_manager.xml b/doc/book-enea-nfv-access-getting-started/doc/getting_started_ucpe_manager.xml deleted file mode 100644 index 211de99..0000000 --- a/doc/book-enea-nfv-access-getting-started/doc/getting_started_ucpe_manager.xml +++ /dev/null | |||
@@ -1,2097 +0,0 @@ | |||
1 | <?xml version="1.0" encoding="ISO-8859-1"?> | ||
2 | <chapter id="getting_started_ucpe_manager"> | ||
3 | <title>Getting Started with Enea uCPE Manager</title> | ||
4 | |||
5 | <section id="prereq_ucpe"> | ||
6 | <title>Prerequisites</title> | ||
7 | |||
8 | <para>Listed below are the main generic prerequisites required so that the | ||
9 | uCPE Manager can be deployed on the host platform:</para> | ||
10 | |||
11 | <itemizedlist> | ||
12 | <listitem> | ||
13 | <para>A uCPE device with Enea NFV Access Run Time Platform | ||
14 | installed.</para> | ||
15 | </listitem> | ||
16 | |||
17 | <listitem> | ||
18 | <para>A machine running CentOS 7 with network access to the physical | ||
19 | device.</para> | ||
20 | </listitem> | ||
21 | |||
22 | <listitem> | ||
23 | <para>CPU, RAM and storage requirements for the uCPE Manager:</para> | ||
24 | |||
25 | <itemizedlist> | ||
26 | <listitem> | ||
27 | <para>For small-sized deployments (tens of devices):</para> | ||
28 | |||
29 | <itemizedlist spacing="compact"> | ||
30 | <listitem> | ||
31 | <para>4 cores</para> | ||
32 | </listitem> | ||
33 | |||
34 | <listitem> | ||
35 | <para>16 GB RAM</para> | ||
36 | </listitem> | ||
37 | |||
38 | <listitem> | ||
39 | <para>300 GB hard-drive</para> | ||
40 | </listitem> | ||
41 | </itemizedlist> | ||
42 | </listitem> | ||
43 | |||
44 | <listitem> | ||
45 | <para>For mid-sized deployments (hundreds of devices):</para> | ||
46 | |||
47 | <itemizedlist spacing="compact"> | ||
48 | <listitem> | ||
49 | <para>8 cores</para> | ||
50 | </listitem> | ||
51 | |||
52 | <listitem> | ||
53 | <para>32 GB RAM</para> | ||
54 | </listitem> | ||
55 | |||
56 | <listitem> | ||
57 | <para>300 GB hard-drive</para> | ||
58 | </listitem> | ||
59 | </itemizedlist> | ||
60 | </listitem> | ||
61 | |||
62 | <listitem> | ||
63 | <para>For large deployments (thousands of devices):</para> | ||
64 | |||
65 | <itemizedlist spacing="compact"> | ||
66 | <listitem> | ||
67 | <para>16 cores</para> | ||
68 | </listitem> | ||
69 | |||
70 | <listitem> | ||
71 | <para>64-256 GB RAM</para> | ||
72 | </listitem> | ||
73 | |||
74 | <listitem> | ||
75 | <para>1 - 2 TB hard-drive</para> | ||
76 | </listitem> | ||
77 | </itemizedlist> | ||
78 | </listitem> | ||
79 | </itemizedlist> | ||
80 | </listitem> | ||
81 | </itemizedlist> | ||
82 | </section> | ||
83 | |||
84 | <section id="install_ucpe_manager"> | ||
85 | <title>Install the Enea uCPE Manager</title> | ||
86 | |||
87 | <para>Unpack the uCPE Manager and install it following the instructions | ||
88 | below.</para> | ||
89 | |||
90 | <section id="prep_sys_ucpe_mg"> | ||
91 | <title>Preparing your system</title> | ||
92 | |||
93 | <orderedlist> | ||
94 | <listitem> | ||
95 | <para>Install Java:</para> | ||
96 | |||
97 | <orderedlist> | ||
98 | <listitem> | ||
99 | <para>Install OpenJDK 11:</para> | ||
100 | |||
101 | <programlisting>sudo yum install java-11-openjdk-devel</programlisting> | ||
102 | </listitem> | ||
103 | |||
104 | <listitem> | ||
105 | <para>Verify the installation:</para> | ||
106 | |||
107 | <programlisting>java -version | ||
108 | |||
109 | openjdk version "11.0.3" 2019-04-16 LTS | ||
110 | OpenJDK Runtime Environment 18.9 (build 11.0.3+7-LTS) | ||
111 | OpenJDK 64-Bit Server VM 18.9 (build 11.0.3+7-LTS, mixed mode, sharing)</programlisting> | ||
112 | |||
113 | <note> | ||
114 | <para>If there are multiple java versions installed, switch | ||
115 | between them using the following command:</para> | ||
116 | |||
117 | <programlisting>alternatives --config java</programlisting> | ||
118 | |||
119 | <para>Optionally, the user can switch between the javac versions using: | ||
120 | <literal>alternatives --config javac</literal>.</para> | ||
121 | </note> | ||
122 | </listitem> | ||
123 | |||
124 | <listitem> | ||
125 | <para>The following system variables need to point to the | ||
126 | OpenJDK 11 installation:</para> | ||
127 | |||
128 | <programlisting>export JAVA_HOME=$(dirname $(dirname $(readlink $(readlink $(which java))))) | ||
129 | export PATH=$PATH:$JAVA_HOME/bin | ||
130 | export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar</programlisting> | ||
131 | |||
132 | <note> | ||
133 | <para>In order to make these system variables persistent, the commands given above | ||
134 | should be added to a script in the <literal>/etc/profile.d/</literal> folder. | ||
135 | <emphasis role="bold">Sudo</emphasis> access is needed for this operation.</para> | ||
136 | </note> | ||
137 | </listitem> | ||
138 | </orderedlist> | ||
139 | </listitem> | ||
140 | |||
141 | <listitem> | ||
142 | <para>Open a terminal with administrative rights, i.e. log into a | ||
143 | <emphasis role="bold">bash</emphasis> shell with | ||
144 | <literal>root</literal> privileges.</para> | ||
145 | </listitem> | ||
146 | |||
147 | <listitem> | ||
148 | <para>If you plan to use the PostgreSQL server bundled with the uCPE | ||
149 | Manager, verify that there is no existing installation of the | ||
150 | Postgres database. Execute the following command to check if you | ||
151 | have a currently running PostgreSQL database server:</para> | ||
152 | |||
153 | <programlisting>ps -ef | grep post</programlisting> | ||
154 | |||
155 | <para>To remove a currently installed PostgreSQL server (including | ||
156 | the existing postgres user), run the following commands:</para> | ||
157 | |||
158 | <programlisting>yum remove postgres\* | ||
159 | rm -f /var/lib/pgsql | ||
160 | rm -f /etc/postgres-reg.ini | ||
161 | userdel postgres</programlisting> | ||
162 | |||
163 | <note> | ||
164 | <para>This step is not necessary if the uCPE Manager will be using | ||
165 | an external database (like MariaDB).</para> | ||
166 | </note> | ||
167 | </listitem> | ||
168 | |||
169 | <listitem> | ||
170 | <para>Choose the target installation folder, e.g. | ||
171 | <literal>/opt/ems</literal>. Everything will be installed under a | ||
172 | folder called <literal>ucpemanager</literal> within the target | ||
173 | installation folder.</para> | ||
174 | |||
175 | <para>The application files will be installed in the | ||
176 | <literal>/opt/ems/ucpemanager/application</literal> folder, while the database | ||
177 | will be installed in the <literal>/opt/ems/ucpemanager/database</literal> folder.</para> | ||
178 | </listitem> | ||
179 | </orderedlist> | ||
180 | |||
181 | <note> | ||
182 | <para>If you have multiple spindles, it is recommended to let the | ||
183 | application run off one and the database off the other. This will | ||
184 | result in optimum performance. It is also recommended that the swap | ||
185 | disk be the same as the one used for the application.</para> | ||
186 | |||
187 | <para>Assuming another spindle is used (<literal>/drive2</literal>) do | ||
188 | the following:</para> | ||
189 | |||
190 | <orderedlist> | ||
191 | <listitem> | ||
192 | <para>Create a folder which will host the database (e.g. | ||
193 | <literal>emsDatabase</literal>).</para> | ||
194 | </listitem> | ||
195 | |||
196 | <listitem> | ||
197 | <para>Create a soft-link that will point to this folder:</para> | ||
198 | |||
199 | <programlisting>ln -s /opt/ems/elementcenter/database /drive2/emsDatabase</programlisting> | ||
200 | </listitem> | ||
201 | |||
202 | <listitem> | ||
203 | <para>Follow the installation process as described below.</para> | ||
204 | </listitem> | ||
205 | </orderedlist> | ||
206 | </note> | ||
207 | </section> | ||
208 | |||
209 | <section id="installing_ucpe_mg"> | ||
210 | <title>Installing the uCPE Manager</title> | ||
211 | |||
212 | <orderedlist> | ||
213 | <listitem> | ||
214 | <para>Open a terminal with administrative rights, i.e. log into a | ||
215 | <emphasis role="bold">bash</emphasis> shell with | ||
216 | <literal>root</literal> privileges.</para> | ||
217 | </listitem> | ||
218 | |||
219 | <listitem> | ||
220 | <para><command>cd</command> to the folder you are installing | ||
221 | from.</para> | ||
222 | </listitem> | ||
223 | |||
224 | <listitem> | ||
225 | <para>Verify that the folder you are installing from contains the | ||
226 | following files:</para> | ||
227 | |||
228 | <itemizedlist> | ||
229 | <listitem> | ||
230 | <para><filename>README</filename></para> | ||
231 | </listitem> | ||
232 | |||
233 | <listitem> | ||
234 | <para><filename>install.sh</filename></para> | ||
235 | </listitem> | ||
236 | |||
237 | <listitem> | ||
238 | <para><filename>doinstall.sh</filename></para> | ||
239 | </listitem> | ||
240 | |||
241 | <listitem> | ||
242 | <para><filename>configureHA.sh</filename></para> | ||
243 | </listitem> | ||
244 | |||
245 | <listitem> | ||
246 | <para><filename>Enea_NFV_Access_uCPEManager_<version>-build<build_number>.tar.gz</filename></para> | ||
247 | </listitem> | ||
248 | |||
249 | <listitem> | ||
250 | <para><filename>doc/ReleaseNotes</filename></para> | ||
251 | </listitem> | ||
252 | </itemizedlist> | ||
253 | </listitem> | ||
254 | |||
255 | <listitem> | ||
256 | <para>Run the following command:</para> | ||
257 | |||
258 | <programlisting>./install.sh /opt/ems \ | ||
259 | Enea_NFV_Access_uCPEManager_<version>-build<build_number>.tar.gz</programlisting> | ||
260 | </listitem> | ||
261 | </orderedlist> | ||
262 | |||
263 | <para>This command will:</para> | ||
264 | |||
265 | <itemizedlist> | ||
266 | <listitem> | ||
267 | <para>Extract the application files from the compressed install | ||
268 | kit.</para> | ||
269 | </listitem> | ||
270 | |||
271 | <listitem> | ||
272 | <para>Install the bundled database (if the user specifies an | ||
273 | internal database).</para> | ||
274 | </listitem> | ||
275 | |||
276 | <listitem> | ||
277 | <para>Install <literal>ucpemanager</literal> as a service with the | ||
278 | name <filename>ucpemanager</filename>.</para> | ||
279 | </listitem> | ||
280 | |||
281 | <listitem> | ||
282 | <para>Start the <literal>ucpemanager</literal> service.</para> | ||
283 | </listitem> | ||
284 | </itemizedlist> | ||
285 | |||
286 | <note> | ||
287 | <para>The service will be automatically started when the computer | ||
288 | boots up. The user may enable the firewall in order to allow access to | ||
289 | these specific ports: 80 (TCP), 443 (TCP), 54327 (UDP), 5701:5708 | ||
290 | (TCP) and 7000:7009 (TCP). If callhome is used, access to the | ||
291 | following ports must also be allowed: 4334 (TCP) and 2021:2040 (TCP). | ||
292 | Otherwise, the user should check that the CentOS machine where the | ||
293 | uCPE Manager is installed has the firewall disabled.</para> | ||
294 | </note> | ||
295 | |||
296 | <para>Verify that the installation has succeeded by:</para> | ||
297 | |||
298 | <orderedlist> | ||
299 | <listitem> | ||
300 | <para>Pointing your browser to the server machine running the uCPE | ||
301 | Manager.</para> | ||
302 | </listitem> | ||
303 | |||
304 | <listitem> | ||
305 | <para>In the login screen, log in with the username: <emphasis | ||
306 | role="bold">admin</emphasis> and password: <emphasis | ||
307 | role="bold">admin</emphasis>.</para> | ||
308 | </listitem> | ||
309 | </orderedlist> | ||
310 | |||
311 | <para>In order to manage the ucpemanager service, user can run: | ||
312 | <programlisting>service ucpemanager start/stop</programlisting></para> | ||
313 | </section> | ||
314 | |||
315 | <section id="ins_restore_option"> | ||
316 | <title>Installing with the restore option</title> | ||
317 | |||
318 | <para>It is possible to use a restore file created by the "System | ||
319 | Backup" utility provided in the uCPE Manager, to install a system and | ||
320 | set it to a known state.</para> | ||
321 | |||
322 | <note> | ||
323 | <para>The file to be used is the zip file created by System Backup, | ||
324 | not the one created by the uninstall or upgrade processes described | ||
325 | below.</para> | ||
326 | </note> | ||
327 | |||
328 | <para>The name format of this file will be: | ||
329 | <filename>SystemBackup_MMMDD_YYYY_HHMM_SS.zip</filename> (e.g | ||
330 | <literal>SystemBackup_Feb19_2013_2257_42.zip</literal>).</para> | ||
331 | |||
332 | <para>Follow the steps for Installation provided above and provide an | ||
333 | additional argument as shown below:</para> | ||
334 | |||
335 | <programlisting>./install.sh \ | ||
336 | /opt/ems Enea_NFV_Access_uCPEManager_<version>-build<build_number>.tar.gz \ | ||
337 | SystemBackup_MMMDD_YYYY_HHMM_SS.zip</programlisting> | ||
338 | |||
339 | <para>The other steps are exactly the same as specified in the | ||
340 | Installation instructions.</para> | ||
341 | </section> | ||
342 | |||
343 | <section id="upgrading_ucpe_mg"> | ||
344 | <title>Upgrading the uCPE Manager</title> | ||
345 | |||
346 | <orderedlist> | ||
347 | <listitem> | ||
348 | <para>Verify that the folder you are upgrading from contains the | ||
349 | following files:</para> | ||
350 | |||
351 | <itemizedlist> | ||
352 | <listitem> | ||
353 | <para><filename>upgrade.sh</filename></para> | ||
354 | </listitem> | ||
355 | |||
356 | <listitem> | ||
357 | <para><filename>doupgrade.sh</filename></para> | ||
358 | </listitem> | ||
359 | |||
360 | <listitem> | ||
361 | <para><filename>configureHA.sh</filename></para> | ||
362 | </listitem> | ||
363 | |||
364 | <listitem> | ||
365 | <para><filename>Enea_NFV_Access_uCPEManager_<version>-build<build_number>.tar.gz</filename></para> | ||
366 | </listitem> | ||
367 | </itemizedlist> | ||
368 | </listitem> | ||
369 | |||
370 | <listitem> | ||
371 | <para>Run the following command:</para> | ||
372 | |||
373 | <programlisting>./upgrade.sh /opt/ems \ | ||
374 | Enea_NFV_Access_uCPEManager_<version>-build<build_number>.tar.gz</programlisting> | ||
375 | </listitem> | ||
376 | </orderedlist> | ||
377 | |||
378 | <para>Running this command will:</para> | ||
379 | |||
380 | <itemizedlist> | ||
381 | <listitem> | ||
382 | <para>Stop the currently running ucpemanager service.</para> | ||
383 | </listitem> | ||
384 | |||
385 | <listitem> | ||
386 | <para>Create a compressed file of the ucpemanager application | ||
387 | folder, called: | ||
388 | <literal>ucpemanager-Backup-YYYYddMMHHmm.tar.gz</literal>, which | ||
389 | contains a snapshot of the existing installation.</para> | ||
390 | </listitem> | ||
391 | |||
392 | <listitem> | ||
393 | <para>Rename the <literal>application</literal> folder to | ||
394 | <literal>application_original</literal>.</para> | ||
395 | </listitem> | ||
396 | |||
397 | <listitem> | ||
398 | <para>Extract the application files from the specified compressed | ||
399 | install kit. There will now exist a (new) application folder, with | ||
400 | the contents of the new kit.</para> | ||
401 | </listitem> | ||
402 | |||
403 | <listitem> | ||
404 | <para>Start the ucpemanager service.</para> | ||
405 | </listitem> | ||
406 | </itemizedlist> | ||
407 | |||
408 | <para>When the ucpemanager service starts, it will recognize the fact | ||
409 | that an old version of the application needs to be upgraded (based upon | ||
410 | the existence of the <literal>application_original</literal> folder. All | ||
411 | the relevant data from the old installation will be copied to the new | ||
412 | one and the <literal>application_original</literal> folder will be | ||
413 | deleted.</para> | ||
414 | </section> | ||
415 | |||
416 | <section id="uninstalling_ucpe_mg"> | ||
417 | <title>Uninstalling an existing uCPE Manager installation</title> | ||
418 | |||
419 | <orderedlist> | ||
420 | <listitem> | ||
421 | <para>Verify that the folder you are uninstalling from contains the | ||
422 | following files:</para> | ||
423 | |||
424 | <itemizedlist> | ||
425 | <listitem> | ||
426 | <para><filename>uninstall.sh</filename></para> | ||
427 | </listitem> | ||
428 | |||
429 | <listitem> | ||
430 | <para><filename>douninstall.sh</filename></para> | ||
431 | </listitem> | ||
432 | </itemizedlist> | ||
433 | </listitem> | ||
434 | |||
435 | <listitem> | ||
436 | <para>Run the following command:</para> | ||
437 | |||
438 | <programlisting>./uninstall.sh /opt/ems</programlisting> | ||
439 | </listitem> | ||
440 | </orderedlist> | ||
441 | |||
442 | <para>Running this command will:</para> | ||
443 | |||
444 | <itemizedlist> | ||
445 | <listitem> | ||
446 | <para>Stop the currently running ucpemanager service.</para> | ||
447 | </listitem> | ||
448 | |||
449 | <listitem> | ||
450 | <para>Create a compressed file of the ucpemanager application | ||
451 | folder, called | ||
452 | <literal>ucpemanager-Backup-YYYYddMMHHmm.tar.gz</literal>, which | ||
453 | contains a snapshot of the existing installation.</para> | ||
454 | </listitem> | ||
455 | |||
456 | <listitem> | ||
457 | <para>Uninstall the ucpemanager service, so that it will not startup | ||
458 | on reboot.</para> | ||
459 | </listitem> | ||
460 | |||
461 | <listitem> | ||
462 | <para>Uninstall the database service (if an internal database is | ||
463 | being used).</para> | ||
464 | </listitem> | ||
465 | |||
466 | <listitem> | ||
467 | <para>Completely remove the contents of the | ||
468 | <literal>application</literal> and <literal>database</literal> | ||
469 | folders.</para> | ||
470 | </listitem> | ||
471 | </itemizedlist> | ||
472 | |||
473 | <para>After these steps, the uCPE Manager is completely removed from the | ||
474 | system.</para> | ||
475 | </section> | ||
476 | |||
477 | <section id="restoring_pre_installation"> | ||
478 | <title>Restoring a previous uCPE Manager installation</title> | ||
479 | |||
480 | <orderedlist> | ||
481 | <listitem> | ||
482 | <para>Verify that the folder you are restoring from contains the | ||
483 | following files:</para> | ||
484 | |||
485 | <itemizedlist> | ||
486 | <listitem> | ||
487 | <para><filename>restore.sh</filename></para> | ||
488 | </listitem> | ||
489 | |||
490 | <listitem> | ||
491 | <para><filename>dorestore.sh</filename></para> | ||
492 | </listitem> | ||
493 | |||
494 | <listitem> | ||
495 | <para><filename>configureHA.sh</filename></para> | ||
496 | </listitem> | ||
497 | |||
498 | <listitem> | ||
499 | <para><filename>ucpemanager-Backup-YYYYddMMHHmm.tar.gz</filename> | ||
500 | (the original installation snapshot, as obtained from a previous | ||
501 | uninstall).</para> | ||
502 | </listitem> | ||
503 | </itemizedlist> | ||
504 | </listitem> | ||
505 | |||
506 | <listitem> | ||
507 | <para>Run the following command:</para> | ||
508 | |||
509 | <programlisting>./restore.sh /opt/ems ucpemanager-Backup-YYYYddMMHHmm.tar.gz</programlisting> | ||
510 | </listitem> | ||
511 | </orderedlist> | ||
512 | |||
513 | <para>Running this command will remove any vestiges of the existing | ||
514 | ucpemanager service, if they exist, and reinstall the ucpemanager | ||
515 | application on the specified target, restoring the data in the database | ||
516 | and files in the process.</para> | ||
517 | |||
518 | <para>The ucpemanager service is then started and the older version is | ||
519 | now running on the system.</para> | ||
520 | </section> | ||
521 | </section> | ||
522 | |||
523 | <section id="device_config_provision"> | ||
524 | <title>Device Configuration and Provisioning</title> | ||
525 | |||
526 | <para>The following describes the steps required for setting up the | ||
527 | virtualization infrastructure, ensuring that a uCPE device is ready for | ||
528 | virtualized service deployment. The sections herein contain information | ||
529 | about enrolling uCPE devices into the Enea uCPE Manager, selecting | ||
530 | physical interfaces to be used by virtualized networking and creating | ||
531 | different types of bridges to enable VNF communication. The Zero Touch | ||
532 | Provisioning mechanism is also touched upon, as alternative to manual | ||
533 | configuration of the virtualization infrastructure.</para> | ||
534 | |||
535 | <section id="device_config"> | ||
536 | <title>Add a uCPE device to the Management System</title> | ||
537 | |||
538 | <para>Enrolling uCPE devices into the Enea uCPE Manager can be | ||
539 | accomplished using one of the two possible methods.</para> | ||
540 | |||
541 | <section id="man_config"> | ||
542 | <title>Direct Connection</title> | ||
543 | |||
544 | <para>When using this mechanism, the uCPE Manager will periodically | ||
545 | poll the uCPE device, using a specified IP address as the destination, | ||
546 | attempting to establish a management connection.</para> | ||
547 | |||
548 | <para>Add the uCPE device running the NFV Access Run Time Platform to | ||
549 | the management system by:</para> | ||
550 | |||
551 | <orderedlist> | ||
552 | <listitem> | ||
553 | <para>Selecting in the uCPE Manager: <literal>Devices -> Manage | ||
554 | -> Add</literal>.</para> | ||
555 | </listitem> | ||
556 | |||
557 | <listitem> | ||
558 | <para>Suppling information about the uCPE device, and setting the | ||
559 | parameters that will be used to connect to it.</para> | ||
560 | </listitem> | ||
561 | </orderedlist> | ||
562 | |||
563 | <para>The relevant parameters are:</para> | ||
564 | |||
565 | <itemizedlist> | ||
566 | <listitem> | ||
567 | <para>Type. The type of device to be added, i.e <literal>Enea | ||
568 | universal CPE</literal>.</para> | ||
569 | </listitem> | ||
570 | |||
571 | <listitem> | ||
572 | <para>Name. The name by which the device is referred to in the | ||
573 | uCPE Manager.</para> | ||
574 | </listitem> | ||
575 | |||
576 | <listitem> | ||
577 | <para>SSH Port. The NETCONF Port used for communications. Default | ||
578 | is set to 830.</para> | ||
579 | </listitem> | ||
580 | |||
581 | <listitem> | ||
582 | <para>SSH User Name. The user name for SSH connectivity. Default | ||
583 | user is root.</para> | ||
584 | </listitem> | ||
585 | |||
586 | <listitem> | ||
587 | <para>SSH Password. Leave this blank.</para> | ||
588 | </listitem> | ||
589 | |||
590 | <listitem> | ||
591 | <para>Device Calls Home. This checkbox indicates the direction of | ||
592 | device communications. For Direct Connection, leave this flag | ||
593 | unchecked.</para> | ||
594 | </listitem> | ||
595 | |||
596 | <listitem> | ||
597 | <para>Device ID. The unique identifier of the uCPE device.</para> | ||
598 | </listitem> | ||
599 | </itemizedlist> | ||
600 | </section> | ||
601 | |||
602 | <section id="using_call_home"> | ||
603 | <title>Device Call Home Connection</title> | ||
604 | |||
605 | <para>Follow the same steps as described in the previous section, | ||
606 | making sure that the <literal>Device Calls Home</literal> checkbox is | ||
607 | selected this time.</para> | ||
608 | |||
609 | <para>When using this mechanism, the device will initiate a connection | ||
610 | to the uCPE Manager for NETCONF traffic (over SSH), while the uCPE | ||
611 | Manager waits for a device connection. For more information please see | ||
612 | section <olink targetdoc="book_enea_nfv_access_getting_started" | ||
613 | targetptr="auto_installer">Creating a bootable USB stick in the | ||
614 | <xi:include href="../../s_docbuild/olinkdb/pardoc-names.xml" | ||
615 | xmlns:xi="http://www.w3.org/2001/XInclude" | ||
616 | xpointer="element(book_enea_nfv_access_getting_started/1)" /></olink> | ||
617 | Manual for more details.</para> | ||
618 | </section> | ||
619 | </section> | ||
620 | |||
621 | <section id="host_int_net_config"> | ||
622 | <title>Configure NFV Infrastructure</title> | ||
623 | |||
624 | <para>Once a management connection with the uCPE device has been | ||
625 | established by using any of the supported methods, the virtualization | ||
626 | networking infrastructure can be configured either manually or by using | ||
627 | Zero Touch Provisioning.</para> | ||
628 | |||
629 | <para>Available network interfaces can be added to the management | ||
630 | system, for use by the networking virtualization infrastructure.</para> | ||
631 | |||
632 | <para>In order to make physical network interfaces available to the | ||
633 | virtualization infrastructure and VNFs, they must be configured into the | ||
634 | management system.</para> | ||
635 | |||
636 | <para>To add an interface into the uCPE Manager, select the uCPE device, | ||
637 | then from the top toolbar select <literal>Configuration -> External | ||
638 | Interfaces -> Configuration -> Add</literal>. The available | ||
639 | Interface types are detailed below.</para> | ||
640 | |||
641 | <section id="dpdk_interface_type"> | ||
642 | <title>DPDK Interface Type</title> | ||
643 | |||
644 | <para>Configuring a physical interface in DPDK mode will require a | ||
645 | DPDK-based application (e.g. OVS-DPDK) in order to access and use the | ||
646 | interface. An interface set as DPDK can be attached to an OVS-DPDK | ||
647 | bridge.</para> | ||
648 | |||
649 | <note> | ||
650 | <para>Make sure the <literal>Enable DPDK</literal> checkbox is | ||
651 | selected in <literal>Device -> Configuration -> | ||
652 | DPDK</literal>, otherwise no interface can be assigned as | ||
653 | DPDK.</para> | ||
654 | </note> | ||
655 | |||
656 | <para>To add a DPDK interface under the management system, set | ||
657 | appropriate values for the following fields:</para> | ||
658 | |||
659 | <itemizedlist> | ||
660 | <listitem> | ||
661 | <para>Source: name of the physical interface.</para> | ||
662 | </listitem> | ||
663 | |||
664 | <listitem> | ||
665 | <para>Type: dpdk</para> | ||
666 | </listitem> | ||
667 | |||
668 | <listitem> | ||
669 | <para>Networking-type: dpdk</para> | ||
670 | </listitem> | ||
671 | |||
672 | <listitem> | ||
673 | <para>Dpdk-type: the kernel module that allows user space access | ||
674 | to the physical interface. Either the <literal>vfio-pci</literal> | ||
675 | or the <literal>igb_uio</literal> driver can be used.</para> | ||
676 | </listitem> | ||
677 | </itemizedlist> | ||
678 | </section> | ||
679 | |||
680 | <section id="sriov_interface_type"> | ||
681 | <title>SR-IOV Interface Type</title> | ||
682 | |||
683 | <para>SR-IOV technology allows for the creation of a number of virtual | ||
684 | functions on the host interface, which can be used by VNFs running on | ||
685 | the uCPE device.</para> | ||
686 | |||
687 | <para>For SR-IOV mode configuration, the user must set values for the | ||
688 | following fields:</para> | ||
689 | |||
690 | <itemizedlist> | ||
691 | <listitem> | ||
692 | <para>Source: name of the physical interface.</para> | ||
693 | </listitem> | ||
694 | |||
695 | <listitem> | ||
696 | <para>Type: sr-iov</para> | ||
697 | </listitem> | ||
698 | |||
699 | <listitem> | ||
700 | <para>Networking-type: srIov</para> | ||
701 | </listitem> | ||
702 | |||
703 | <listitem> | ||
704 | <para>sriov-mode: adapter-pool</para> | ||
705 | </listitem> | ||
706 | |||
707 | <listitem> | ||
708 | <para>sriov-num-vfs: the number of virtual functions to | ||
709 | create.</para> | ||
710 | </listitem> | ||
711 | </itemizedlist> | ||
712 | </section> | ||
713 | |||
714 | <section id="standard_interface_type"> | ||
715 | <title>Standard Interface Type</title> | ||
716 | |||
717 | <para>Some of the physical network interfaces available on a uCPE | ||
718 | device, including Ethernet interfaces, do not have DPDK or SR-IOV | ||
719 | support. Instead, the Linux kernel driver has to be used. Wi-Fi and | ||
720 | 4G/LTE modems can also be configured and used for virtualization | ||
721 | infrastructure and VNFs.</para> | ||
722 | |||
723 | <para>To add Standard interfaces under the management system, the user | ||
724 | must set values for the following fields:</para> | ||
725 | |||
726 | <itemizedlist> | ||
727 | <listitem> | ||
728 | <para>Source: the name of physical interface.</para> | ||
729 | </listitem> | ||
730 | |||
731 | <listitem> | ||
732 | <para>Networking-type: standard</para> | ||
733 | </listitem> | ||
734 | </itemizedlist> | ||
735 | </section> | ||
736 | |||
737 | <section condition="hidden" id="pci_passthrough_interface_type"> | ||
738 | <title>PCI Passthrough Interface Type</title> | ||
739 | |||
740 | <para>For the PCI Passthrough a user does not have to configure a | ||
741 | physical interface, instead simply select the PCI address and connect | ||
742 | it to a virtual port when the VNF instantiation step is | ||
743 | reached.</para> | ||
744 | </section> | ||
745 | |||
746 | <section id="man_configuration"> | ||
747 | <title>Manual Configuration</title> | ||
748 | |||
749 | <para>For Manual Configuration of uCPE networking, select the uCPE | ||
750 | device first and then <literal>Configuration</literal> -> | ||
751 | <literal>External Interfaces</literal>, where one can find a list of | ||
752 | available network interfaces and their capabilities.</para> | ||
753 | |||
754 | <section id="configure_interfaces"> | ||
755 | <title>Configuring Interfaces</title> | ||
756 | |||
757 | <para>After networking interfaces have been added to the uCPE | ||
758 | Manager, the user can change the interface type (DPDK, SR-IOV, | ||
759 | Standard, WAN).</para> | ||
760 | |||
761 | <note> | ||
762 | <para>WAN interfaces, which are configured during the installation | ||
763 | of the device, do not need to be added, they will be automatically | ||
764 | listed as such in the uCPE manager when the device | ||
765 | connects.</para> | ||
766 | </note> | ||
767 | |||
768 | <figure> | ||
769 | <title>Configuration of External Interfaces</title> | ||
770 | |||
771 | <mediaobject> | ||
772 | <imageobject> | ||
773 | <imagedata align="center" contentwidth="600" | ||
774 | fileref="images/edit_inter_config.png" /> | ||
775 | </imageobject> | ||
776 | </mediaobject> | ||
777 | </figure> | ||
778 | |||
779 | <para><emphasis role="bold">How to Edit the Configuration of an | ||
780 | Interface</emphasis></para> | ||
781 | |||
782 | <orderedlist> | ||
783 | <listitem> | ||
784 | <para>To edit an interface configuration type from the uCPE | ||
785 | Manager, select the uCPE device, then from the top toolbar | ||
786 | select the <literal>Configuration</literal> menu then | ||
787 | <literal>External Interfaces -> Configuration</literal>. The | ||
788 | already configured interfaces are displayed here, as can be seen | ||
789 | in the figure above.</para> | ||
790 | </listitem> | ||
791 | |||
792 | <listitem> | ||
793 | <para>In order to edit an already configured interface, (as in | ||
794 | the example popup shown below, a WAN interface) double click on | ||
795 | the desired one and a popup will appear. A different popup | ||
796 | appears for each type of interface. From the Host Interface | ||
797 | window, a user can change the networking type and the IP address | ||
798 | assignment:</para> | ||
799 | |||
800 | <figure> | ||
801 | <title>Editing an Interface</title> | ||
802 | |||
803 | <mediaobject> | ||
804 | <imageobject> | ||
805 | <imagedata align="center" contentwidth="500" | ||
806 | fileref="images/edit_inter.png" /> | ||
807 | </imageobject> | ||
808 | </mediaobject> | ||
809 | </figure> | ||
810 | </listitem> | ||
811 | </orderedlist> | ||
812 | |||
813 | <note> | ||
814 | <para>The IP address assignment of an interface can be set as | ||
815 | static or dynamic for each type of interface.</para> | ||
816 | </note> | ||
817 | </section> | ||
818 | |||
819 | <section id="configure_bridges"> | ||
820 | <title>Configuring Bridges</title> | ||
821 | |||
822 | <para>After networking interfaces have been added to the uCPE | ||
823 | Manager, the user can create the necessary OVS bridges.</para> | ||
824 | |||
825 | <figure> | ||
826 | <title>OVS Bridges</title> | ||
827 | |||
828 | <mediaobject> | ||
829 | <imageobject> | ||
830 | <imagedata align="center" contentwidth="600" | ||
831 | fileref="images/ovs_bridges_tab.png" /> | ||
832 | </imageobject> | ||
833 | </mediaobject> | ||
834 | </figure> | ||
835 | |||
836 | <para><emphasis role="bold">How to add OVS bridges in the uCPE | ||
837 | Manager</emphasis></para> | ||
838 | |||
839 | <orderedlist> | ||
840 | <listitem> | ||
841 | <para>Select the uCPE device.</para> | ||
842 | </listitem> | ||
843 | |||
844 | <listitem> | ||
845 | <para>Select Configuration.</para> | ||
846 | </listitem> | ||
847 | |||
848 | <listitem> | ||
849 | <para>Click OpenvSwitch.</para> | ||
850 | </listitem> | ||
851 | |||
852 | <listitem> | ||
853 | <para>Select the Bridges option, then click Add.</para> | ||
854 | </listitem> | ||
855 | </orderedlist> | ||
856 | |||
857 | <note> | ||
858 | <para>Depending on the settings in <literal>Configuration -> | ||
859 | OpenVSwitch -> DPDK</literal>, OVS bridges with or without DPDK | ||
860 | support will be used on the uCPE device.</para> | ||
861 | </note> | ||
862 | |||
863 | <para>There are three types of bridges which can be created, each | ||
864 | one fulfiling a different role.</para> | ||
865 | |||
866 | <section id="inband_mg_bridge"> | ||
867 | <title>uCPE In-band Management bridge</title> | ||
868 | |||
869 | <para>In-band Management refers to a model where both the data | ||
870 | plane and control plane flow over the same network path. In some | ||
871 | situations (e.g. the uCPE device has only one routable IP | ||
872 | address), this is the only option available to both control and | ||
873 | configure the uCPE device, while also allowing for data-path | ||
874 | traffic to pass over the same physical interface.</para> | ||
875 | |||
876 | <para>The solution provided by Enea for in-band management is | ||
877 | based upon an OpenvSwitch bridge fielding all traffic passing | ||
878 | through the WAN physical port. Any standard or DPDK-assigned | ||
879 | network interface can be used for the In-Band management | ||
880 | bridge.</para> | ||
881 | |||
882 | <note> | ||
883 | <para>The In-Band Management bridge must be recreated each time | ||
884 | the uCPE Manager IP address is changed.</para> | ||
885 | </note> | ||
886 | |||
887 | <para>To create the In-Band Management bridge, the user must set | ||
888 | values for the following fields:</para> | ||
889 | |||
890 | <itemizedlist> | ||
891 | <listitem> | ||
892 | <para>name: name of the bridge.</para> | ||
893 | </listitem> | ||
894 | |||
895 | <listitem> | ||
896 | <para>ovs-bridge-type: inbandMgmt</para> | ||
897 | </listitem> | ||
898 | </itemizedlist> | ||
899 | |||
900 | <note> | ||
901 | <para>The first VNF instantiated on the uCPE device must be | ||
902 | connected to the In-Band Management bridge and its WAN interface | ||
903 | must be configured as the DHCP client.</para> | ||
904 | </note> | ||
905 | </section> | ||
906 | |||
907 | <section id="inband_mg_br_vnfs"> | ||
908 | <title>In-band Management bridge for VNFs</title> | ||
909 | |||
910 | <para>If VNF management can be done over a dedicated virtual | ||
911 | interface, its possible to extend the networking infrastructure | ||
912 | configuration to also access the VNF's management interface over | ||
913 | the WAN port.</para> | ||
914 | |||
915 | <para>For this setup, three types of traffic will pass over the | ||
916 | WAN physical interface:</para> | ||
917 | |||
918 | <itemizedlist> | ||
919 | <listitem> | ||
920 | <para>Device management. Part of the device configuration done | ||
921 | by the uCPE Manager.</para> | ||
922 | </listitem> | ||
923 | |||
924 | <listitem> | ||
925 | <para>VNF(s) management. Enabling or disabling features of a | ||
926 | VNF. E.g. enabling/disabling the firewall or VPN setup.</para> | ||
927 | </listitem> | ||
928 | |||
929 | <listitem> | ||
930 | <para>Data-path. All other traffic that is not used in the | ||
931 | control plane and needs to reach a LAN network.</para> | ||
932 | </listitem> | ||
933 | </itemizedlist> | ||
934 | |||
935 | <para>To create a VNF In-Band Management bridge, the user must set | ||
936 | values for the following fields:</para> | ||
937 | |||
938 | <itemizedlist> | ||
939 | <listitem> | ||
940 | <para>name: name of the bridge.</para> | ||
941 | </listitem> | ||
942 | |||
943 | <listitem> | ||
944 | <para>ovs-bridge-type: vnfMgmt</para> | ||
945 | </listitem> | ||
946 | |||
947 | <listitem> | ||
948 | <para>vnf-mgmt-address: select IPv4 as the type and fill in | ||
949 | the IP address for management network, e.g 10.0.0.1.</para> | ||
950 | </listitem> | ||
951 | </itemizedlist> | ||
952 | |||
953 | <note> | ||
954 | <para>VNF management interfaces must be configured in same | ||
955 | network as the <literal>vnf-mgmt-address</literal> of the | ||
956 | bridge. For more information, please see section <olink | ||
957 | targetdoc="book_enea_nfv_access_getting_started" | ||
958 | targetptr="vnf_management">VNF Management in the <xi:include | ||
959 | href="../../s_docbuild/olinkdb/pardoc-names.xml" | ||
960 | xmlns:xi="http://www.w3.org/2001/XInclude" | ||
961 | xpointer="element(book_enea_nfv_access_getting_started/1)" /></olink> | ||
962 | Manual.</para> | ||
963 | </note> | ||
964 | </section> | ||
965 | |||
966 | <section id="dataplane_bridge"> | ||
967 | <title>Data-plane Bridge</title> | ||
968 | |||
969 | <para>Data-plane bridges are generic bridges used for the VNF | ||
970 | data-plane. There are two supported sub-types:</para> | ||
971 | |||
972 | <itemizedlist> | ||
973 | <listitem> | ||
974 | <para>communication: allows for VNF communication towards | ||
975 | LAN/WAN networks. This bridge type has at least one physical | ||
976 | port attached to it.</para> | ||
977 | </listitem> | ||
978 | |||
979 | <listitem> | ||
980 | <para>integration: allows for VNF-to-VNF communication | ||
981 | (usually for service function chaining). This bridge type does | ||
982 | not have any physical port attached.</para> | ||
983 | </listitem> | ||
984 | </itemizedlist> | ||
985 | |||
986 | <para>To create a Data-plane bridge, the user must set values for | ||
987 | the following fields:</para> | ||
988 | |||
989 | <itemizedlist> | ||
990 | <listitem> | ||
991 | <para>name: name of the bridge.</para> | ||
992 | </listitem> | ||
993 | |||
994 | <listitem> | ||
995 | <para>ovs-bridge-type: select <literal>communication</literal> | ||
996 | or <literal>integration</literal>, depending on intended | ||
997 | usage. For communication bridges, physical interfaces can be | ||
998 | added to the bridge.</para> | ||
999 | </listitem> | ||
1000 | </itemizedlist> | ||
1001 | </section> | ||
1002 | </section> | ||
1003 | </section> | ||
1004 | |||
1005 | <section id="zero_touch_prov"> | ||
1006 | <title>Zero Touch Provisioning</title> | ||
1007 | |||
1008 | <para>Zero-Touch Provisioning (ZTP) refers to the process of when a | ||
1009 | device starts up for the first time and its initial configuration is | ||
1010 | pushed down by an external management system, so that it is setup for | ||
1011 | proper operation without additional manual intervention by an | ||
1012 | operator. ZTP is an alternative to Manual configuration.</para> | ||
1013 | |||
1014 | <para>A variety of operations can occur as part of ZTP such as initial | ||
1015 | device setup, configuration of managed objects, etc. The goal is to | ||
1016 | set up a device to the maximum possible extent without forcing an | ||
1017 | operator to be physically present (initially) to manage the | ||
1018 | device.</para> | ||
1019 | |||
1020 | <para>An offline configuration is usually prepared in advance for the | ||
1021 | uCPE Manager to setup the virtualization infrastructure on the uCPE | ||
1022 | device, as soon as a device enrolls into the management system.</para> | ||
1023 | |||
1024 | <section id="offline_configuration"> | ||
1025 | <title>Offline Configuration</title> | ||
1026 | |||
1027 | <para>The Offline Configuration subsystem is used to pre-populate a | ||
1028 | configuration for a device that will be brought under management at | ||
1029 | a future point in time. When creating an offline configuration store | ||
1030 | a <literal>Device ID</literal> can be specified. This ID uniquely | ||
1031 | identifies the device to be initialized.</para> | ||
1032 | |||
1033 | <para>Alternatively, a wildcard can be used in the <literal>Device | ||
1034 | ID</literal> field, which results in a configuration being pushed on | ||
1035 | all uCPE devices upon their initial connection towards the uCPE | ||
1036 | Manager.</para> | ||
1037 | |||
1038 | <para>To create an offline configuration, from the top toolbar menu | ||
1039 | select <literal>Applications</literal> -> <literal>Offline | ||
1040 | Config</literal> -> <literal>Add</literal>. The following fields | ||
1041 | are available:</para> | ||
1042 | |||
1043 | <itemizedlist> | ||
1044 | <listitem> | ||
1045 | <para>Name: name of the device.</para> | ||
1046 | </listitem> | ||
1047 | |||
1048 | <listitem> | ||
1049 | <para>Device type: Enea universal CPE.</para> | ||
1050 | </listitem> | ||
1051 | |||
1052 | <listitem> | ||
1053 | <para>Device version: 2.2.2</para> | ||
1054 | </listitem> | ||
1055 | |||
1056 | <listitem> | ||
1057 | <para>Config Set: uCPE Config</para> | ||
1058 | </listitem> | ||
1059 | |||
1060 | <listitem> | ||
1061 | <para>Device ID: device ID or a wildcard(*).</para> | ||
1062 | </listitem> | ||
1063 | |||
1064 | <listitem> | ||
1065 | <para>Device Grouping Tags: a tag to group devices. These tags | ||
1066 | match the customer tags provided during the installation of the | ||
1067 | device.</para> | ||
1068 | </listitem> | ||
1069 | </itemizedlist> | ||
1070 | |||
1071 | <para>When a device connects to the uCPE Manager for the first time, | ||
1072 | it checks the device to see if it has been Zero Touch Provisioned | ||
1073 | (ZTP). If not, it looks for an offline configuration that matches | ||
1074 | these values, in the following order:</para> | ||
1075 | |||
1076 | <itemizedlist> | ||
1077 | <listitem> | ||
1078 | <para>The Device ID.</para> | ||
1079 | </listitem> | ||
1080 | |||
1081 | <listitem> | ||
1082 | <para>The set of tags.</para> | ||
1083 | </listitem> | ||
1084 | |||
1085 | <listitem> | ||
1086 | <para>A "*" for Device ID (wildcard).</para> | ||
1087 | </listitem> | ||
1088 | </itemizedlist> | ||
1089 | |||
1090 | <para>If a match is found, the offline configuration is sent to the | ||
1091 | device as part of Zero-Touch-Provisioning.</para> | ||
1092 | |||
1093 | <para>After creating the Offline Config Store, access the device | ||
1094 | through <literal>Applications</literal> -> <literal>offline | ||
1095 | config</literal> -> <literal>Config App</literal> and provision | ||
1096 | it with the required initial configuration. This operation mirrors | ||
1097 | what happens during manual configuration described in the previous | ||
1098 | section.</para> | ||
1099 | </section> | ||
1100 | </section> | ||
1101 | |||
1102 | <section id="custom_scripts"> | ||
1103 | <title>Custom Scripts</title> | ||
1104 | |||
1105 | <para>The custom scripts feature allows users to execute user-defined | ||
1106 | scripts on the uCPE device at various times.This allows for more | ||
1107 | flexible and advanced configurations such as a LTE modem | ||
1108 | configuration, advanced network configurations or OVS flow rule | ||
1109 | programming at any time.</para> | ||
1110 | |||
1111 | <section id="upload_scripts"> | ||
1112 | <title>Uploading Scripts</title> | ||
1113 | |||
1114 | <para>The scripts need to be uploaded to the uCPE Manager prior to | ||
1115 | use. When uploading scripts to the uCPE Manager make sure to select | ||
1116 | the right script type.</para> | ||
1117 | |||
1118 | <para>The following script types are supported:</para> | ||
1119 | |||
1120 | <itemizedlist> | ||
1121 | <listitem> | ||
1122 | <para><literal>Once-before-startup</literal>. This script will | ||
1123 | only execute once during the startup.</para> | ||
1124 | </listitem> | ||
1125 | |||
1126 | <listitem> | ||
1127 | <para><literal>Always-before-startup</literal>. This script will | ||
1128 | always execute during the startup.</para> | ||
1129 | </listitem> | ||
1130 | |||
1131 | <listitem> | ||
1132 | <para><literal>Once-after-startup</literal>. This script will | ||
1133 | only execute once after the system has been started.</para> | ||
1134 | </listitem> | ||
1135 | |||
1136 | <listitem> | ||
1137 | <para><literal>Always-after-startup</literal>. This script will | ||
1138 | always execute after the system has been started.</para> | ||
1139 | </listitem> | ||
1140 | </itemizedlist> | ||
1141 | |||
1142 | <para>Follow the instruction below to upload scripts:</para> | ||
1143 | |||
1144 | <orderedlist> | ||
1145 | <listitem> | ||
1146 | <para>Select <literal>Devices</literal> -> <literal>Custom | ||
1147 | Scripts</literal> -> <literal>Configure</literal>.</para> | ||
1148 | </listitem> | ||
1149 | |||
1150 | <listitem> | ||
1151 | <para>Select <literal>Upload to EMS</literal>.</para> | ||
1152 | </listitem> | ||
1153 | |||
1154 | <listitem> | ||
1155 | <para>In the <literal>Script Type</literal> menu, select the | ||
1156 | type the uploaded script should have.</para> | ||
1157 | </listitem> | ||
1158 | |||
1159 | <listitem> | ||
1160 | <para>Press <literal>Choose File</literal> to select the scripts | ||
1161 | needed, and then press <literal>Send</literal>.</para> | ||
1162 | </listitem> | ||
1163 | </orderedlist> | ||
1164 | </section> | ||
1165 | |||
1166 | <section id="remove_scripts"> | ||
1167 | <title>Removing Scripts</title> | ||
1168 | |||
1169 | <para>Follow the instruction below to remove scripts:</para> | ||
1170 | |||
1171 | <orderedlist> | ||
1172 | <listitem> | ||
1173 | <para>Select <literal>Devices</literal> -> <literal>Custom | ||
1174 | Scripts</literal> -> <literal>Configure</literal>.</para> | ||
1175 | </listitem> | ||
1176 | |||
1177 | <listitem> | ||
1178 | <para>Select the script you want to delete from the | ||
1179 | <literal>Uploaded Scripts</literal> tab and then click | ||
1180 | <literal>Delete</literal>, which will remove the script | ||
1181 | immediately from the uCPE Manager.</para> | ||
1182 | </listitem> | ||
1183 | </orderedlist> | ||
1184 | </section> | ||
1185 | |||
1186 | <section id="configure_scripts"> | ||
1187 | <title>Configuring Script Location</title> | ||
1188 | |||
1189 | <para>The location where the scripts are staged in the uCPE Manager | ||
1190 | can be chanaged as described below:</para> | ||
1191 | |||
1192 | <orderedlist> | ||
1193 | <listitem> | ||
1194 | <para>Select <literal>Devices</literal> -> <literal>Custom | ||
1195 | Scripts</literal> -> <literal>Configure</literal>.</para> | ||
1196 | </listitem> | ||
1197 | |||
1198 | <listitem> | ||
1199 | <para>Select the <literal>Configuration</literal> tab and | ||
1200 | specify a new loacation to store the scripts.</para> | ||
1201 | |||
1202 | <note> | ||
1203 | <para>Change the script storage location only if you have many | ||
1204 | scripts which you would prefer to store on another partition, | ||
1205 | otherwise leave this configuration as is.</para> | ||
1206 | </note> | ||
1207 | </listitem> | ||
1208 | </orderedlist> | ||
1209 | </section> | ||
1210 | |||
1211 | <section id="run_the_scripts"> | ||
1212 | <title>Running the Scripts</title> | ||
1213 | |||
1214 | <para><emphasis role="bold">How to run Custom | ||
1215 | Scripts</emphasis></para> | ||
1216 | |||
1217 | <orderedlist> | ||
1218 | <listitem> | ||
1219 | <para>Select <literal>Devices</literal> -> <literal>Custom | ||
1220 | Scripts</literal> -> <literal>Apply Scripts</literal>.</para> | ||
1221 | </listitem> | ||
1222 | |||
1223 | <listitem> | ||
1224 | <para>In the <literal>Script Config Screen</literal> pop up, | ||
1225 | select the devices from the device(s) chooser list on which to | ||
1226 | run the scripts. Press the <literal>></literal> button to | ||
1227 | move the devices to the right side of the chooser, which is the | ||
1228 | list of devices that will execute the selected scripts.</para> | ||
1229 | </listitem> | ||
1230 | |||
1231 | <listitem> | ||
1232 | <para>Select the scripts from the list under the device(s) | ||
1233 | chooser by pressing the <literal>+</literal> button.</para> | ||
1234 | </listitem> | ||
1235 | |||
1236 | <listitem> | ||
1237 | <para>In the pop-up window, select the scripts from the list. If | ||
1238 | there are no scripts to select, then there is no script uploaded | ||
1239 | with that particular type. Upload the script(s) needed and try | ||
1240 | again.</para> | ||
1241 | </listitem> | ||
1242 | |||
1243 | <listitem> | ||
1244 | <para>Check the checkbox <literal>Reboot devices</literal> if | ||
1245 | you want to reboot and execute the scripts at once and then | ||
1246 | press <literal>ok</literal>.</para> | ||
1247 | |||
1248 | <note> | ||
1249 | <para>The status of execution for the scripts can be seen by | ||
1250 | opening the <literal>Fault</literal> -> | ||
1251 | <literal>Events</literal> screen and filtering by device | ||
1252 | and/or the event name <filename>Custom</filename>.</para> | ||
1253 | </note> | ||
1254 | </listitem> | ||
1255 | </orderedlist> | ||
1256 | </section> | ||
1257 | </section> | ||
1258 | </section> | ||
1259 | </section> | ||
1260 | |||
1261 | <section id="device_upgrade"> | ||
1262 | <title>Device Upgrade</title> | ||
1263 | |||
1264 | <section id="device_upgrade_process"> | ||
1265 | <title>Device Upgrade Process</title> | ||
1266 | |||
1267 | <para>Device Upgrade/Install performs the following operations to the | ||
1268 | device:</para> | ||
1269 | |||
1270 | <itemizedlist> | ||
1271 | <listitem> | ||
1272 | <para><emphasis role="bold">Prepare for upgrade</emphasis>. This | ||
1273 | stage tells the device that an upgrade is about to happen.</para> | ||
1274 | </listitem> | ||
1275 | |||
1276 | <listitem> | ||
1277 | <para><emphasis role="bold">Install file on device</emphasis>. This | ||
1278 | stage copies the file to the uCPE device.</para> | ||
1279 | </listitem> | ||
1280 | |||
1281 | <listitem> | ||
1282 | <para><emphasis role="bold">Upgrade Device</emphasis>. This stage | ||
1283 | causes the device to replace its running image with the newly copied | ||
1284 | image.</para> | ||
1285 | </listitem> | ||
1286 | </itemizedlist> | ||
1287 | </section> | ||
1288 | |||
1289 | <section id="managing_device_upgrade"> | ||
1290 | <title>Managing the Device Upgrade</title> | ||
1291 | |||
1292 | <para>Before an install or upgrade can be completed, certain | ||
1293 | configuration data must be set. Files also need to be uploaded to the | ||
1294 | Device Upgrade image repository in order to be uploaded to the | ||
1295 | device.</para> | ||
1296 | |||
1297 | <para>Launch the Device Upgrade management console by selecting | ||
1298 | <literal>Devices</literal> -> <literal>Upgrade</literal> from the top | ||
1299 | toolbar. The console when launched will contain the following | ||
1300 | tabs:</para> | ||
1301 | |||
1302 | <itemizedlist> | ||
1303 | <listitem> | ||
1304 | <para><literal>Image Library</literal>. To add/delete an | ||
1305 | image.</para> | ||
1306 | </listitem> | ||
1307 | |||
1308 | <listitem> | ||
1309 | <para><literal>Upgrade Operations</literal>. See running upgrades, | ||
1310 | cancel any upgrades in progress, start a device upgrade.</para> | ||
1311 | </listitem> | ||
1312 | |||
1313 | <listitem> | ||
1314 | <para><literal>Configuration</literal>. Upgrade configuration | ||
1315 | parameters.</para> | ||
1316 | </listitem> | ||
1317 | </itemizedlist> | ||
1318 | |||
1319 | <para>Press <literal>Close</literal> when the message <literal>File | ||
1320 | Uploaded Successfully</literal> appears on the File Upload | ||
1321 | Screen.</para> | ||
1322 | |||
1323 | <note> | ||
1324 | <para>The image file of type <literal>rootfs.ostree.tar.bz2</literal> | ||
1325 | is available in the | ||
1326 | Enea_NFV_Access_uCPEManager_<version>-build<build_number>.tar.gz | ||
1327 | file you downloaded with your release.</para> | ||
1328 | </note> | ||
1329 | |||
1330 | <section id="upload_image"> | ||
1331 | <title>Image Library</title> | ||
1332 | |||
1333 | <para><emphasis role="bold">Add an image to the image | ||
1334 | repository/library</emphasis></para> | ||
1335 | |||
1336 | <orderedlist> | ||
1337 | <listitem> | ||
1338 | <para>Select <literal>Devices</literal> -> | ||
1339 | <literal>Upgrade</literal>.</para> | ||
1340 | </listitem> | ||
1341 | |||
1342 | <listitem> | ||
1343 | <para>Select <literal>Add</literal> from the <literal>Image | ||
1344 | Library</literal> tab to add a new image file.</para> | ||
1345 | </listitem> | ||
1346 | |||
1347 | <listitem> | ||
1348 | <para>Click on <literal>Choose File</literal> to provide the path | ||
1349 | to the image file (must be of type | ||
1350 | <literal>rootfs.ostree.tar.bz2</literal>). Select the target | ||
1351 | hardware platform corresponding to the image being uploaded | ||
1352 | (xeon-d or atom-c3000).</para> | ||
1353 | </listitem> | ||
1354 | |||
1355 | <listitem> | ||
1356 | <para>Click <literal>Send</literal> to upload the image to the | ||
1357 | image repository.</para> | ||
1358 | </listitem> | ||
1359 | </orderedlist> | ||
1360 | |||
1361 | <para><emphasis role="bold">Delete an image from the image | ||
1362 | repository</emphasis></para> | ||
1363 | |||
1364 | <orderedlist> | ||
1365 | <listitem> | ||
1366 | <para>Select <literal>Devices</literal> -> | ||
1367 | <literal>Upgrade</literal>.</para> | ||
1368 | </listitem> | ||
1369 | |||
1370 | <listitem> | ||
1371 | <para>Select the image you want to delete from the <literal>Image | ||
1372 | Library</literal> tab and then click | ||
1373 | <literal>Delete</literal>.</para> | ||
1374 | </listitem> | ||
1375 | </orderedlist> | ||
1376 | </section> | ||
1377 | |||
1378 | <section id="multi_device_install"> | ||
1379 | <title>Upgrade Operations</title> | ||
1380 | |||
1381 | <para>The Upgrade Operations tab allows a user to manage device | ||
1382 | upgrades in the system. It allows the user to see all the upgrades | ||
1383 | that are currently in progress, as well as listing the completed ones. | ||
1384 | If an upgrade succeeds or fails, then a row will be added to the | ||
1385 | completed upgrades table. If one fails, the failure message will be | ||
1386 | visible here.</para> | ||
1387 | |||
1388 | <note> | ||
1389 | <para>The list of completed upgrade tasks resides in memory and will | ||
1390 | not persist across reboots of the server.</para> | ||
1391 | </note> | ||
1392 | |||
1393 | <para><emphasis role="bold">How to Install/Upgrade immediately or | ||
1394 | schedule for later</emphasis></para> | ||
1395 | |||
1396 | <orderedlist> | ||
1397 | <listitem> | ||
1398 | <para>Select <literal>Devices</literal> -> | ||
1399 | <literal>Upgrade</literal>.</para> | ||
1400 | </listitem> | ||
1401 | |||
1402 | <listitem> | ||
1403 | <para>Select <literal>Upgrade Devices</literal> from the | ||
1404 | <literal>Upgrade Operations</literal> tab. This will launch a | ||
1405 | <literal>Multi Device Install Image</literal> screen that will | ||
1406 | allow the user to install and upgrade more than one device at a | ||
1407 | time or upgrade later.</para> | ||
1408 | |||
1409 | <para>The configurable parameters are:</para> | ||
1410 | |||
1411 | <itemizedlist> | ||
1412 | <listitem> | ||
1413 | <para><literal>Scheduling</literal>. Click this checkbox if | ||
1414 | the upgrade will be done later. Schedule the day, hour and | ||
1415 | minute for when to run the upgrade.</para> | ||
1416 | |||
1417 | <note> | ||
1418 | <para>The hour represents the local uCPE Manager server | ||
1419 | hour.</para> | ||
1420 | </note> | ||
1421 | </listitem> | ||
1422 | |||
1423 | <listitem> | ||
1424 | <para><literal>Description</literal>. An optional description | ||
1425 | of the operation. It is recommended to add a description so | ||
1426 | that different upgrades happening simultaneously can be | ||
1427 | distinguished.</para> | ||
1428 | </listitem> | ||
1429 | |||
1430 | <listitem> | ||
1431 | <para><literal>Image File</literal>. Click on <literal>Choose | ||
1432 | Image File</literal> to select the image file.</para> | ||
1433 | </listitem> | ||
1434 | |||
1435 | <listitem> | ||
1436 | <para><literal>Devices</literal>. The list of available | ||
1437 | devices is populated when an image file is chosen. The | ||
1438 | device(s) chooser is then populated with the list of devices | ||
1439 | that can accept that file. Press the <literal>></literal> | ||
1440 | button to move the devices to the right side of the chooser, | ||
1441 | which is the list of devices that will be upgraded.</para> | ||
1442 | </listitem> | ||
1443 | |||
1444 | <listitem> | ||
1445 | <para><literal>Upgrade Operation</literal>. Available options | ||
1446 | are:</para> | ||
1447 | |||
1448 | <itemizedlist> | ||
1449 | <listitem> | ||
1450 | <para><literal>Install and Activate</literal>. This will | ||
1451 | do an image installation as well as an upgrade.</para> | ||
1452 | </listitem> | ||
1453 | |||
1454 | <listitem> | ||
1455 | <para><literal>Install Only</literal>. This will do an | ||
1456 | image installation only. The image is copied to the | ||
1457 | device, and an upgrade will be done later either at a | ||
1458 | scheduled time or when the option <literal>Activate | ||
1459 | Only</literal> is selected.</para> | ||
1460 | </listitem> | ||
1461 | |||
1462 | <listitem> | ||
1463 | <para><literal>Activate Only</literal>. This will activate | ||
1464 | an already installed image on the device.</para> | ||
1465 | </listitem> | ||
1466 | </itemizedlist> | ||
1467 | </listitem> | ||
1468 | </itemizedlist> | ||
1469 | </listitem> | ||
1470 | </orderedlist> | ||
1471 | |||
1472 | <note> | ||
1473 | <para>When the device activates the upgrade, it will be rebooted | ||
1474 | automatically.</para> | ||
1475 | </note> | ||
1476 | </section> | ||
1477 | |||
1478 | <section id="check_releases"> | ||
1479 | <title>Releases installed on a Device</title> | ||
1480 | |||
1481 | <para>The installed releases on a device can be viewed by selecting | ||
1482 | the device first, then from the top toolbar selecting | ||
1483 | <literal>Configuration</literal> -> <literal>Upgrade</literal>. The | ||
1484 | installed releases on the device, the release status, release state, | ||
1485 | commit-id and release version will be listed in a table.</para> | ||
1486 | </section> | ||
1487 | |||
1488 | <section id="check_device_status"> | ||
1489 | <title>Device Status</title> | ||
1490 | |||
1491 | <para>The status of the installation and upgrade can be viewed in the | ||
1492 | <literal>Upgrade Operations</literal> tab. Ongoing or scheduled | ||
1493 | upgrade operations can be viewed or cancelled.</para> | ||
1494 | |||
1495 | <para><emphasis role="bold">To view the status of an installation or | ||
1496 | upgrade operations</emphasis></para> | ||
1497 | |||
1498 | <orderedlist> | ||
1499 | <listitem> | ||
1500 | <para>Select <literal>Devices</literal> -> | ||
1501 | <literal>Upgrade</literal>.</para> | ||
1502 | </listitem> | ||
1503 | |||
1504 | <listitem> | ||
1505 | <para>Select <literal>Upgrade Operations</literal>. The ongoing | ||
1506 | operations are listed at the top and a history of failed or | ||
1507 | successful operations are listed at the bottom.</para> | ||
1508 | </listitem> | ||
1509 | |||
1510 | <listitem> | ||
1511 | <para>Select an <emphasis>Active</emphasis> or <emphasis>Completed | ||
1512 | Upgrade Operation</emphasis> and click the <literal>Device | ||
1513 | Status</literal> button to see detailed information regarding the | ||
1514 | upgrade operation, including the devices involved and information | ||
1515 | per device.</para> | ||
1516 | </listitem> | ||
1517 | </orderedlist> | ||
1518 | |||
1519 | <para><emphasis role="bold">To cancel an upgrade | ||
1520 | operation</emphasis></para> | ||
1521 | |||
1522 | <orderedlist> | ||
1523 | <listitem> | ||
1524 | <para>Select <literal>Devices</literal> -> <literal>Upgrade | ||
1525 | </literal> -> <literal> Upgrade Operations</literal>.</para> | ||
1526 | </listitem> | ||
1527 | |||
1528 | <listitem> | ||
1529 | <para>Select an operation from the list and press <literal>Cancel | ||
1530 | Upgrade</literal> and <literal>Confirm</literal>. The operation | ||
1531 | will then be deleted from the list.</para> | ||
1532 | </listitem> | ||
1533 | </orderedlist> | ||
1534 | </section> | ||
1535 | |||
1536 | <section id="device_upgrade_config"> | ||
1537 | <title>Configuration</title> | ||
1538 | |||
1539 | <note> | ||
1540 | <para>The default values present in the configuration of each device | ||
1541 | are recommended for use. Modifying them is for an Advanced User | ||
1542 | only.</para> | ||
1543 | </note> | ||
1544 | |||
1545 | <para><emphasis role="bold">How to Configure the uCPE device Upgrade | ||
1546 | </emphasis></para> | ||
1547 | |||
1548 | <orderedlist> | ||
1549 | <listitem> | ||
1550 | <para>Select <literal>Devices</literal> -> | ||
1551 | <literal>Upgrade</literal>.</para> | ||
1552 | </listitem> | ||
1553 | |||
1554 | <listitem> | ||
1555 | <para>Select <literal>Configuration</literal>.</para> | ||
1556 | </listitem> | ||
1557 | |||
1558 | <listitem> | ||
1559 | <para>The configurable parameters are:</para> | ||
1560 | |||
1561 | <itemizedlist> | ||
1562 | <listitem> | ||
1563 | <para><literal>deviceImageDir</literal>. This is the disk | ||
1564 | location of the device image repository. If an absolute path | ||
1565 | name such as <literal>/usr/local/deviceimage</literal> is | ||
1566 | given, then the absolute path name is used. If no absolute | ||
1567 | pathname is given it is considered to be relative to the | ||
1568 | installation directory.</para> | ||
1569 | </listitem> | ||
1570 | |||
1571 | <listitem> | ||
1572 | <para><literal>maxThreads</literal>. This number dictates how | ||
1573 | many upgrades the system can manage at one time, either | ||
1574 | individually launched or launched from the multi-device | ||
1575 | screens. This value defaults to 20, which means that 20 | ||
1576 | devices may be updated at one time.</para> | ||
1577 | </listitem> | ||
1578 | |||
1579 | <listitem> | ||
1580 | <para><literal>KeepAlive</literal>. This number represents the | ||
1581 | number of seconds that a thread will be kept alive before it | ||
1582 | is collected. If multiple installations are occurring, this | ||
1583 | will keep the thread alive for X seconds before it is | ||
1584 | released. If not released, it can be used by the internal | ||
1585 | scheduling system as soon as it has completed an | ||
1586 | upgrade.</para> | ||
1587 | </listitem> | ||
1588 | </itemizedlist> | ||
1589 | </listitem> | ||
1590 | </orderedlist> | ||
1591 | </section> | ||
1592 | |||
1593 | <section id="related_func_devup"> | ||
1594 | <title>Related Functionality for a Device Upgrade</title> | ||
1595 | |||
1596 | <para>Each device can receive image files and use them to upgrade. | ||
1597 | This can be done by selecting the device in the | ||
1598 | <literal>System</literal> view and clicking the | ||
1599 | <literal>Upgrade</literal> button.</para> | ||
1600 | |||
1601 | <para>In the new window, an upgrade image can be chosen from the | ||
1602 | <literal>Image Files</literal> tab by selecting the image file from | ||
1603 | the list and clicking the <literal>Install on Device</literal> | ||
1604 | button.</para> | ||
1605 | |||
1606 | <para>Once an image is installed on the device, the image will be | ||
1607 | available on the device and be visible in the | ||
1608 | <literal>Releases</literal> tab. It can then be selected from the list | ||
1609 | and the upgrade started by clicking the <literal>Upgrade</literal> | ||
1610 | button.</para> | ||
1611 | </section> | ||
1612 | </section> | ||
1613 | </section> | ||
1614 | |||
1615 | <section id="vnf_management"> | ||
1616 | <title>VNF Management</title> | ||
1617 | |||
1618 | <para>The Enea uCPE Manager is responsible for onboarding, configuring | ||
1619 | (e.g. CloudInit) and ensuring life cycle management of VNFs that are | ||
1620 | instantiated and run on the various uCPE devices.</para> | ||
1621 | |||
1622 | <section id="onboarding_a_vnf"> | ||
1623 | <title>Onboarding a VNF</title> | ||
1624 | |||
1625 | <para>The onboarding of a VNF means adding it to the Enea uCPE Manager | ||
1626 | VNF Catalog and preparing it for instantiation (deployment on connected | ||
1627 | uCPE devices). This is accomplished using the Enea uCPE Manager | ||
1628 | Onboarding graphical user interface.</para> | ||
1629 | |||
1630 | <para>Typically, the Getting Started Guide of a VNF contains all | ||
1631 | necessary information needed to onboard a VNF.</para> | ||
1632 | |||
1633 | <section id="retrieve_art"> | ||
1634 | <title>Retrieving Artifacts</title> | ||
1635 | |||
1636 | <para>The user must first retrieve the necessary artifacts from the | ||
1637 | VNF vendor:</para> | ||
1638 | |||
1639 | <orderedlist> | ||
1640 | <listitem> | ||
1641 | <para>Download the VNF from the commercial vendor.</para> | ||
1642 | </listitem> | ||
1643 | |||
1644 | <listitem> | ||
1645 | <para>Procure any VNF-specific files from the VNF vendor, e.g. | ||
1646 | license file.</para> | ||
1647 | |||
1648 | <note> | ||
1649 | <para>There are no standard ways of managing VNF licenses, | ||
1650 | therefore no general guidelines can be provided. One example of | ||
1651 | license handling that can be employed in the uCPE Manager is the | ||
1652 | adding of a license during the Cloud-Init setup.</para> | ||
1653 | </note> | ||
1654 | </listitem> | ||
1655 | |||
1656 | <listitem> | ||
1657 | <para>Optionally, get access to the VNF specific VNF Manager for | ||
1658 | day 1 and 2 configuration (in cloud or for local | ||
1659 | deployment).</para> | ||
1660 | </listitem> | ||
1661 | |||
1662 | <listitem> | ||
1663 | <para>Procure the Getting Started Guide from the VNF vendor, | ||
1664 | preferably for KVM deployment for VNF specific configuration | ||
1665 | information.</para> | ||
1666 | </listitem> | ||
1667 | </orderedlist> | ||
1668 | </section> | ||
1669 | |||
1670 | <section id="onboard_prep"> | ||
1671 | <title>Preparation</title> | ||
1672 | |||
1673 | <para>Once all needed downloadables, documentation and more have been | ||
1674 | attained, preparation for onboarding must be completed:</para> | ||
1675 | |||
1676 | <orderedlist> | ||
1677 | <listitem> | ||
1678 | <para>Determine the use-case and performance requirements of the | ||
1679 | VNF you wish to deploy:</para> | ||
1680 | |||
1681 | <itemizedlist spacing="compact"> | ||
1682 | <listitem> | ||
1683 | <para>This decides what resources the VNF is configured for, | ||
1684 | along with networking and day zero configurations.</para> | ||
1685 | |||
1686 | <note> | ||
1687 | <para>Generally, the Getting Started Guide for the VNF | ||
1688 | provides guidelines for resource allocation, but since | ||
1689 | performance is dependent on hardware capacity, the right | ||
1690 | resource allocation for deployment is determined through | ||
1691 | benchmarking.</para> | ||
1692 | </note> | ||
1693 | </listitem> | ||
1694 | |||
1695 | <listitem> | ||
1696 | <para>Determine the amount of hardware resources needed for | ||
1697 | the VNF (RAM, number of CPUs and storage size).</para> | ||
1698 | </listitem> | ||
1699 | |||
1700 | <listitem> | ||
1701 | <para>Determine how many Virtual Network Interfaces the VNF | ||
1702 | will use.</para> | ||
1703 | </listitem> | ||
1704 | </itemizedlist> | ||
1705 | </listitem> | ||
1706 | |||
1707 | <listitem> | ||
1708 | <para>Determine the Day-0 configuration method from the VNF | ||
1709 | Getting Started guidelines.</para> | ||
1710 | |||
1711 | <note> | ||
1712 | <para>For many VNFs, day zero configuration can be skipped in | ||
1713 | early onboarding efforts when automation is not of | ||
1714 | importance.</para> | ||
1715 | </note> | ||
1716 | </listitem> | ||
1717 | |||
1718 | <listitem> | ||
1719 | <para>Determine any requirements needed by the Cloud-Init file | ||
1720 | structure and the content needed when this structure is | ||
1721 | used.</para> | ||
1722 | </listitem> | ||
1723 | </orderedlist> | ||
1724 | </section> | ||
1725 | |||
1726 | <section id="onboard_in_ucpemg"> | ||
1727 | <title>Onboarding into the uCPE Manager</title> | ||
1728 | |||
1729 | <para><emphasis role="bold">How to onboard a VNF into the uCPE Manager | ||
1730 | </emphasis></para> | ||
1731 | |||
1732 | <orderedlist> | ||
1733 | <listitem> | ||
1734 | <para>Select from the top toolbar <literal>VNF</literal> -> | ||
1735 | <literal>Descriptors</literal></para> | ||
1736 | </listitem> | ||
1737 | |||
1738 | <listitem> | ||
1739 | <para>Click the <literal>On-board</literal> button.</para> | ||
1740 | </listitem> | ||
1741 | |||
1742 | <listitem> | ||
1743 | <para>When prompted by the UI, make sure the <literal>VM | ||
1744 | Image</literal> radio button at the top of the onboarding screen | ||
1745 | is selected, it will trigger a popup menu window.</para> | ||
1746 | </listitem> | ||
1747 | </orderedlist> | ||
1748 | |||
1749 | <para>This window contains data fields where both necessary and | ||
1750 | optional information about the VNF can be supplied. After doing so, | ||
1751 | press the Onboard button, the uCPE Manager will create the VNF | ||
1752 | descriptor and add it to its VNF Catalog.</para> | ||
1753 | |||
1754 | <figure> | ||
1755 | <title>Onboard a VNF</title> | ||
1756 | |||
1757 | <mediaobject> | ||
1758 | <imageobject> | ||
1759 | <imagedata align="center" contentwidth="600" | ||
1760 | fileref="images/onboard_a_vnf_image.png" /> | ||
1761 | </imageobject> | ||
1762 | </mediaobject> | ||
1763 | </figure> | ||
1764 | |||
1765 | <para><emphasis role="bold">Main fields</emphasis></para> | ||
1766 | |||
1767 | <itemizedlist> | ||
1768 | <listitem> | ||
1769 | <para><emphasis role="bold">VM Image File</emphasis>. This is the | ||
1770 | Virtual Machine image file for the VNF. Typically, it is a QCOW | ||
1771 | image. Press <literal>Choose File</literal> and select the image | ||
1772 | you wish to upload.</para> | ||
1773 | </listitem> | ||
1774 | |||
1775 | <listitem> | ||
1776 | <para><emphasis role="bold">Image Format</emphasis>. Select the | ||
1777 | format which matches the image file format.</para> | ||
1778 | </listitem> | ||
1779 | |||
1780 | <listitem> | ||
1781 | <para><emphasis role="bold">VNF Type Name</emphasis>. This is the | ||
1782 | name that will be used to identify this VNF. It will be shown in | ||
1783 | the VNFs list.</para> | ||
1784 | </listitem> | ||
1785 | |||
1786 | <listitem> | ||
1787 | <para><emphasis role="bold">Description</emphasis>. This field | ||
1788 | contains any description provided and is only displayed in the GUI | ||
1789 | tables in the uCPE Manager.</para> | ||
1790 | </listitem> | ||
1791 | |||
1792 | <listitem> | ||
1793 | <para><emphasis role="bold">Version</emphasis>. This is the | ||
1794 | version of the current VNF that you are hosting. It's used to | ||
1795 | distinguish this VNF from other versions of the same type.</para> | ||
1796 | </listitem> | ||
1797 | |||
1798 | <listitem> | ||
1799 | <para><emphasis role="bold">Memory in MB</emphasis>. This is the | ||
1800 | amount of memory (in megabytes) that will be provided to this type | ||
1801 | of VNF when it is instantiated. To determine the value for this | ||
1802 | field, consult the VNF vendor.</para> | ||
1803 | </listitem> | ||
1804 | |||
1805 | <listitem> | ||
1806 | <para><emphasis role="bold">Num of CPUs</emphasis>. The number of | ||
1807 | CPUs that will be dedicated to an instance of this VNF when | ||
1808 | created. To determine the value for this field, consult the VNF | ||
1809 | vendor.</para> | ||
1810 | </listitem> | ||
1811 | |||
1812 | <listitem> | ||
1813 | <para><emphasis role="bold">Storage in GB</emphasis>. How much | ||
1814 | disk space to provide an instance of this VNF. To determine the | ||
1815 | value for this field, consult the VNF vendor.</para> | ||
1816 | </listitem> | ||
1817 | </itemizedlist> | ||
1818 | |||
1819 | <para><emphasis role="bold">Interfaces Tab</emphasis></para> | ||
1820 | |||
1821 | <para>Click on the <literal>Interfaces</literal> tab to show the | ||
1822 | Interfaces table.</para> | ||
1823 | |||
1824 | <para>This table will contain the interfaces required by this VNF to | ||
1825 | be configured, when creating an instance. Consult the VNF vendor to | ||
1826 | determine which and how many are required. Each interface requires a | ||
1827 | name, and optionally a description, used only by the uCPE | ||
1828 | Manager.</para> | ||
1829 | |||
1830 | <note> | ||
1831 | <para>CAUTION: The user MUST conserve the same order for the virtual | ||
1832 | interfaces during both onboarding and instantiation phases.</para> | ||
1833 | </note> | ||
1834 | |||
1835 | <para><emphasis role="bold">Cloud Init Tab</emphasis></para> | ||
1836 | |||
1837 | <para>Click the <literal>Clout Init</literal> tab to provide the | ||
1838 | Clout-Init configuration. There are three fields that need to be | ||
1839 | populated:</para> | ||
1840 | |||
1841 | <orderedlist> | ||
1842 | <listitem> | ||
1843 | <para><emphasis role="bold">Cloud-Init | ||
1844 | Datasource</emphasis></para> | ||
1845 | |||
1846 | <para>To onboard a VNF you must specify the <literal>Cloud-Init | ||
1847 | Datasource</literal> that the VNF uses. This information is | ||
1848 | procured from the VNF Vendor. Choose one of the following methods | ||
1849 | to specify the datasource:</para> | ||
1850 | |||
1851 | <itemizedlist spacing="compact"> | ||
1852 | <listitem> | ||
1853 | <para><emphasis role="bold">None</emphasis>. If there is no | ||
1854 | datasource.</para> | ||
1855 | </listitem> | ||
1856 | |||
1857 | <listitem> | ||
1858 | <para><emphasis role="bold">ConfigDrive</emphasis>. This | ||
1859 | method allows you to provide any number of content-data files | ||
1860 | containing Cloud-Init data.</para> | ||
1861 | </listitem> | ||
1862 | |||
1863 | <listitem> | ||
1864 | <para><emphasis role="bold">NoCloud</emphasis>. This is a | ||
1865 | simpler method that uses only one cloud init file | ||
1866 | (User-Data).</para> | ||
1867 | </listitem> | ||
1868 | |||
1869 | <listitem> | ||
1870 | <para><emphasis role="bold">ISO</emphasis>. Pre-cooked | ||
1871 | cloud-init image. This image must be created by the user | ||
1872 | according to VNF requirements.</para> | ||
1873 | </listitem> | ||
1874 | </itemizedlist> | ||
1875 | </listitem> | ||
1876 | |||
1877 | <listitem> | ||
1878 | <para><emphasis role="bold">Cloud-Init Disk Type</emphasis></para> | ||
1879 | |||
1880 | <para>The <literal>Cloud-Init Disk Type</literal> field must be | ||
1881 | set to either <literal>Disk</literal>, or | ||
1882 | <literal>CD-ROM</literal>, depending on what the VNF requires. You | ||
1883 | can get this information from the VNF Vendor.</para> | ||
1884 | </listitem> | ||
1885 | |||
1886 | <listitem> | ||
1887 | <para><emphasis role="bold">Content Files Table</emphasis></para> | ||
1888 | |||
1889 | <para>The <literal>Content Files Table </literal>is ONLY used if | ||
1890 | you choose <literal>ConfigDrive</literal> as the Cloud-Init | ||
1891 | Datasource. For each content file added, you must provide a | ||
1892 | <literal>Path</literal>. When a user uses the uCPE Manager to | ||
1893 | create an instance for multiple VNFs, they will be prompted to | ||
1894 | provide a data file for each entry in this table. Each type of VNF | ||
1895 | will require different cloud-init files, e.g.: a license file. The | ||
1896 | data files will be added to the cloud-init image that the user | ||
1897 | provides at the instantiation of the VNF. If the cloud-init image | ||
1898 | is not provided, no Cloud-Init Data Source will be created for | ||
1899 | that VNF and there will be no warning.</para> | ||
1900 | </listitem> | ||
1901 | </orderedlist> | ||
1902 | |||
1903 | <para>Consult with the VNF vendor to determine what is required for | ||
1904 | the VNF you are onboarding.</para> | ||
1905 | |||
1906 | <para><emphasis role="bold">Properties Tab</emphasis></para> | ||
1907 | |||
1908 | <para>In this table, you can enter values for properties that will be | ||
1909 | used during instantiation of the VNF. The values will augment the | ||
1910 | default values in the <filename>Domain.XML</filename> file used by | ||
1911 | <literal>libvirt/virsh</literal> (running in NFV Access) when creating | ||
1912 | an instance of the VNF. Consult with the VNF Vendor or ENEA support | ||
1913 | for values needed by specific VNFs.</para> | ||
1914 | |||
1915 | <para><emphasis role="bold">Property Values</emphasis></para> | ||
1916 | |||
1917 | <itemizedlist> | ||
1918 | <listitem> | ||
1919 | <para><literal>numHugePages</literal> defines the number of huge | ||
1920 | memory pages the VNF uses (for DPDK).</para> | ||
1921 | </listitem> | ||
1922 | |||
1923 | <listitem> | ||
1924 | <para><literal>vnfMgmtIpAddress</literal>: the IP address of the | ||
1925 | VNF's management interface, connected to a | ||
1926 | <literal>vnfMgmt</literal> bridge (e.g. 10.0.0.2).</para> | ||
1927 | </listitem> | ||
1928 | |||
1929 | <listitem> | ||
1930 | <para><literal>internalMgmtPort</literal>: the VNF's TCP/UDP port | ||
1931 | used for management (e.g. 443).</para> | ||
1932 | </listitem> | ||
1933 | |||
1934 | <listitem> | ||
1935 | <para><literal>externalMgmtPort</literal>: the Management port | ||
1936 | used for external access (e.g. 60001).</para> | ||
1937 | </listitem> | ||
1938 | </itemizedlist> | ||
1939 | |||
1940 | <note> | ||
1941 | <para>The last three properties are useful in conjuction with the | ||
1942 | <literal>vnfMgmt</literal> bridge type. They allow the user to map | ||
1943 | the internal VNF management port to an external port, useful for VNF | ||
1944 | configuration from WAN.</para> | ||
1945 | |||
1946 | <para>In the previous example, the internal TCP port 443 (HTTPS) was | ||
1947 | mapped to the external port 60001, which allows the user to access | ||
1948 | the VNF management port from a web browser e.g. | ||
1949 | <literal>https://<WAN_IP>:60001</literal>.</para> | ||
1950 | </note> | ||
1951 | </section> | ||
1952 | </section> | ||
1953 | |||
1954 | <section id="instantiating_a_vnf"> | ||
1955 | <title>Instantiating a VNF</title> | ||
1956 | |||
1957 | <para>When a VNF is onboarded and available in the VNF catalog, it can | ||
1958 | be instantiated on connected uCPE devices. The configurations provided | ||
1959 | when the VNF is onboarded, serve as a template for instantiation. Before | ||
1960 | instantiating any VNF, please make sure the available storage space on | ||
1961 | the uCPE device is big enough to accommodate the VNF you need to | ||
1962 | instantiate.</para> | ||
1963 | |||
1964 | <para>Follow the instructions below to instantiate a VNF:</para> | ||
1965 | |||
1966 | <orderedlist> | ||
1967 | <listitem> | ||
1968 | <para>Select from the top toolbar <literal>VNF</literal> -> | ||
1969 | <literal>Instances</literal></para> | ||
1970 | </listitem> | ||
1971 | |||
1972 | <listitem> | ||
1973 | <para>Click the <literal>Add</literal> button.</para> | ||
1974 | </listitem> | ||
1975 | |||
1976 | <listitem> | ||
1977 | <para>Fill out the following mandatory fields:</para> | ||
1978 | |||
1979 | <itemizedlist spacing="compact"> | ||
1980 | <listitem> | ||
1981 | <para>Name: a descriptive name.</para> | ||
1982 | </listitem> | ||
1983 | |||
1984 | <listitem> | ||
1985 | <para>VNF Type: a list of onboarded VNFs.</para> | ||
1986 | </listitem> | ||
1987 | |||
1988 | <listitem> | ||
1989 | <para>uCPE Device: the uCPE device to instantiate the VNF | ||
1990 | on.</para> | ||
1991 | </listitem> | ||
1992 | |||
1993 | <listitem> | ||
1994 | <para>Networking Configuration:</para> | ||
1995 | |||
1996 | <itemizedlist spacing="compact"> | ||
1997 | <listitem> | ||
1998 | <para>Connect each configured NIC with a bridge, SR-IOV or | ||
1999 | PCI Passthrough.</para> | ||
2000 | </listitem> | ||
2001 | |||
2002 | <listitem> | ||
2003 | <para>Set up each NIC with a driver method.</para> | ||
2004 | </listitem> | ||
2005 | </itemizedlist> | ||
2006 | |||
2007 | <note> | ||
2008 | <para>All configured NICs must be set up before instantiating | ||
2009 | a VNF. Failure to do so will end in a failed | ||
2010 | instantiation.</para> | ||
2011 | </note> | ||
2012 | </listitem> | ||
2013 | </itemizedlist> | ||
2014 | </listitem> | ||
2015 | |||
2016 | <listitem> | ||
2017 | <para>Add VNF-specific configuration data by uploading a Cloud-Init | ||
2018 | file (when the Cloud-Init is used).</para> | ||
2019 | </listitem> | ||
2020 | |||
2021 | <listitem> | ||
2022 | <para>Add any VNF-specific files (e.g license files).</para> | ||
2023 | </listitem> | ||
2024 | |||
2025 | <listitem> | ||
2026 | <para>Hit the <literal>Create</literal> button to deploy the VNF and | ||
2027 | run it on the specified uCPE device.</para> | ||
2028 | </listitem> | ||
2029 | </orderedlist> | ||
2030 | |||
2031 | <para>Selecting the<literal> VNF -> Events</literal> menu will show | ||
2032 | that the VNF was created and a connection was established.</para> | ||
2033 | </section> | ||
2034 | |||
2035 | <section id="enter_console"> | ||
2036 | <title>Accessing the VNF console</title> | ||
2037 | |||
2038 | <para>Once the VNF is deployed, the VNF console can be entered using SSH | ||
2039 | and virsh commands. The VNF Console is a typical starting point for | ||
2040 | determining a successful deployment and configuring a VNF beyond Day | ||
2041 | Zero.</para> | ||
2042 | |||
2043 | <orderedlist> | ||
2044 | <listitem> | ||
2045 | <para>SSH to the uCPE device from the Enea uCPE Manager | ||
2046 | (<literal>Device->SSH</literal>) using:</para> | ||
2047 | |||
2048 | <itemizedlist> | ||
2049 | <listitem> | ||
2050 | <para>For normal connections: the <literal>Username</literal> | ||
2051 | (default: root), the <literal>Password</literal> (default: no | ||
2052 | password), the <literal>Port</literal> (default: 22) and the | ||
2053 | <literal>Reverse ssh</literal> checkbox: unchecked.</para> | ||
2054 | </listitem> | ||
2055 | |||
2056 | <listitem> | ||
2057 | <para>For reverse ssh connections: the | ||
2058 | <literal>Username</literal> (default: root) and the | ||
2059 | <literal>Reverse ssh</literal> checkbox checked. The port will | ||
2060 | be automatically choosen by the uCPE Manager in the range | ||
2061 | defined in the <literal>System -> Configuration -> Reverse | ||
2062 | SSH</literal> configuration panel. By default, the start port | ||
2063 | will be <literal>7000</literal> and the maximum number of ports | ||
2064 | allocated to all devices is 10. Only one port per device is | ||
2065 | allowed.</para> | ||
2066 | |||
2067 | <para>A SSH Tunnel between the uCPE Manager and the device will be created:</para> | ||
2068 | <programlisting>ssh -f -N -T -R < Port > :localhost:22 <uCPE Mgr user>@<uCPE MgrIP></programlisting> | ||
2069 | <para>The device must be connected to the uCPE Manager for the tunnel to be created. | ||
2070 | On connection, a normal ssh connection will be made:</para> | ||
2071 | <programlisting>ssh -p <Port> <Username>@localhost</programlisting> | ||
2072 | |||
2073 | |||
2074 | </listitem> | ||
2075 | </itemizedlist> | ||
2076 | </listitem> | ||
2077 | |||
2078 | <listitem> | ||
2079 | <para>In SSH:</para> | ||
2080 | |||
2081 | <orderedlist spacing="compact"> | ||
2082 | <listitem> | ||
2083 | <para>Use the <command>virsh list</command> command to list all | ||
2084 | running VNFs and to determine the VNF's instance number.</para> | ||
2085 | </listitem> | ||
2086 | |||
2087 | <listitem> | ||
2088 | <para>Use the <command>virsh console <instance | ||
2089 | number></command> command to enter the VNF-specific | ||
2090 | console.</para> | ||
2091 | </listitem> | ||
2092 | </orderedlist> | ||
2093 | </listitem> | ||
2094 | </orderedlist> | ||
2095 | </section> | ||
2096 | </section> | ||
2097 | </chapter> \ No newline at end of file | ||
diff --git a/doc/book-enea-nfv-access-getting-started/doc/images/archive_list.png b/doc/book-enea-nfv-access-getting-started/doc/images/archive_list.png new file mode 100755 index 0000000..302f32d --- /dev/null +++ b/doc/book-enea-nfv-access-getting-started/doc/images/archive_list.png | |||
Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-getting-started/doc/images/collect_debug_logs.png b/doc/book-enea-nfv-access-getting-started/doc/images/collect_debug_logs.png new file mode 100755 index 0000000..6582737 --- /dev/null +++ b/doc/book-enea-nfv-access-getting-started/doc/images/collect_debug_logs.png | |||
Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-getting-started/doc/images/debug_settings.png b/doc/book-enea-nfv-access-getting-started/doc/images/debug_settings.png new file mode 100755 index 0000000..2c97b2c --- /dev/null +++ b/doc/book-enea-nfv-access-getting-started/doc/images/debug_settings.png | |||
Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-getting-started/doc/images/dev_file_mg.png b/doc/book-enea-nfv-access-getting-started/doc/images/dev_file_mg.png new file mode 100755 index 0000000..a4a4f5c --- /dev/null +++ b/doc/book-enea-nfv-access-getting-started/doc/images/dev_file_mg.png | |||
Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-getting-started/doc/images/download_files.png b/doc/book-enea-nfv-access-getting-started/doc/images/download_files.png new file mode 100755 index 0000000..cb686e4 --- /dev/null +++ b/doc/book-enea-nfv-access-getting-started/doc/images/download_files.png | |||
Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-getting-started/doc/images/fault_events.png b/doc/book-enea-nfv-access-getting-started/doc/images/fault_events.png new file mode 100755 index 0000000..aeec955 --- /dev/null +++ b/doc/book-enea-nfv-access-getting-started/doc/images/fault_events.png | |||
Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-getting-started/doc/images/prep_deploy.png b/doc/book-enea-nfv-access-getting-started/doc/images/prep_deploy.png new file mode 100755 index 0000000..e93e7f1 --- /dev/null +++ b/doc/book-enea-nfv-access-getting-started/doc/images/prep_deploy.png | |||
Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-getting-started/doc/images/prep_execution.png b/doc/book-enea-nfv-access-getting-started/doc/images/prep_execution.png new file mode 100755 index 0000000..b783076 --- /dev/null +++ b/doc/book-enea-nfv-access-getting-started/doc/images/prep_execution.png | |||
Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-getting-started/doc/images/vnf_space.png b/doc/book-enea-nfv-access-getting-started/doc/images/vnf_space.png index d4f8fde..1a5ddab 100755 --- a/doc/book-enea-nfv-access-getting-started/doc/images/vnf_space.png +++ b/doc/book-enea-nfv-access-getting-started/doc/images/vnf_space.png | |||
Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-getting-started/doc/installation_guide.xml b/doc/book-enea-nfv-access-getting-started/doc/installation_guide.xml new file mode 100644 index 0000000..19a3397 --- /dev/null +++ b/doc/book-enea-nfv-access-getting-started/doc/installation_guide.xml | |||
@@ -0,0 +1,996 @@ | |||
1 | <?xml version="1.0" encoding="ISO-8859-1"?> | ||
2 | <chapter id="installation_guide"> | ||
3 | <title>Setting up and Installing the NFV Access Base Configuration</title> | ||
4 | |||
5 | <para>The setup and installation steps detailed below will deploy a base | ||
6 | configuration which will be used as a reference for more complex deployment | ||
7 | scenarios.</para> | ||
8 | |||
9 | <section id="hw_reqs"> | ||
10 | <title>Hardware requirements</title> | ||
11 | |||
12 | <para>The following hardware is needed for deploying the base | ||
13 | configuration:</para> | ||
14 | |||
15 | <itemizedlist> | ||
16 | <listitem> | ||
17 | <para>One CentOS 7 server</para> | ||
18 | |||
19 | <para>Minimal Requirement: 4 Cores, 16 GB RAM and 300 GB single disk | ||
20 | storage. Make sure the CentOS 7 server is updated to the latest | ||
21 | revision before installing Enea NFV Access.</para> | ||
22 | |||
23 | <para>The purpose of the CentOS 7 server is to host the uCPE Manager. | ||
24 | Network access between the CentOS 7 server and the uCPE devices is | ||
25 | required. The uCPE Manager and the uCPE devices will be connected on | ||
26 | separate subnets to avoid inconsistencies.</para> | ||
27 | </listitem> | ||
28 | |||
29 | <listitem> | ||
30 | <para>A laptop.</para> | ||
31 | |||
32 | <para>The laptop is used for 2 scenarios:</para> | ||
33 | |||
34 | <itemizedlist> | ||
35 | <listitem> | ||
36 | <para>Installing the NFV Access Run Time Platform on uCPE | ||
37 | Devices.</para> | ||
38 | </listitem> | ||
39 | |||
40 | <listitem> | ||
41 | <para>Connecting to the Web UI of the uCPE Manager for management | ||
42 | and configuration. Network access between the CentOS 7 server and | ||
43 | the laptop is required. Please see the <xi:include | ||
44 | href="../../s_docbuild/olinkdb/pardoc-common.xml" | ||
45 | xmlns:xi="http://www.w3.org/2001/XInclude" | ||
46 | xpointer="element(book_enea_nfv_access_release_info/1)" /> manual | ||
47 | available with your release, for recommended browsers.</para> | ||
48 | </listitem> | ||
49 | </itemizedlist> | ||
50 | </listitem> | ||
51 | |||
52 | <listitem> | ||
53 | <para>One or more uCPE devices.</para> | ||
54 | |||
55 | <para>White Box devices where the Enea NFV Access Runtime Platform | ||
56 | will be installed, containing a minimum of 2 cores and 4 GB RAM and at | ||
57 | least two ethernet ports that will be configured as WAN and LAN during | ||
58 | deployment.</para> | ||
59 | |||
60 | <para>When hosting an entire solution including one or several network | ||
61 | services, the hardware must also have the resources to host one or | ||
62 | more VNFs. During a typical evaluation, a dual VNF service on the Enea | ||
63 | NFV Access Run Time Platform needs a CPU with 4-8 cores and at least 8 | ||
64 | GB RAM. The supported Intel CPUs of Enea NFV Access are documented in | ||
65 | the <xi:include href="../../s_docbuild/olinkdb/pardoc-common.xml" | ||
66 | xmlns:xi="http://www.w3.org/2001/XInclude" | ||
67 | xpointer="element(book_enea_nfv_access_release_info/1)" /> | ||
68 | manual.</para> | ||
69 | |||
70 | <para>Enea NFV Access needs EFI support in BIOS to boot. When | ||
71 | configuring the uCPE device BIOS a serial connection is | ||
72 | required.</para> | ||
73 | </listitem> | ||
74 | |||
75 | <listitem> | ||
76 | <para>A 16 GB USB stick used for the uCPE Device Installation.</para> | ||
77 | </listitem> | ||
78 | </itemizedlist> | ||
79 | </section> | ||
80 | |||
81 | <section id="sw_config"> | ||
82 | <title>Software Configuration</title> | ||
83 | |||
84 | <para>The CentOS 7 machine requires a specific configuration for the setup | ||
85 | to work.</para> | ||
86 | |||
87 | <section id="firewall_config"> | ||
88 | <title>Firewall Configuration</title> | ||
89 | |||
90 | <para>Any firewall running on the CentOS 7 server may block the | ||
91 | management protocols required to communicate between the uCPE device and | ||
92 | the uCPE Manager as well as between the uCPE Manager and its northbound | ||
93 | clients. Quick handling of a blocking firewall would be to disable it, | ||
94 | typical for a lab environment, through:</para> | ||
95 | |||
96 | <programlisting>sudo service firewalld stop</programlisting> | ||
97 | |||
98 | <para>For an advanced firewall configuration, the following ports need | ||
99 | to be opened:</para> | ||
100 | |||
101 | <table> | ||
102 | <title>Ports to be Activated</title> | ||
103 | |||
104 | <tgroup cols="3"> | ||
105 | <colspec align="left" /> | ||
106 | |||
107 | <tbody> | ||
108 | <row> | ||
109 | <entry>80</entry> | ||
110 | |||
111 | <entry>TCP</entry> | ||
112 | |||
113 | <entry>Required for WEB UI Access.</entry> | ||
114 | </row> | ||
115 | |||
116 | <row> | ||
117 | <entry>443</entry> | ||
118 | |||
119 | <entry>TCP</entry> | ||
120 | |||
121 | <entry>Required for WEB UI Access and Device | ||
122 | Connectivity.</entry> | ||
123 | </row> | ||
124 | |||
125 | <row> | ||
126 | <entry>54327</entry> | ||
127 | |||
128 | <entry>UDP</entry> | ||
129 | |||
130 | <entry>TBD.<remark>This needs to be updated</remark></entry> | ||
131 | </row> | ||
132 | |||
133 | <row> | ||
134 | <entry>5701:5708</entry> | ||
135 | |||
136 | <entry>TCP</entry> | ||
137 | |||
138 | <entry>Required for the uCPE Manager Redundancy | ||
139 | Protocol.</entry> | ||
140 | </row> | ||
141 | |||
142 | <row> | ||
143 | <entry>4334</entry> | ||
144 | |||
145 | <entry>TCP</entry> | ||
146 | |||
147 | <entry>Required for Call Home.</entry> | ||
148 | </row> | ||
149 | |||
150 | <row> | ||
151 | <entry>2021:2040</entry> | ||
152 | |||
153 | <entry>TCP</entry> | ||
154 | |||
155 | <entry>Required for Call Home.</entry> | ||
156 | </row> | ||
157 | |||
158 | <row> | ||
159 | <entry>7000:7010</entry> | ||
160 | |||
161 | <entry>TCP</entry> | ||
162 | |||
163 | <entry>Required for Reverse SSH.</entry> | ||
164 | </row> | ||
165 | </tbody> | ||
166 | </tgroup> | ||
167 | </table> | ||
168 | |||
169 | <para>Use the following command sequence to enable the required ports | ||
170 | for deployment of the uCPE Manager:</para> | ||
171 | |||
172 | <programlisting>sudo firewall-cmd --permanent --add-service=80/tcp | ||
173 | sudo firewall-cmd --permanent --add-service=443/tcp | ||
174 | sudo firewall-cmd --permanent --add-service=54327/udp | ||
175 | sudo firewall-cmd -permanent -add-service=5701-5708/tcp | ||
176 | sudo firewall-cmd --permanent --add-service=4334/tcp | ||
177 | sudo firewall-cmd -permanent -add-service=2021-2040/tcp | ||
178 | sudo firewall-cmd -reload</programlisting> | ||
179 | </section> | ||
180 | |||
181 | <section id="openjdk_postgresql_config"> | ||
182 | <title>Configuring OpenJDK and PostgreSQL</title> | ||
183 | |||
184 | <para>The uCPE Manager requires a specific Java version (OpenJDK 11) and | ||
185 | a PostgreSQL version to operate correctly.</para> | ||
186 | |||
187 | <para><emphasis role="bold">Installing OpenJDK</emphasis></para> | ||
188 | |||
189 | <orderedlist> | ||
190 | <listitem> | ||
191 | <para>Install OpenJDK 11 using the root account:</para> | ||
192 | |||
193 | <programlisting>yum install java-11-openjdk-devel</programlisting> | ||
194 | </listitem> | ||
195 | |||
196 | <listitem> | ||
197 | <para>Verify the installation:</para> | ||
198 | |||
199 | <programlisting>java -version | ||
200 | openjdk version "11.0.3" 2019-04-16 LTS | ||
201 | OpenJDK Runtime Environment 18.9 (build 11.0.3+7-LTS) | ||
202 | OpenJDK 64-Bit Server VM 18.9 (build 11.0.3+7-LTS, mixed mode, sharing) </programlisting> | ||
203 | |||
204 | <note> | ||
205 | <para>If there are multiple java versions installed, switch | ||
206 | between them using the following command:</para> | ||
207 | |||
208 | <programlisting>alternatives --config java</programlisting> | ||
209 | |||
210 | <para>Optionally, the user can switch between the | ||
211 | <literal>javac</literal> versions using:</para> | ||
212 | |||
213 | <programlisting>alternatives --config javac</programlisting> | ||
214 | </note> | ||
215 | </listitem> | ||
216 | |||
217 | <listitem> | ||
218 | <para>The following system variables need to point to the OpenJDK 11 | ||
219 | installation:</para> | ||
220 | |||
221 | <programlisting>export JAVA_HOME=$(dirname $(dirname $(readlink $(readlink $(which javac))))) | ||
222 | export PATH=$PATH:$JAVA_HOME/bin | ||
223 | export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar</programlisting> | ||
224 | |||
225 | <para>Store updates of the variables <literal>PATH</literal>, | ||
226 | <literal>JAVA_HOME</literal>, and <literal>CLASSPATH</literal> in | ||
227 | the <filename>.bash_profile</filename> file of the root user.</para> | ||
228 | |||
229 | <note> | ||
230 | <para>In order to make these system variables persistent, the | ||
231 | commands given above should be added to a script in the | ||
232 | <literal>/etc/profile.d/</literal> folder. <emphasis | ||
233 | role="bold">Sudo</emphasis> access is needed for this | ||
234 | operation.</para> | ||
235 | </note> | ||
236 | </listitem> | ||
237 | </orderedlist> | ||
238 | |||
239 | <para>The uCPE Manager requires a specific PostgreeSQL version. This is | ||
240 | embedded in the uCPE Manager installation. In order to avoid conflicts, | ||
241 | any existing installation needs to be uninstalled.</para> | ||
242 | |||
243 | <para><emphasis role="bold">Uninstalling PostgreSQL</emphasis></para> | ||
244 | |||
245 | <orderedlist> | ||
246 | <listitem> | ||
247 | <para>Open a terminal with administrative rights, i.e. log into a | ||
248 | bash shell with root privileges.</para> | ||
249 | </listitem> | ||
250 | |||
251 | <listitem> | ||
252 | <para>Execute the following command to check if you have a currently | ||
253 | running the PostgreSQL database server:</para> | ||
254 | |||
255 | <programlisting>ps -ef | grep post</programlisting> | ||
256 | </listitem> | ||
257 | |||
258 | <listitem> | ||
259 | <para>Remove the currently installed PostgreSQL server (including | ||
260 | the existing postgres user):</para> | ||
261 | |||
262 | <programlisting>yum remove postgres\* | ||
263 | rm -f /var/lib/pgsql | ||
264 | rm -f /etc/postgres-reg.ini | ||
265 | userdel postgres</programlisting> | ||
266 | |||
267 | <note> | ||
268 | <para>This step is not necessary if the uCPE Manager will be using | ||
269 | an external database (like MariaDB).</para> | ||
270 | </note> | ||
271 | </listitem> | ||
272 | </orderedlist> | ||
273 | |||
274 | <para>If you have multiple spindles, it is recommended to let the | ||
275 | application run off one and the database off the other. This will result | ||
276 | in optimum performance. It is also recommended that the swap disk be the | ||
277 | same as the one used for the application.</para> | ||
278 | |||
279 | <para>Assuming another spindle is used (<literal>/drive2</literal>) do | ||
280 | the following:</para> | ||
281 | |||
282 | <orderedlist> | ||
283 | <listitem> | ||
284 | <para>Create a folder which will host the database (e.g. | ||
285 | <literal>emsDatabase</literal>).</para> | ||
286 | </listitem> | ||
287 | |||
288 | <listitem> | ||
289 | <para>Create a soft-link that will point to this folder:</para> | ||
290 | |||
291 | <programlisting>ln -s /opt/ems/elementcenter/database /drive2/emsDatabase</programlisting> | ||
292 | </listitem> | ||
293 | |||
294 | <listitem> | ||
295 | <para>Follow the installation process as described below.</para> | ||
296 | </listitem> | ||
297 | </orderedlist> | ||
298 | </section> | ||
299 | </section> | ||
300 | |||
301 | <section id="ucpe_config"> | ||
302 | <title>uCPE Device configuration</title> | ||
303 | |||
304 | <section id="wan_lan_ports"> | ||
305 | <title>Determining the WAN and LAN ports</title> | ||
306 | |||
307 | <para>A typical White box comes with multiple physical network ports, | ||
308 | ready to be used. The user must determine the purpose and allocation of | ||
309 | each port. The allocation is later aligned with the software | ||
310 | configuration within the Enea NFV Access installer.</para> | ||
311 | |||
312 | <para>A common way is to allocate the left ports to WANs and the right | ||
313 | ports to LANs. At least one port must be allocated to WAN and one to | ||
314 | LAN.</para> | ||
315 | </section> | ||
316 | |||
317 | <section id="ucpe_identifier"> | ||
318 | <title>Determining the uCPE Identifier</title> | ||
319 | |||
320 | <para>Each uCPE device needs a unique identifier. This identifier is | ||
321 | used to match the registration in the uCPE Manager and the offline | ||
322 | configuration of the uCPE device during ZTP (Zero Touch | ||
323 | Provisioning)</para> | ||
324 | |||
325 | <para>Select a text string to represent the uCPE device, e.g. | ||
326 | <literal>uCPE-1</literal> or | ||
327 | <literal>fwa-t1012vc_boston_1234</literal>.</para> | ||
328 | </section> | ||
329 | |||
330 | <section id="bios_config"> | ||
331 | <title>Configuring the BIOS</title> | ||
332 | |||
333 | <para>The factory configuration of the BIOS may not match the | ||
334 | requirements of Enea NFV Access. The BIOS configuration needs to be | ||
335 | reviewed and potentially reconfigured to prepare for a successful | ||
336 | installation.</para> | ||
337 | |||
338 | <para>Access the BIOS using a serial cable between the uCPE device and | ||
339 | the laptop, to review and configure the BIOS correctly. The White box | ||
340 | vendor is expected to provide the right serial cable for the box. A | ||
341 | terminal emulator (such as putty) is needed on the laptop.</para> | ||
342 | |||
343 | <para>Enable the following BIOS features/configurations:</para> | ||
344 | |||
345 | <itemizedlist> | ||
346 | <listitem> | ||
347 | <para>EFI</para> | ||
348 | </listitem> | ||
349 | |||
350 | <listitem> | ||
351 | <para>Intel Virtualization Technology (VT-x)</para> | ||
352 | </listitem> | ||
353 | |||
354 | <listitem> | ||
355 | <para>Intel Virtualization Technology for Directed I/O (VT-d)</para> | ||
356 | </listitem> | ||
357 | |||
358 | <listitem> | ||
359 | <para>SR-IOV</para> | ||
360 | </listitem> | ||
361 | </itemizedlist> | ||
362 | |||
363 | <para>The boot order may also need to be modified to support | ||
364 | installation and execution of the Enea NFV Access Runtime Platform on | ||
365 | the uCPE device.</para> | ||
366 | |||
367 | <para>The following boot order is recommended for a base | ||
368 | configuration:</para> | ||
369 | |||
370 | <orderedlist> | ||
371 | <listitem> | ||
372 | <para>Boot from USB</para> | ||
373 | </listitem> | ||
374 | |||
375 | <listitem> | ||
376 | <para>Boot from Disk</para> | ||
377 | </listitem> | ||
378 | </orderedlist> | ||
379 | |||
380 | <para>With the above boot order there is no need for a configuration of | ||
381 | the BIOS during installation and deployment.</para> | ||
382 | </section> | ||
383 | </section> | ||
384 | |||
385 | <section id="prep_deploy"> | ||
386 | <title>Preparing the deployment</title> | ||
387 | |||
388 | <section id="instal_ucpe_mg"> | ||
389 | <title>Installing the uCPE Manager</title> | ||
390 | |||
391 | <para>On the CentOS 7 server open a terminal, log into a bash shell with | ||
392 | the root account and perform the following:</para> | ||
393 | |||
394 | <orderedlist> | ||
395 | <listitem> | ||
396 | <para>Unzip | ||
397 | <literal>Enea_NFV_Access_uCPEManager_<version>-build<build_number>.tar.gz</literal></para> | ||
398 | |||
399 | <para>The directory in which the archive has been unpacked will be | ||
400 | denoted as: <literal><uCPEM-installdir></literal>.</para> | ||
401 | </listitem> | ||
402 | |||
403 | <listitem> | ||
404 | <para>Enter <literal><uCPEM-installdir></literal>.</para> | ||
405 | </listitem> | ||
406 | |||
407 | <listitem> | ||
408 | <para>Choose the target installation folder, e.g. | ||
409 | <literal>/opt/ems</literal>. Everything will be installed under a | ||
410 | folder called <literal>/ucpemanager</literal> within the target | ||
411 | installation folder.</para> | ||
412 | |||
413 | <para>The application files will be installed in | ||
414 | <literal>/opt/ems/ucpemanager/application</literal>. The database | ||
415 | will be installed in | ||
416 | <literal>/opt/ems/ucpemanager/database</literal>.</para> | ||
417 | </listitem> | ||
418 | |||
419 | <listitem> | ||
420 | <para>Run the following interactive command:</para> | ||
421 | |||
422 | <programlisting>./install.sh /opt/ems \ | ||
423 | Enea_NFV_Access_uCPEManager_<version>-build<build_number>.tar.gz</programlisting> | ||
424 | |||
425 | <para>Use the default configuration values provided below in the | ||
426 | interactive install command. The same configuration values will need | ||
427 | to be provided when upgrading or uninstalling the uCPE | ||
428 | Manager:</para> | ||
429 | |||
430 | <itemizedlist> | ||
431 | <listitem> | ||
432 | <para>Database Configurations:</para> | ||
433 | |||
434 | <itemizedlist spacing="compact"> | ||
435 | <listitem> | ||
436 | <para>Are you using the embedded PostgreSQL database? [Y/N]: | ||
437 | <literal>Y</literal>.</para> | ||
438 | </listitem> | ||
439 | |||
440 | <listitem> | ||
441 | <para>Specify the database process password: | ||
442 | <literal>postgres</literal>.</para> | ||
443 | </listitem> | ||
444 | |||
445 | <listitem> | ||
446 | <para>Specify the database ID (or name): | ||
447 | <literal>ucpemanager</literal>.</para> | ||
448 | </listitem> | ||
449 | |||
450 | <listitem> | ||
451 | <para>Specify the database server port: | ||
452 | <literal>5432</literal>.</para> | ||
453 | </listitem> | ||
454 | |||
455 | <listitem> | ||
456 | <para>Specify the database user name: | ||
457 | <literal>postgres</literal>.</para> | ||
458 | </listitem> | ||
459 | |||
460 | <listitem> | ||
461 | <para>Specify database password: | ||
462 | <literal>postgres</literal>.</para> | ||
463 | </listitem> | ||
464 | |||
465 | <listitem> | ||
466 | <para>Specify database startup thread pool size: | ||
467 | <literal>1</literal>.</para> | ||
468 | </listitem> | ||
469 | </itemizedlist> | ||
470 | </listitem> | ||
471 | |||
472 | <listitem> | ||
473 | <para>Service Configurations:</para> | ||
474 | |||
475 | <itemizedlist spacing="compact"> | ||
476 | <listitem> | ||
477 | <para>Specify service username: | ||
478 | <literal>ucpemanager</literal>.</para> | ||
479 | </listitem> | ||
480 | |||
481 | <listitem> | ||
482 | <para>Specify service password: | ||
483 | <literal>ucpemanager</literal>.</para> | ||
484 | </listitem> | ||
485 | </itemizedlist> | ||
486 | </listitem> | ||
487 | |||
488 | <listitem> | ||
489 | <para>High Availability Configurations:</para> | ||
490 | |||
491 | <itemizedlist spacing="compact"> | ||
492 | <listitem> | ||
493 | <para>Specify the IP address of the local interface: The | ||
494 | CentOS 7 loopback address: 127.0.0.1.</para> | ||
495 | </listitem> | ||
496 | |||
497 | <listitem> | ||
498 | <para>Is this server part of a cluster? [Y/N]: | ||
499 | <literal>N</literal>.</para> | ||
500 | </listitem> | ||
501 | </itemizedlist> | ||
502 | </listitem> | ||
503 | |||
504 | <listitem> | ||
505 | <para>Heap Configuration:</para> | ||
506 | |||
507 | <itemizedlist spacing="compact"> | ||
508 | <listitem> | ||
509 | <para>Please enter the new Maximum Heap Size: <literal>4 | ||
510 | GB</literal>.<remark>Is this value accurate?</remark></para> | ||
511 | </listitem> | ||
512 | </itemizedlist> | ||
513 | </listitem> | ||
514 | </itemizedlist> | ||
515 | |||
516 | <para>This command will:</para> | ||
517 | |||
518 | <itemizedlist spacing="compact"> | ||
519 | <listitem> | ||
520 | <para>Extract the application files from the compressed | ||
521 | installation kit.</para> | ||
522 | </listitem> | ||
523 | |||
524 | <listitem> | ||
525 | <para>Install the bundled database.</para> | ||
526 | </listitem> | ||
527 | |||
528 | <listitem> | ||
529 | <para>Install the uCPE Manager as a service with the name | ||
530 | <literal>ucpemanager</literal>.</para> | ||
531 | </listitem> | ||
532 | |||
533 | <listitem> | ||
534 | <para>Start the <literal>ucpemanager</literal> service</para> | ||
535 | </listitem> | ||
536 | </itemizedlist> | ||
537 | </listitem> | ||
538 | |||
539 | <listitem> | ||
540 | <para>Open the IP Address of the CentOS 7 in a web browser on the | ||
541 | laptop and log in with the username and password: | ||
542 | <literal>admin</literal>/<literal>admin</literal>.</para> | ||
543 | </listitem> | ||
544 | </orderedlist> | ||
545 | |||
546 | <note> | ||
547 | <para>The IPv4 address of the CentOS 7 server, connected to the same | ||
548 | network as the uCPE Devices, will be used as a configuration parameter | ||
549 | both when setting up the uCPE devices and when accessing the uCPE | ||
550 | Manager GUI.</para> | ||
551 | </note> | ||
552 | |||
553 | <para>The uCPE Manager can be restored if a back-up file has been | ||
554 | previously created. A backup file can be created by accessing from the | ||
555 | uCPE Manager GUI: <literal>System</literal> -> <literal>System | ||
556 | Backup</literal>. The resulting zip archive will be located in the | ||
557 | <filename>/opt/ems/ucpemanager/application/backup</filename> folder and | ||
558 | will be named <literal>SystemBackup_MMMDD_YYYY_HHMM_SS.zip</literal> | ||
559 | (e.g System-Backup_Feb19_2013_2257_42.zip). Save the archive to another | ||
560 | location outside the uCPE Manager installation folder for future | ||
561 | use.</para> | ||
562 | |||
563 | <note> | ||
564 | <para>The System Back-up file obtained from the uCPE Manager GUI | ||
565 | (<filename>SystemBackup_MMMDD_YYYY_HHMM_SS.zip</filename>) must be | ||
566 | used to recover the uCPE Manager during deployment.</para> | ||
567 | |||
568 | <para>This is different from the uCPE Manager snapshot obtained during | ||
569 | a uCPE Manager Upgrade or Uninstall Operation | ||
570 | (<filename>ucpemanager-Backup-YYYYddMMHHmm.tar.gz</filename>).<remark>Why | ||
571 | do both options exist, what makes them different from each | ||
572 | other?</remark></para> | ||
573 | </note> | ||
574 | |||
575 | <para>To install the uCPE Manager with the restore option provide an | ||
576 | additional argument as shown below during installation:</para> | ||
577 | |||
578 | <programlisting>./install.sh \ | ||
579 | /opt/ems Enea_NFV_Access_uCPEManager_<version>-build<build_number>.tar.gz \ | ||
580 | SystemBackup_MMMDD_YYYY_HHMM_SS.zip</programlisting> | ||
581 | </section> | ||
582 | |||
583 | <section id="prep_usb_ena"> | ||
584 | <title>Preparing the USB stick for installation of the NFV Access Run | ||
585 | Time Platform</title> | ||
586 | |||
587 | <para>To install the Enea NFV Access Run Time Platform, create a | ||
588 | bootable USB stick with the image you intend to install. Follow the | ||
589 | example below to proceed.</para> | ||
590 | |||
591 | <note> | ||
592 | <para>The .hddimg image is available in the | ||
593 | <filename>Enea_NFV_Access_Run_Time_Platform_ | ||
594 | <processor>_<version>-build<build_number>.tar.gz</filename> | ||
595 | file you downloaded with your release.</para> | ||
596 | </note> | ||
597 | |||
598 | <para><emphasis role="bold">Create a bootable USB stick | ||
599 | image</emphasis></para> | ||
600 | |||
601 | <orderedlist> | ||
602 | <listitem> | ||
603 | <para>Copy the <filename>.hddimg</filename> image file provided by | ||
604 | Enea, into the CentOS 7 server.</para> | ||
605 | </listitem> | ||
606 | |||
607 | <listitem> | ||
608 | <para>Connect the USB stick to the CentOS 7 Server and identify the | ||
609 | USB device name given by the system with | ||
610 | <literal>lsblk</literal>:</para> | ||
611 | |||
612 | <programlisting>NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT | ||
613 | sda 8:0 1 28.7G 0 disk | ||
614 | sdb 8:0 0 111.8G 0 disk | ||
615 | |-sdb1 8:1 0 111.8G 0 part</programlisting> | ||
616 | </listitem> | ||
617 | |||
618 | <listitem> | ||
619 | <para>Copy the <filename>.hddimg</filename> image onto the USB | ||
620 | stick, e.g:</para> | ||
621 | |||
622 | <programlisting>sudo dd if=./enea-nfv-access-<machine>.hddimg \ | ||
623 | of=/dev/sdb bs=4M conv=fsync</programlisting> | ||
624 | |||
625 | <para>Where | ||
626 | <filename>enea-nfv-access-<machine>.hddimg</filename> is the | ||
627 | <filename>.hddimg</filename> file and <literal>sdb</literal> is the | ||
628 | assigned USB device name.</para> | ||
629 | </listitem> | ||
630 | </orderedlist> | ||
631 | </section> | ||
632 | |||
633 | <section id="prep_phys_deploy"> | ||
634 | <title>Preparing physical deployment for installation</title> | ||
635 | |||
636 | <figure> | ||
637 | <title>Preparing for Hardware Installation</title> | ||
638 | |||
639 | <mediaobject> | ||
640 | <imageobject> | ||
641 | <imagedata contentwidth="600" fileref="images/prep_deploy.png" /> | ||
642 | </imageobject> | ||
643 | </mediaobject> | ||
644 | </figure> | ||
645 | |||
646 | <para>The following hardware configuration is needed to install uCPE | ||
647 | devices:</para> | ||
648 | |||
649 | <orderedlist> | ||
650 | <listitem> | ||
651 | <para>Network connection between the CentOS 7 server and the | ||
652 | laptop.</para> | ||
653 | </listitem> | ||
654 | |||
655 | <listitem> | ||
656 | <para>The uCPE device is powered off.</para> | ||
657 | </listitem> | ||
658 | |||
659 | <listitem> | ||
660 | <para>Direct Ethernet cable connection between the uCPE Device LAN | ||
661 | and the laptop.</para> | ||
662 | </listitem> | ||
663 | </orderedlist> | ||
664 | </section> | ||
665 | |||
666 | <section id="install_ena_device"> | ||
667 | <title>Installing Enea NFV Access - uCPE Device installation</title> | ||
668 | |||
669 | <para>To initiate the installation of the NFV Access Run Time Platform | ||
670 | do the following:</para> | ||
671 | |||
672 | <orderedlist> | ||
673 | <listitem> | ||
674 | <para>Plug the USB stick into the uCPE device.</para> | ||
675 | </listitem> | ||
676 | |||
677 | <listitem> | ||
678 | <para>Connect a laptop directly into one of the uCPE device ports. | ||
679 | This can't be used as a WAN port at a later moment. No other ports | ||
680 | should be connected.</para> | ||
681 | </listitem> | ||
682 | |||
683 | <listitem> | ||
684 | <para>Power up the uCPE device and boot the USB stick.</para> | ||
685 | </listitem> | ||
686 | |||
687 | <listitem> | ||
688 | <para>The Web-installer application will start automatically and can | ||
689 | be accessed in a web browser on the laptop at | ||
690 | <literal>http://172.16.1.1</literal> (port 80).</para> | ||
691 | </listitem> | ||
692 | |||
693 | <listitem> | ||
694 | <para>On the first page of the Web-installer, the user must fill | ||
695 | in:</para> | ||
696 | |||
697 | <itemizedlist> | ||
698 | <listitem> | ||
699 | <para>The static uCPE Manager IP Address.</para> | ||
700 | </listitem> | ||
701 | |||
702 | <listitem> | ||
703 | <para>The unique identifier of the uCPE device (called "uCPE | ||
704 | Identifier" in this guide).</para> | ||
705 | </listitem> | ||
706 | |||
707 | <listitem> | ||
708 | <para>Customer Tags. They are used for Zero Touch Provisining | ||
709 | (ZTP) and can be left empty for a base configuration. What can | ||
710 | be entered here (if needed), are the tag(s) specified when | ||
711 | creating an offline configuration in the uCPE Manager. A later | ||
712 | addition of customer tags can only be done by reinstalling the | ||
713 | uCPE devices.</para> | ||
714 | </listitem> | ||
715 | </itemizedlist> | ||
716 | </listitem> | ||
717 | |||
718 | <listitem> | ||
719 | <para>On the second page of the Web-installer, the user must fill | ||
720 | in:</para> | ||
721 | |||
722 | <itemizedlist> | ||
723 | <listitem> | ||
724 | <para>The Layer 3 configuration of WAN Interface(s).</para> | ||
725 | </listitem> | ||
726 | |||
727 | <listitem> | ||
728 | <para>The Static or Dynamic IP.</para> | ||
729 | </listitem> | ||
730 | |||
731 | <listitem> | ||
732 | <para>During network configuration, WAN cables are plugged into | ||
733 | the uCPE device to identify ports and make them available for | ||
734 | configuration. All ports with cable connections will be set as | ||
735 | WAN ports and must be configured (DHCP is the default setting). | ||
736 | The configured WAN ports cannot be removed after configuration. | ||
737 | The user needs to connect the same number of cables as the | ||
738 | number of WAN ports that he wishes to configure. The configured | ||
739 | WAN cables cannot be removed after being configured.</para> | ||
740 | |||
741 | <note> | ||
742 | <para>No LAN ports should be connected nor configured at this | ||
743 | time. The LAN port used to access the Web-installer from the | ||
744 | laptop will not be shown and cannot be configured in the Web | ||
745 | Installer.</para> | ||
746 | </note> | ||
747 | </listitem> | ||
748 | |||
749 | <listitem> | ||
750 | <para>The Management Interface. The network interface (IP | ||
751 | Address of the uCPE Manager) used by the uCPE Manager to | ||
752 | communicate with the uCPE device.</para> | ||
753 | </listitem> | ||
754 | </itemizedlist> | ||
755 | </listitem> | ||
756 | </orderedlist> | ||
757 | |||
758 | <para>When the user has completed the configuration steps in the | ||
759 | Web-installer, NFV Access is installed on the hard drive. The largest | ||
760 | drive found on the uCPE device will be used for installation.</para> | ||
761 | </section> | ||
762 | |||
763 | <section id="prep_phys_exec"> | ||
764 | <title>Preparing physical deployment for execution</title> | ||
765 | |||
766 | <figure> | ||
767 | <title>Preparing for Deployment Execution</title> | ||
768 | |||
769 | <mediaobject> | ||
770 | <imageobject> | ||
771 | <imagedata contentwidth="600" fileref="images/prep_execution.png" /> | ||
772 | </imageobject> | ||
773 | </mediaobject> | ||
774 | </figure> | ||
775 | |||
776 | <para>The following hardware configuration is needed for service | ||
777 | deployment:</para> | ||
778 | |||
779 | <itemizedlist> | ||
780 | <listitem> | ||
781 | <para>Network connection between the CentOS 7 server and the | ||
782 | laptop.</para> | ||
783 | </listitem> | ||
784 | |||
785 | <listitem> | ||
786 | <para>Network connection between the CentOS 7 server and the uCPE | ||
787 | device WAN port.</para> | ||
788 | </listitem> | ||
789 | |||
790 | <listitem> | ||
791 | <para>One uCPE device LAN connected to the laptop using an ethernet | ||
792 | cable.</para> | ||
793 | </listitem> | ||
794 | |||
795 | <listitem> | ||
796 | <para>The USB is removed from the uCPE device.</para> | ||
797 | </listitem> | ||
798 | |||
799 | <listitem> | ||
800 | <para>The uCPE device powered off.</para> | ||
801 | </listitem> | ||
802 | </itemizedlist> | ||
803 | </section> | ||
804 | </section> | ||
805 | |||
806 | <section id="mg_ucpe_devices"> | ||
807 | <title>Management of uCPE Devices</title> | ||
808 | |||
809 | <para>When the installation is complete the uCPE Device can be connected | ||
810 | to uCPE Manager.</para> | ||
811 | |||
812 | <section id="add_offline_config"> | ||
813 | <title>Add a default Offline Configuration</title> | ||
814 | |||
815 | <para>Zero Touch Provisioning is always turned on when a uCPE device | ||
816 | connects to the uCPE Manager. To enable it in the uCPE Manager, an | ||
817 | offline configuration needs to be registered for Day-0 | ||
818 | configuration.</para> | ||
819 | |||
820 | <note> | ||
821 | <para>Day-0 configuration is a software lifecycle term referring to | ||
822 | early configurations to put the uCPE device in an active state. Day-1 | ||
823 | Configurations are applied after Day-0 and set the uCPE device and its | ||
824 | service in an active state. Day-2 Configurations are live | ||
825 | configurations on the uCPE and its service, applied after the uCPE | ||
826 | device and its service have been activated.</para> | ||
827 | </note> | ||
828 | |||
829 | <para>The offline configuration consists of data and parameters that are | ||
830 | meant to be automatically set when a uCPE device connects to the uCPE | ||
831 | Manager for the first time. The configuration is typically focused on | ||
832 | setting up the network management of the uCPE device, e.g. configuring | ||
833 | network interfaces, WAN and LAN networking and service chains.</para> | ||
834 | |||
835 | <para>For this base configuration, the offline configuration will be | ||
836 | left blank. The blank offline configuration can be filled with | ||
837 | user-specific values and data once the service is created, which is done | ||
838 | after installation is complete.</para> | ||
839 | |||
840 | <note> | ||
841 | <para>If the offline configuration is not configured, an alarm will be | ||
842 | raised: <literal>Day-0 Config:ZTP:Major</literal> when the uCPE device | ||
843 | tries to connect to uCPE Manager, informing the user that the ZTP | ||
844 | setup failed for the uCPE device.</para> | ||
845 | </note> | ||
846 | |||
847 | <para><emphasis role="bold">To create an offline | ||
848 | configuration</emphasis><orderedlist> | ||
849 | <listitem> | ||
850 | <para>In a browser access the uCPE Manager, then | ||
851 | <literal>Applications</literal>-><literal>Offline | ||
852 | Config</literal>.</para> | ||
853 | </listitem> | ||
854 | |||
855 | <listitem> | ||
856 | <para>Create a new offline configuration in the GUI by clicking | ||
857 | <literal>Add</literal> and filling in the mandatory fields: | ||
858 | <literal>name</literal>, <literal>deviceVersion</literal> and | ||
859 | <literal>deviceId</literal>.</para> | ||
860 | |||
861 | <para>The name is user defined and can be set to any unique text | ||
862 | string identifying the configuration. The deviceVersion must match | ||
863 | the Enea NFV Access version of the uCPE device and the deviceId | ||
864 | must be set to the previously set identifier of the uCPE (uCPE | ||
865 | Identifier).</para> | ||
866 | </listitem> | ||
867 | </orderedlist></para> | ||
868 | </section> | ||
869 | |||
870 | <section id="add_ucpe_mg"> | ||
871 | <title>Add a uCPE device to the Management System</title> | ||
872 | |||
873 | <para>The uCPE Manager will periodically poll the uCPE device based on | ||
874 | the IP address broadcasted by the uCPE device, attempting to establish a | ||
875 | management connection.</para> | ||
876 | |||
877 | <para>For the connection to succeed, add the uCPE device running the NFV | ||
878 | Access Run Time Platform to the management system: | ||
879 | <literal>Devices</literal> -> <literal>Manage</literal> -> | ||
880 | <literal>Add</literal>. Supply information about the uCPE device and set | ||
881 | the parameters that will be used to connect to it.</para> | ||
882 | |||
883 | <para>The relevant parameters are:</para> | ||
884 | |||
885 | <itemizedlist> | ||
886 | <listitem> | ||
887 | <para><emphasis role="bold">Type.</emphasis> The type of device to | ||
888 | be added, i.e Enea universal CPE.</para> | ||
889 | </listitem> | ||
890 | |||
891 | <listitem> | ||
892 | <para><emphasis role="bold">Name.</emphasis> The name by which the | ||
893 | uCPE device is referred to in the uCPE Manager.</para> | ||
894 | </listitem> | ||
895 | |||
896 | <listitem> | ||
897 | <para><emphasis role="bold">SSH Port.</emphasis> The NETCONF Port | ||
898 | used for communications. Default is set to 830.</para> | ||
899 | </listitem> | ||
900 | |||
901 | <listitem> | ||
902 | <para><emphasis role="bold">SSH User Name.</emphasis> The user name | ||
903 | for SSH connectivity. Default user is root.</para> | ||
904 | </listitem> | ||
905 | |||
906 | <listitem> | ||
907 | <para><emphasis role="bold">SSH Password.</emphasis> Leave this | ||
908 | blank.</para> | ||
909 | </listitem> | ||
910 | |||
911 | <listitem> | ||
912 | <para><emphasis role="bold">Device Calls Home.</emphasis> This | ||
913 | checkbox indicates the direction of uCPE device communications. For | ||
914 | a base configuration, leave this flag unchecked.</para> | ||
915 | </listitem> | ||
916 | |||
917 | <listitem> | ||
918 | <para><emphasis role="bold">Device ID.</emphasis> The unique | ||
919 | identifier of the uCPE device.</para> | ||
920 | </listitem> | ||
921 | </itemizedlist> | ||
922 | </section> | ||
923 | |||
924 | <section id="boot_device_add_map"> | ||
925 | <title>Booting the uCPE device and adding it to the Map</title> | ||
926 | |||
927 | <para>When connectivity is established with the uCPE Manager and a uCPE | ||
928 | device is already registered with a matching <literal>Device | ||
929 | ID</literal>, the installation is complete, and the connection is | ||
930 | established.</para> | ||
931 | |||
932 | <note> | ||
933 | <para>In case of failure due to a misconfiguration or if a uCPE device | ||
934 | does not appear in the uCPE Manager, a reinstallation is needed .The | ||
935 | user should remove all WAN cables, reinsert the USB stick, reattach | ||
936 | the laptop, reboot the uCPE device and then access the Web-installer | ||
937 | (<literal>http://172.16.1.1</literal>). If the uCPE device does not | ||
938 | appear in the uCPE Manager then a reinstallation is needed.</para> | ||
939 | </note> | ||
940 | |||
941 | <para>When a uCPE device is registered it can be manually added to the | ||
942 | map for overview. Right-click on the map and select <literal>Place | ||
943 | Device</literal> to put the uCPE device on the map.</para> | ||
944 | </section> | ||
945 | </section> | ||
946 | |||
947 | <section id="ucpe_monitor"> | ||
948 | <title>uCPE Device Monitorization and Control</title> | ||
949 | |||
950 | <para>Once the uCPE device is connected to the uCPE Manager, it is ready | ||
951 | for central management. Two important functions available in the uCPE | ||
952 | Manager GUI are alarm checking and resource allocation.</para> | ||
953 | |||
954 | <section id="check_alarms"> | ||
955 | <title>Checking Alarms</title> | ||
956 | |||
957 | <para>The uCPE Manager dashboard presents alarms in a specific window on | ||
958 | the front page.</para> | ||
959 | |||
960 | <para>An alarm can be easily triggered by disconnecting and reconnecting | ||
961 | the WAN ethernet cable from the uCPE device. The management system will | ||
962 | detect the broken link and raise an alarm: <literal>Device | ||
963 | Disconnected::Critical</literal>.</para> | ||
964 | |||
965 | <para>A separate Alarm Management window can be accessed from the uCPE | ||
966 | Manager menu for in-depth access and programming of Alarms and | ||
967 | Events.</para> | ||
968 | </section> | ||
969 | |||
970 | <section id="ck_resource_alloc"> | ||
971 | <title>Checking uCPE device Resource Allocation</title> | ||
972 | |||
973 | <para>When the uCPE device is connected to the uCPE Manager it is of | ||
974 | interest to check the amount of hardware resources in use.</para> | ||
975 | |||
976 | <para>To check CPU, RAM and disk utilization simply select the uCPE | ||
977 | device and click the <literal>Virtual Machines</literal> tab in the map | ||
978 | view. The same view will show active VNFs running on the uCPE device | ||
979 | once instantiated.</para> | ||
980 | </section> | ||
981 | |||
982 | <section id="access_device_cli"> | ||
983 | <title>Accessing the uCPE device CLI</title> | ||
984 | |||
985 | <para>As a final check to make sure the uCPE device was installed | ||
986 | correctly, access its Linux CLI by marking the uCPE device on the map | ||
987 | and selecting <literal>SSH</literal> from the panel. A new window will | ||
988 | appear for CLI access. The default user and password are | ||
989 | <literal>root</literal> and blank, respectively.</para> | ||
990 | |||
991 | <para>The Enea NFV Access CLI is a pure Linux CLI providing access to | ||
992 | standard Linux CLI commands. The CLI is a central feature for running | ||
993 | custom scripting.</para> | ||
994 | </section> | ||
995 | </section> | ||
996 | </chapter> \ No newline at end of file | ||
diff --git a/doc/book-enea-nfv-access-getting-started/doc/introduction.xml b/doc/book-enea-nfv-access-getting-started/doc/introduction.xml index 2009672..7a2f01e 100644 --- a/doc/book-enea-nfv-access-getting-started/doc/introduction.xml +++ b/doc/book-enea-nfv-access-getting-started/doc/introduction.xml | |||
@@ -2,84 +2,270 @@ | |||
2 | <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" | 2 | <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |
3 | "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> | 3 | "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> |
4 | <chapter id="intro_ucpe"> | 4 | <chapter id="intro_ucpe"> |
5 | <title>Introduction</title> | 5 | <title>Overview</title> |
6 | 6 | ||
7 | <para>Enea NFV Access for universal Customer Premise Equipment (uCPE) is a | 7 | <para>This document describes the Enea NFV Access and provides installation |
8 | virtualization and management platform, which allows end-users to introduce, | 8 | steps for deploying a base configuration in order to create:</para> |
9 | instantiate, and run third-party VNFs onto their systems. It is comprised of | ||
10 | two major components working in close cooperation:</para> | ||
11 | 9 | ||
12 | <itemizedlist> | 10 | <itemizedlist> |
13 | <listitem> | 11 | <listitem> |
14 | <para>The Enea NFV Access Run-Time Platform, which acts as the host for | 12 | <para>A functional uCPE Management installation ready to manage uCPE |
15 | Virtualized Network Functions (VNFs) and provides management over | 13 | devices.</para> |
16 | NETCONF.</para> | ||
17 | </listitem> | 14 | </listitem> |
18 | 15 | ||
19 | <listitem> | 16 | <listitem> |
20 | <para>The Enea uCPE Manager, a solution that runs on an external server, | 17 | <para>One or several managed uCPE devices, ready to host network |
21 | providing VNF Management functionality and managing large numbers of | 18 | services, using one wired WAN and one wired LAN connection.</para> |
22 | uCPEs.</para> | 19 | </listitem> |
20 | |||
21 | <listitem> | ||
22 | <para>One laptop accessing both the uCPE Manager and the uCPE | ||
23 | device.</para> | ||
23 | </listitem> | 24 | </listitem> |
24 | </itemizedlist> | 25 | </itemizedlist> |
25 | 26 | ||
26 | <section id="nfv_access"> | 27 | <para>Extended deployment and configuration options are also detailed in the |
27 | <title>Enea NFV Access Run Time Platform</title> | 28 | following chapters.</para> |
29 | |||
30 | <section id="ena_solution"> | ||
31 | <title>Enea NFV Access</title> | ||
32 | |||
33 | <para>Enea NFV Access for universal Customer Premise Equipment (uCPE) is a | ||
34 | virtualization and management platform, which allows end-users to onboard, | ||
35 | instantiate, and run third-party VNFs onto their systems. It is comprised | ||
36 | of two major components working in close cooperation:</para> | ||
37 | |||
38 | <itemizedlist> | ||
39 | <listitem> | ||
40 | <para>The Enea NFV Access Run-Time Platform, which acts as the host | ||
41 | for Virtualized Network Functions (VNFs) and provides management over | ||
42 | NETCONF.</para> | ||
43 | </listitem> | ||
44 | |||
45 | <listitem> | ||
46 | <para>The Enea uCPE Manager, a solution that runs on an external | ||
47 | server, used for VNF Management and managing large numbers of uCPE | ||
48 | devices.</para> | ||
49 | </listitem> | ||
50 | </itemizedlist> | ||
51 | |||
52 | <para>In addition, Enea NFV Access also includes a software framework for | ||
53 | Automation and Testing (AFTH). More information can be found in | ||
54 | <xi:include href="../../s_docbuild/olinkdb/pardoc-common.xml" | ||
55 | xmlns:xi="http://www.w3.org/2001/XInclude" | ||
56 | xpointer="element(book_enea_nfv_access_auto_fw_th_user_guide/1)" />.</para> | ||
57 | |||
58 | <para> Details concerning release content, including documentation | ||
59 | structure, are provided in the <xi:include | ||
60 | href="../../s_docbuild/olinkdb/pardoc-common.xml" | ||
61 | xmlns:xi="http://www.w3.org/2001/XInclude" | ||
62 | xpointer="element(book_enea_nfv_access_release_info/1)" /> manual included | ||
63 | with your release.</para> | ||
64 | |||
65 | <section id="nfv_access"> | ||
66 | <title>Enea NFV Access Run Time Platform</title> | ||
67 | |||
68 | <para>The Enea NFV Access Run Time Platform is a lightweight, | ||
69 | multi-architecture virtualization platform, supporting Virtual Machines | ||
70 | (KVM / QEMU) and container(s) (Docker). Designed for a low footprint and | ||
71 | fast boot by only providing essential functionality.</para> | ||
72 | |||
73 | <para>The NFV Access virtualized data plane has DPDK and accelerated OVS | ||
74 | as its primary components. The data plane is highly optimized for | ||
75 | scenarios where high throughput and low latency are needed.</para> | ||
28 | 76 | ||
29 | <para>Enea NFV Access Run Time Platform is a lightweight, | 77 | <para>VNF Runtime Management, orchestration integration, and FCAPS are |
30 | multi-architecture virtualization platform, supporting Virtual Machines | 78 | provided through NETCONF.</para> |
31 | (KVM / QEMU) and container(s) (Docker). Designed for a low footprint and | ||
32 | fast boot by only providing essential functionality.</para> | ||
33 | 79 | ||
34 | <para>The NFV Access virtualized data plane has DPDK and accelerated OVS | 80 | <figure> |
35 | as its primary components. The data plane is highly optimized for | 81 | <title>VNF Space</title> |
36 | scenarios where high throughput and low latency are needed.</para> | ||
37 | 82 | ||
38 | <para>VNF Runtime Management, orchestration integration, and FCAPS are | 83 | <mediaobject> |
39 | provided through EdgeLink NETCONF.</para> | 84 | <imageobject> |
85 | <imagedata align="center" contentwidth="600" | ||
86 | fileref="images/vnf_space.png" /> | ||
87 | </imageobject> | ||
88 | </mediaobject> | ||
89 | </figure> | ||
90 | </section> | ||
40 | 91 | ||
41 | <figure> | 92 | <section id="ucpe_manager"> |
42 | <title>VNF Space</title> | 93 | <title>Enea uCPE Manager</title> |
43 | 94 | ||
44 | <mediaobject> | 95 | <para>The Enea uCPE Manager is a control center application providing a |
45 | <imageobject> | 96 | full FCAPS and VNF management experience through a GUI and REST API. It |
46 | <imagedata align="center" fileref="images/vnf_space.png" scale="80" /> | 97 | can be deployed on a host or a virtual machine running 64-bit CentOS 7 |
47 | </imageobject> | 98 | on an x86 platform. The uCPE Manager uses a southbound NETCONF protocol |
48 | </mediaobject> | 99 | to connect and manage uCPE devices.</para> |
49 | </figure> | 100 | |
101 | <para>The Enea uCPE Manager provides the following key features:</para> | ||
102 | |||
103 | <itemizedlist> | ||
104 | <listitem> | ||
105 | <para>VNF Onboarding</para> | ||
106 | </listitem> | ||
107 | |||
108 | <listitem> | ||
109 | <para>VNF Management</para> | ||
110 | </listitem> | ||
111 | |||
112 | <listitem> | ||
113 | <para>FCAPS</para> | ||
114 | </listitem> | ||
115 | |||
116 | <listitem> | ||
117 | <para>Zero Touch Provisioning</para> | ||
118 | </listitem> | ||
119 | |||
120 | <listitem> | ||
121 | <para>Alarms / Events management and monitoring</para> | ||
122 | </listitem> | ||
123 | </itemizedlist> | ||
124 | </section> | ||
50 | </section> | 125 | </section> |
51 | 126 | ||
52 | <section id="ucpe_manager"> | 127 | <section id="def_and_acr"> |
53 | <title>Enea uCPE Manager</title> | 128 | <title>Definitions and Acronyms</title> |
54 | 129 | ||
55 | <para>Enea uCPE Manager is a control center application providing a full | 130 | <section id="definitions"> |
56 | FCAPS and VNF management experience through a GUI and REST API. It can be | 131 | <title>Definitions</title> |
57 | deployed on a host or a virtual machine running 64-bit CentOS on an x86 | ||
58 | platform. The uCPE Manager uses a southbound EdgeLink NETCONF protocol to | ||
59 | connect and manage uCPE devices.</para> | ||
60 | 132 | ||
61 | <para>Enea uCPE Manager provides the following key features:</para> | 133 | <table> |
134 | <title>Definitions</title> | ||
62 | 135 | ||
63 | <itemizedlist> | 136 | <tgroup cols="2"> |
64 | <listitem> | 137 | <colspec align="left" colname="1" colwidth="1*" /> |
65 | <para>VNF On-boarding</para> | ||
66 | </listitem> | ||
67 | 138 | ||
68 | <listitem> | 139 | <colspec align="left" colname="2" colwidth="3*" /> |
69 | <para>VNF Management</para> | ||
70 | </listitem> | ||
71 | 140 | ||
72 | <listitem> | 141 | <tbody> |
73 | <para>FCAPS</para> | 142 | <row> |
74 | </listitem> | 143 | <entry>Enea NFV Access</entry> |
75 | 144 | ||
76 | <listitem> | 145 | <entry>The Enea NFV Access Run Time Platform and the uCPE |
77 | <para>Zero Touch Provisioning</para> | 146 | Manager.</entry> |
78 | </listitem> | 147 | </row> |
79 | 148 | ||
80 | <listitem> | 149 | <row> |
81 | <para>Alarms / Events management and monitoring</para> | 150 | <entry>Enea NFV Access Run Time Platform</entry> |
82 | </listitem> | 151 | |
83 | </itemizedlist> | 152 | <entry>A lightweight, multi-architecture virtualization |
153 | platform, supporting Virtual Machines.</entry> | ||
154 | </row> | ||
155 | |||
156 | <row> | ||
157 | <entry>Enea uCPE Manager</entry> | ||
158 | |||
159 | <entry>Enea Universal Customer Premises Equipment | ||
160 | Manager.</entry> | ||
161 | </row> | ||
162 | |||
163 | <row> | ||
164 | <entry>PCI Passthrough</entry> | ||
165 | |||
166 | <entry>PCI Passthrough allows for use of a physical PCI device, | ||
167 | e.g. a network card inside a VM. If you "PCI passthrough" a | ||
168 | device, the device is not available to the host anymore.</entry> | ||
169 | </row> | ||
170 | |||
171 | <row> | ||
172 | <entry>uCPE device</entry> | ||
173 | |||
174 | <entry>A whitebox running the Enea NFV Access Run Time | ||
175 | Platform.</entry> | ||
176 | </row> | ||
177 | </tbody> | ||
178 | </tgroup> | ||
179 | </table> | ||
180 | </section> | ||
181 | |||
182 | <section id="acronyms"> | ||
183 | <title>Acronyms</title> | ||
184 | |||
185 | <table> | ||
186 | <title>Acronyms</title> | ||
187 | |||
188 | <tgroup cols="2"> | ||
189 | <colspec align="left" colname="1" colwidth="1*" /> | ||
190 | |||
191 | <colspec align="left" colname="2" colwidth="3*" /> | ||
192 | |||
193 | <tbody> | ||
194 | <row> | ||
195 | <entry>API</entry> | ||
196 | |||
197 | <entry>Application Programming Interface.</entry> | ||
198 | </row> | ||
199 | |||
200 | <row> | ||
201 | <entry>DPDK</entry> | ||
202 | |||
203 | <entry>Data Plane Development Kit.</entry> | ||
204 | </row> | ||
205 | |||
206 | <row> | ||
207 | <entry>EFI</entry> | ||
208 | |||
209 | <entry>Extensible Firmware Interface.</entry> | ||
210 | </row> | ||
211 | |||
212 | <row> | ||
213 | <entry>FCAPS</entry> | ||
214 | |||
215 | <entry>Fault-management, Configuration, Accounting, Performance | ||
216 | and Security.</entry> | ||
217 | </row> | ||
218 | |||
219 | <row> | ||
220 | <entry>NETCONF</entry> | ||
221 | |||
222 | <entry>Network Configuration Protocol.</entry> | ||
223 | </row> | ||
224 | |||
225 | <row> | ||
226 | <entry>NFV</entry> | ||
227 | |||
228 | <entry>Network Functions Virtualization.</entry> | ||
229 | </row> | ||
230 | |||
231 | <row> | ||
232 | <entry>OVS</entry> | ||
233 | |||
234 | <entry>Open vSwitch.</entry> | ||
235 | </row> | ||
236 | |||
237 | <row> | ||
238 | <entry>UEFI</entry> | ||
239 | |||
240 | <entry>Unified Extensible Firmware Interface.</entry> | ||
241 | </row> | ||
242 | |||
243 | <row> | ||
244 | <entry>SR-IOV</entry> | ||
245 | |||
246 | <entry>Single Root Input/Output Virtualization.</entry> | ||
247 | </row> | ||
248 | |||
249 | <row> | ||
250 | <entry>PCI</entry> | ||
251 | |||
252 | <entry>Peripheral Component Interconnect.</entry> | ||
253 | </row> | ||
254 | |||
255 | <row> | ||
256 | <entry>REST</entry> | ||
257 | |||
258 | <entry>Representational State Transfer.</entry> | ||
259 | </row> | ||
260 | |||
261 | <row> | ||
262 | <entry>VNF</entry> | ||
263 | |||
264 | <entry>Virtual Network Function.</entry> | ||
265 | </row> | ||
266 | </tbody> | ||
267 | </tgroup> | ||
268 | </table> | ||
269 | </section> | ||
84 | </section> | 270 | </section> |
85 | </chapter> | 271 | </chapter> \ No newline at end of file |
diff --git a/doc/book-enea-nfv-access-getting-started/doc/log_collector.xml b/doc/book-enea-nfv-access-getting-started/doc/log_collector.xml new file mode 100644 index 0000000..410e692 --- /dev/null +++ b/doc/book-enea-nfv-access-getting-started/doc/log_collector.xml | |||
@@ -0,0 +1,392 @@ | |||
1 | <?xml version="1.0" encoding="ISO-8859-1"?> | ||
2 | <chapter id="log_collector"> | ||
3 | <title>Using the Log Collector</title> | ||
4 | |||
5 | <para>Troubleshooting problems on the uCPE device require an analysis of a | ||
6 | set of information i.e. logs collected from the uCPE device and/or uCPE | ||
7 | Manager. The following describe how the log collection mechanism | ||
8 | works.</para> | ||
9 | |||
10 | <section id="log_collect_ucpem"> | ||
11 | <title>Log collecting using the uCPE Manager</title> | ||
12 | |||
13 | <para>The uCPE Manager allows for collection of the relevant logs from the | ||
14 | GUI. Collect the necessary log files and system details, then create an | ||
15 | archive (a tar file) on the uCPE device in the | ||
16 | <filename>/var/odm/log/archives</filename> folder:</para> | ||
17 | |||
18 | <orderedlist> | ||
19 | <listitem> | ||
20 | <para>Access <literal>Operations</literal> -> <literal>Collect | ||
21 | Debug Logs</literal>.</para> | ||
22 | </listitem> | ||
23 | |||
24 | <listitem> | ||
25 | <para>Provide a file name in the new window.</para> | ||
26 | </listitem> | ||
27 | |||
28 | <listitem> | ||
29 | <para>Press the <literal>Execute</literal> button.</para> | ||
30 | |||
31 | <para>A success message is shown in the same window as shown below. At | ||
32 | this moment, the process of collecting logs on the uCPE device | ||
33 | starts.</para> | ||
34 | </listitem> | ||
35 | |||
36 | <figure> | ||
37 | <title>Collecting Debug Logs</title> | ||
38 | |||
39 | <mediaobject> | ||
40 | <imageobject> | ||
41 | <imagedata align="center" contentwidth="500" | ||
42 | fileref="images/collect_debug_logs.png" /> | ||
43 | </imageobject> | ||
44 | </mediaobject> | ||
45 | </figure> | ||
46 | </orderedlist> | ||
47 | |||
48 | <note> | ||
49 | <para>It might take some time for the archive to be created. When the | ||
50 | operation completes, a "CollectLogsComplete" notification is sent from | ||
51 | the uCPE device to the uCPE Manager. This can be viewed in the GUI under | ||
52 | the <literal>Faults</literal> -> <literal>Events</literal> toolbar | ||
53 | menu.</para> | ||
54 | |||
55 | <figure> | ||
56 | <title>Collecting Debug Logs</title> | ||
57 | |||
58 | <mediaobject> | ||
59 | <imageobject> | ||
60 | <imagedata align="center" contentwidth="500" | ||
61 | fileref="images/fault_events.png" /> | ||
62 | </imageobject> | ||
63 | </mediaobject> | ||
64 | </figure> | ||
65 | </note> | ||
66 | </section> | ||
67 | |||
68 | <section id="view_logs"> | ||
69 | <title>View collected logs</title> | ||
70 | |||
71 | <para>A list with the archives containing already collected logs will be | ||
72 | shown in the <literal>Device File Listing</literal> table:</para> | ||
73 | |||
74 | <orderedlist> | ||
75 | <listitem> | ||
76 | <para>Access <literal>Files</literal> -> | ||
77 | <literal>Download</literal>.</para> | ||
78 | </listitem> | ||
79 | |||
80 | <listitem> | ||
81 | <para>Press the <literal>List</literal> button.</para> | ||
82 | |||
83 | <figure> | ||
84 | <title>Device File Listing Table</title> | ||
85 | |||
86 | <mediaobject> | ||
87 | <imageobject> | ||
88 | <imagedata align="center" contentwidth="500" | ||
89 | fileref="images/archive_list.png" /> | ||
90 | </imageobject> | ||
91 | </mediaobject> | ||
92 | </figure> | ||
93 | </listitem> | ||
94 | </orderedlist> | ||
95 | |||
96 | <note> | ||
97 | <para>If the filename you specified does not appear, it might still be | ||
98 | in the process of creation. Click on the <literal>Refresh</literal> icon | ||
99 | at the bottom of the table until you can see the desired file | ||
100 | listing.</para> | ||
101 | </note> | ||
102 | </section> | ||
103 | |||
104 | <section id="download_fr_dev"> | ||
105 | <title>Downloading Logs from the uCPE Device</title> | ||
106 | |||
107 | <para>This option transfers a debug file archive from the uCPE device to | ||
108 | uCPE Manager machine.</para> | ||
109 | |||
110 | <orderedlist> | ||
111 | <listitem> | ||
112 | <para>Access <literal>Files</literal> -> | ||
113 | <literal>Download</literal>.</para> | ||
114 | </listitem> | ||
115 | |||
116 | <listitem> | ||
117 | <para>Press the <literal>List</literal> button.</para> | ||
118 | </listitem> | ||
119 | |||
120 | <listitem> | ||
121 | <para>In the <literal>Device File Listing</literal> table, select the | ||
122 | archive you want to download from the uCPE device to uCPE | ||
123 | Manager.</para> | ||
124 | </listitem> | ||
125 | |||
126 | <listitem> | ||
127 | <para>Press the <literal>Download from Device</literal> button.</para> | ||
128 | |||
129 | <para>The archive will be downloaded from the uCPE device and stored | ||
130 | on the uCPE Machine.</para> | ||
131 | </listitem> | ||
132 | </orderedlist> | ||
133 | |||
134 | <note> | ||
135 | <para>The archive will not be deleted from the uCPE device after | ||
136 | download.</para> | ||
137 | </note> | ||
138 | </section> | ||
139 | |||
140 | <section id="download_logs_locally"> | ||
141 | <title>Downloading collected logs locally</title> | ||
142 | |||
143 | <para>This option downloads a logs archive from the uCPE Manager to a | ||
144 | local (user) machine for analysis. The archive must first be available in | ||
145 | the uCPE Manager in order to be downloaded.</para> | ||
146 | |||
147 | <orderedlist> | ||
148 | <listitem> | ||
149 | <para>Access <literal>Devices</literal> -> | ||
150 | <literal>Files</literal>.</para> | ||
151 | </listitem> | ||
152 | |||
153 | <listitem> | ||
154 | <para>Select the <literal>Downloaded Files</literal> tab.</para> | ||
155 | </listitem> | ||
156 | |||
157 | <listitem> | ||
158 | <para>Select an archive from <literal>Downloaded Files</literal> | ||
159 | table.</para> | ||
160 | </listitem> | ||
161 | |||
162 | <listitem> | ||
163 | <para>Click the <literal>Download</literal> button.</para> | ||
164 | |||
165 | <para>The file will be downloaded in browser's download folder.</para> | ||
166 | |||
167 | <figure> | ||
168 | <title>Downloaded Files Table</title> | ||
169 | |||
170 | <mediaobject> | ||
171 | <imageobject> | ||
172 | <imagedata align="center" contentwidth="500" | ||
173 | fileref="images/download_files.png" /> | ||
174 | </imageobject> | ||
175 | </mediaobject> | ||
176 | </figure> | ||
177 | </listitem> | ||
178 | </orderedlist> | ||
179 | </section> | ||
180 | |||
181 | <section id="delete_log_archive_dev"> | ||
182 | <title>Deleting a logs archive from a uCPE device</title> | ||
183 | |||
184 | <para>Use this option when you want to delete unnecessary collected logs | ||
185 | on the uCPE device.</para> | ||
186 | |||
187 | <orderedlist> | ||
188 | <listitem> | ||
189 | <para>Access <literal>Files</literal> -> | ||
190 | <literal>Download</literal>.</para> | ||
191 | </listitem> | ||
192 | |||
193 | <listitem> | ||
194 | <para>Press the <literal>List</literal> button.</para> | ||
195 | </listitem> | ||
196 | |||
197 | <listitem> | ||
198 | <para>In the <literal>Device File Listing</literal> table, select the | ||
199 | archive you want to delete from the uCPE device.</para> | ||
200 | </listitem> | ||
201 | |||
202 | <listitem> | ||
203 | <para>Press the <literal>Delete</literal> button.</para> | ||
204 | |||
205 | <para>The archive will be deleted from the uCPE device and the table | ||
206 | will be updated.</para> | ||
207 | </listitem> | ||
208 | </orderedlist> | ||
209 | |||
210 | <para>The same can be achieved using these alternative options:</para> | ||
211 | |||
212 | <orderedlist> | ||
213 | <listitem> | ||
214 | <para>Access <literal>Operations</literal> -> <literal>Delete Debug | ||
215 | Log Archive</literal>.</para> | ||
216 | </listitem> | ||
217 | |||
218 | <listitem> | ||
219 | <para>Provide a file name in the new window.</para> | ||
220 | </listitem> | ||
221 | |||
222 | <listitem> | ||
223 | <para>Press the <literal>Execute</literal> button.</para> | ||
224 | |||
225 | <para>A success message is displayed if the file is deleted from the | ||
226 | uCPE device correctly.</para> | ||
227 | </listitem> | ||
228 | </orderedlist> | ||
229 | </section> | ||
230 | |||
231 | <section id="delete_archives_ucpem"> | ||
232 | <title>Deleting logs archives from the uCPE Manager</title> | ||
233 | |||
234 | <para>This option deletes a logs archive from the uCPE Manager.</para> | ||
235 | |||
236 | <orderedlist> | ||
237 | <listitem> | ||
238 | <para>Access <literal>Devices</literal> -> | ||
239 | <literal>Files</literal>.</para> | ||
240 | </listitem> | ||
241 | |||
242 | <listitem> | ||
243 | <para>Select the <literal>Downloaded Files</literal> tab.</para> | ||
244 | </listitem> | ||
245 | |||
246 | <listitem> | ||
247 | <para>Select an archive from the <literal>Downloaded Files</literal> | ||
248 | table.</para> | ||
249 | </listitem> | ||
250 | |||
251 | <listitem> | ||
252 | <para>Click the <literal>Delete</literal> button.</para> | ||
253 | |||
254 | <para>The file will be deleted from the uCPE Manager and the table | ||
255 | will be updated.</para> | ||
256 | </listitem> | ||
257 | </orderedlist> | ||
258 | |||
259 | <note> | ||
260 | <para>Deleting the logs file from the uCPE Manager does not affect the | ||
261 | file located on the uCPE device.</para> | ||
262 | </note> | ||
263 | </section> | ||
264 | |||
265 | <section id="enable_disable_via_perms"> | ||
266 | <title>Enabling/Disabling of the Log Collector via Permissions</title> | ||
267 | |||
268 | <para>To disable the ability to access/download the uCPE device's | ||
269 | debug-log files from the uCPE Manager, the appropriate permissions must be | ||
270 | changed:</para> | ||
271 | |||
272 | <orderedlist> | ||
273 | <listitem> | ||
274 | <para>Access <literal>Security</literal> -> | ||
275 | <literal>Configuration</literal>.</para> | ||
276 | </listitem> | ||
277 | |||
278 | <listitem> | ||
279 | <para>Click the <literal>Security Groups</literal> tab.</para> | ||
280 | </listitem> | ||
281 | |||
282 | <listitem> | ||
283 | <para>Click the desired group.</para> | ||
284 | </listitem> | ||
285 | |||
286 | <listitem> | ||
287 | <para>Click the <literal>Permissions</literal> tab on the right | ||
288 | side.</para> | ||
289 | </listitem> | ||
290 | |||
291 | <listitem> | ||
292 | <para>Click the <literal>Devices</literal> tab like in the image | ||
293 | below.</para> | ||
294 | </listitem> | ||
295 | |||
296 | <listitem> | ||
297 | <para>Change the <literal>Device File Management</literal> option to | ||
298 | <literal>none</literal> to disable the feature.</para> | ||
299 | </listitem> | ||
300 | </orderedlist> | ||
301 | |||
302 | <figure> | ||
303 | <title>Device File Management</title> | ||
304 | |||
305 | <mediaobject> | ||
306 | <imageobject> | ||
307 | <imagedata align="center" contentwidth="500" | ||
308 | fileref="images/dev_file_mg.png" /> | ||
309 | </imageobject> | ||
310 | </mediaobject> | ||
311 | </figure> | ||
312 | </section> | ||
313 | |||
314 | <section id="download_ucpemg_logs"> | ||
315 | <title>Downloading uCPE Manager logs</title> | ||
316 | |||
317 | <para>Often, sending the uCPE Manager logs together with collected uCPE | ||
318 | device logs to the support team provides important information for | ||
319 | troubleshooting (especially in cases of connectivity issues with the uCPE | ||
320 | device and error popups).</para> | ||
321 | |||
322 | <para>uCPE Manager log files are located in | ||
323 | <filename>application/logs/</filename> in the uCPE Manager's installation | ||
324 | folder (e.g.<filename>/opt/ems/ucpemanager/application/logs</filename>). | ||
325 | They can be copied from that location, or they can be downloaded using the | ||
326 | uCPE Manager GUI by performing the following:</para> | ||
327 | |||
328 | <orderedlist> | ||
329 | <listitem> | ||
330 | <para>Access <literal>Test</literal> -> <literal>Debug | ||
331 | Settings</literal> and select the <literal>Log Files</literal> | ||
332 | tab.</para> | ||
333 | </listitem> | ||
334 | |||
335 | <listitem> | ||
336 | <para>Select the desired log file | ||
337 | (<filename>ucpemanager.log</filename> or | ||
338 | <filename>watchdog.log</filename>) and press the | ||
339 | <literal>Download</literal> button.</para> | ||
340 | </listitem> | ||
341 | |||
342 | <listitem> | ||
343 | <para>A new (blank) popup window opens and the file is downloaded | ||
344 | locally. This popup can be closed after the download.</para> | ||
345 | </listitem> | ||
346 | |||
347 | <listitem> | ||
348 | <para>Repeat steps 2. And 3. Until all the desired log files have been | ||
349 | downloaded</para> | ||
350 | </listitem> | ||
351 | </orderedlist> | ||
352 | |||
353 | <figure> | ||
354 | <title>Debug Settings</title> | ||
355 | |||
356 | <mediaobject> | ||
357 | <imageobject> | ||
358 | <imagedata align="center" contentwidth="500" | ||
359 | fileref="images/debug_settings.png" /> | ||
360 | </imageobject> | ||
361 | </mediaobject> | ||
362 | </figure> | ||
363 | </section> | ||
364 | |||
365 | <section id="log_collect_no_ucpem"> | ||
366 | <title>Log collecting without using the uCPE Manager</title> | ||
367 | |||
368 | <para>Log collection from uCPE Devices can also be done when there is no | ||
369 | uCPE Manager connection. A SSH connection to uCPE Device is needed for use | ||
370 | of the log collector script, which can be found in the uCPE Device file | ||
371 | system in <literal>/usr/local/enea/</literal>.</para> | ||
372 | |||
373 | <para>The Log collector script takes relevant information about the system | ||
374 | and collects it in an archive:</para> | ||
375 | |||
376 | <programlisting>./log-collector.sh -p <LOG_PATHh> -n <ARCHIVE_NAME></programlisting> | ||
377 | |||
378 | <para>Where <literal>-p</literal> is the path where the log archive will | ||
379 | be saved, <literal>-n</literal> is the archive name.</para> | ||
380 | |||
381 | <note> | ||
382 | <para>If <literal>-p</literal> is not provided, the default path will be | ||
383 | used: <literal>/var/logcollector</literal>. If <literal>-n</literal> is | ||
384 | not provided, the default name will be used: | ||
385 | <filename>log_archive_<timestamp>.tar.gz</filename>.</para> | ||
386 | </note> | ||
387 | |||
388 | <para>To access the help menu of the script:</para> | ||
389 | |||
390 | <programlisting>./log-collector.sh -h</programlisting> | ||
391 | </section> | ||
392 | </chapter> \ No newline at end of file | ||
diff --git a/doc/book-enea-nfv-access-getting-started/doc/net_config_options.xml b/doc/book-enea-nfv-access-getting-started/doc/net_config_options.xml new file mode 100644 index 0000000..4c11b7c --- /dev/null +++ b/doc/book-enea-nfv-access-getting-started/doc/net_config_options.xml | |||
@@ -0,0 +1,740 @@ | |||
1 | <?xml version="1.0" encoding="ISO-8859-1"?> | ||
2 | <chapter id="net_config_operations"> | ||
3 | <title>Network Configuration Options</title> | ||
4 | |||
5 | <para>Various Advanced Network Configuration options can be done from uCPE | ||
6 | Manager GUI.</para> | ||
7 | |||
8 | <section id="device_callhome_nat"> | ||
9 | <title>Device Call Home Connection for deployment behind NAT</title> | ||
10 | |||
11 | <para>The Device Call Home option enables the initiation of the connection | ||
12 | between the uCPE Device and the uCPE Manager, from the uCPE device. The | ||
13 | Device Call Home option is required when deploying a uCPE device behind | ||
14 | NAT since the IP address of the uCPE device is hidden for the uCPE | ||
15 | Manager.</para> | ||
16 | |||
17 | <para>Enable Device Call Home by marking the Device Call Home checkbox | ||
18 | when registering the uCPE device in uCPE Manager. When using this | ||
19 | mechanism, the device will initiate a connection to the uCPE Manager for | ||
20 | NETCONF traffic (over SSH), while the uCPE Manager waits for a device | ||
21 | connection.</para> | ||
22 | </section> | ||
23 | |||
24 | <section id="device_net_config"> | ||
25 | <title>uCPE Device Network Configuration</title> | ||
26 | |||
27 | <para>The following describes the steps required for setting up the | ||
28 | virtualization infrastructure, ensuring that a uCPE device has networking | ||
29 | setup for virtualized service deployment. Networking is enabled by | ||
30 | selecting physical interfaces to be used by virtualized networking and | ||
31 | creating different types of bridges to enable VNF communication.</para> | ||
32 | |||
33 | <para>The Zero Touch Provisioning mechanism is also touched upon, as | ||
34 | alternative to manual configuration of the virtualization | ||
35 | infrastructure.</para> | ||
36 | |||
37 | <section id="config_dpdk"> | ||
38 | <title>Configure DPDK</title> | ||
39 | |||
40 | <para>DPDK is an important functionality for accelerating networking | ||
41 | performance. The DPDK is enabled by default and should be utilized in | ||
42 | most configurations.</para> | ||
43 | |||
44 | <para>In use cases where CPU capacity is very limited, disabling DPDK | ||
45 | can free up CPU capacity and overall performance can improve. Navigate | ||
46 | to <literal>Configuration</literal> -> <literal>DPDK</literal> and | ||
47 | deselect <literal>Enable DPDK</literal> to disable the DPDK.</para> | ||
48 | |||
49 | <note> | ||
50 | <para>Disabling the DPDK cannot be done after other network | ||
51 | configurations have been made.</para> | ||
52 | </note> | ||
53 | |||
54 | <para>In <literal>Configuration</literal> -> <literal>DPDK</literal> | ||
55 | it is also possible to configure DPDK resources such as:</para> | ||
56 | |||
57 | <itemizedlist> | ||
58 | <listitem> | ||
59 | <para><emphasis role="bold">LCore Mask</emphasis>. Allocated cores | ||
60 | for DPDK management functions (CPU core bitmask). Default: | ||
61 | 0x2.</para> | ||
62 | </listitem> | ||
63 | |||
64 | <listitem> | ||
65 | <para><emphasis role="bold">PMD CPU Mask</emphasis>. Allocated cores | ||
66 | for DPDK packet processing (CPU core bitmask). Default: 0x4.</para> | ||
67 | </listitem> | ||
68 | |||
69 | <listitem> | ||
70 | <para><emphasis role="bold">Socket Memory</emphasis>. Allocated | ||
71 | memory to use. Default: 1494.</para> | ||
72 | </listitem> | ||
73 | </itemizedlist> | ||
74 | </section> | ||
75 | |||
76 | <section id="config_ext_interfaces"> | ||
77 | <title>Configure External Interfaces</title> | ||
78 | |||
79 | <para>Once a management connection with the uCPE device has been | ||
80 | established by using any of the supported methods, the virtualization | ||
81 | networking infrastructure can be configured either manually or by using | ||
82 | Zero Touch Provisioning.</para> | ||
83 | |||
84 | <para>Available network interfaces can be added to the management | ||
85 | system, for use by the networking virtualization infrastructure.</para> | ||
86 | |||
87 | <para>In order to make physical network interfaces available to the | ||
88 | virtualization infrastructure and VNFs, they must be configured into the | ||
89 | management system.</para> | ||
90 | |||
91 | <para>To add an interface into the uCPE Manager, select the uCPE device, | ||
92 | then from the top toolbar select <literal>Configuration -> External | ||
93 | Interfaces -> Configuration -> Add</literal>. The available | ||
94 | Interface types are detailed below.</para> | ||
95 | |||
96 | <section id="dpdk_interface_type"> | ||
97 | <title>DPDK Interface Type</title> | ||
98 | |||
99 | <para>Configuring a physical interface in DPDK mode will require a | ||
100 | DPDK-based application (e.g. OVS-DPDK) in order to access and use the | ||
101 | interface. An interface set as DPDK can be attached to an OVS-DPDK | ||
102 | bridge.</para> | ||
103 | |||
104 | <note> | ||
105 | <para>Make sure the <literal>Enable DPDK</literal> checkbox is | ||
106 | selected in <literal>Device -> Configuration -> | ||
107 | DPDK</literal>, otherwise no interface can be assigned as | ||
108 | DPDK.</para> | ||
109 | </note> | ||
110 | |||
111 | <para>To add a DPDK interface under the management system, set | ||
112 | appropriate values for the following fields:</para> | ||
113 | |||
114 | <itemizedlist> | ||
115 | <listitem> | ||
116 | <para>Source: name of the physical interface.</para> | ||
117 | </listitem> | ||
118 | |||
119 | <listitem> | ||
120 | <para>Type: dpdk</para> | ||
121 | </listitem> | ||
122 | |||
123 | <listitem> | ||
124 | <para>Networking-type: dpdk</para> | ||
125 | </listitem> | ||
126 | |||
127 | <listitem> | ||
128 | <para>Dpdk-type: the kernel module that allows user space access | ||
129 | to the physical interface. Either the <literal>vfio-pci</literal> | ||
130 | (most commonly used type) or the <literal>igb_uio</literal> driver | ||
131 | can be used.</para> | ||
132 | </listitem> | ||
133 | </itemizedlist> | ||
134 | </section> | ||
135 | |||
136 | <section id="sriov_interface_type"> | ||
137 | <title>SR-IOV Interface Type</title> | ||
138 | |||
139 | <para>SR-IOV technology allows for the creation of a number of virtual | ||
140 | functions on the host interface, which can be used by VNFs running on | ||
141 | the uCPE device.</para> | ||
142 | |||
143 | <para>For SR-IOV mode configuration, the user must set values for the | ||
144 | following fields:</para> | ||
145 | |||
146 | <itemizedlist> | ||
147 | <listitem> | ||
148 | <para>Source: name of the physical interface.</para> | ||
149 | </listitem> | ||
150 | |||
151 | <listitem> | ||
152 | <para>Type: sr-iov</para> | ||
153 | </listitem> | ||
154 | |||
155 | <listitem> | ||
156 | <para>Networking-type: srIov</para> | ||
157 | </listitem> | ||
158 | |||
159 | <listitem> | ||
160 | <para>sriov-mode: adapter-pool</para> | ||
161 | </listitem> | ||
162 | |||
163 | <listitem> | ||
164 | <para>sriov-num-vfs: the number of virtual functions to | ||
165 | create.</para> | ||
166 | </listitem> | ||
167 | </itemizedlist> | ||
168 | </section> | ||
169 | |||
170 | <section id="standard_interface_type"> | ||
171 | <title>Standard Interface Type</title> | ||
172 | |||
173 | <para>Some of the physical network interfaces available on a uCPE | ||
174 | device, including Ethernet interfaces, do not have DPDK or SR-IOV | ||
175 | support. Instead, the Linux kernel driver has to be used. Wi-Fi and | ||
176 | 4G/LTE modems can also be configured and used for virtualization | ||
177 | infrastructure and VNFs.</para> | ||
178 | |||
179 | <para>To add Standard Interfaces under the management system, the user | ||
180 | must set values for the following fields:</para> | ||
181 | |||
182 | <itemizedlist> | ||
183 | <listitem> | ||
184 | <para>Source: the name of physical interface.</para> | ||
185 | </listitem> | ||
186 | |||
187 | <listitem> | ||
188 | <para>Networking-type: standard.</para> | ||
189 | </listitem> | ||
190 | </itemizedlist> | ||
191 | </section> | ||
192 | |||
193 | <section condition="hidden" id="pci_passthrough_interface_type"> | ||
194 | <title>PCI Passthrough Interface Type</title> | ||
195 | |||
196 | <para>For the PCI Passthrough a user does not have to configure a | ||
197 | physical interface, instead simply select the PCI address and connect | ||
198 | it to a virtual port when the VNF instantiation step is | ||
199 | reached.</para> | ||
200 | </section> | ||
201 | |||
202 | <section id="man_configuration"> | ||
203 | <title>Manual Configuration</title> | ||
204 | |||
205 | <para>For Manual Configuration of uCPE networking, select the uCPE | ||
206 | device first and then <literal>Configuration</literal> -> | ||
207 | <literal>External Interfaces</literal>, where one can find a list of | ||
208 | available network interfaces and their capabilities.</para> | ||
209 | |||
210 | <section id="configure_interfaces"> | ||
211 | <title>Configuring Interfaces</title> | ||
212 | |||
213 | <para>After networking interfaces have been added to the uCPE | ||
214 | Manager, the user can change the interface type (DPDK, SR-IOV, | ||
215 | Standard, WAN).</para> | ||
216 | |||
217 | <note> | ||
218 | <para>WAN interfaces, which are configured during the installation | ||
219 | of the device, do not need to be added, they will be automatically | ||
220 | listed as such in the uCPE Manager when the device | ||
221 | connects.</para> | ||
222 | </note> | ||
223 | |||
224 | <figure> | ||
225 | <title>Configuration of External Interfaces</title> | ||
226 | |||
227 | <mediaobject> | ||
228 | <imageobject> | ||
229 | <imagedata align="center" contentwidth="600" | ||
230 | fileref="images/edit_inter_config.png" /> | ||
231 | </imageobject> | ||
232 | </mediaobject> | ||
233 | </figure> | ||
234 | |||
235 | <para><emphasis role="bold">How to Edit the Configuration of an | ||
236 | Interface</emphasis></para> | ||
237 | |||
238 | <orderedlist> | ||
239 | <listitem> | ||
240 | <para>To edit an interface configuration type from the uCPE | ||
241 | Manager, select the uCPE device, then from the top toolbar | ||
242 | select the <literal>Configuration</literal> menu then | ||
243 | <literal>External Interfaces -> Configuration</literal>. The | ||
244 | already configured interfaces are displayed here, as can be seen | ||
245 | in the figure above.</para> | ||
246 | </listitem> | ||
247 | |||
248 | <listitem> | ||
249 | <para>In order to edit an already configured interface, (as in | ||
250 | the example popup shown below, a WAN interface) double click on | ||
251 | the desired one and a popup will appear. A different popup | ||
252 | appears for each type of interface. From the <literal>Host | ||
253 | Interface</literal> window, a user can change the networking | ||
254 | type and the IP address assignment:</para> | ||
255 | |||
256 | <figure> | ||
257 | <title>Editing an Interface</title> | ||
258 | |||
259 | <mediaobject> | ||
260 | <imageobject> | ||
261 | <imagedata align="center" contentwidth="450" | ||
262 | fileref="images/edit_inter.png" /> | ||
263 | </imageobject> | ||
264 | </mediaobject> | ||
265 | </figure> | ||
266 | </listitem> | ||
267 | </orderedlist> | ||
268 | |||
269 | <note> | ||
270 | <para>The IP address assignment of an interface can be set as | ||
271 | static or dynamic for each type of interface.</para> | ||
272 | </note> | ||
273 | </section> | ||
274 | |||
275 | <section id="configure_bridges"> | ||
276 | <title>Configuring Bridges</title> | ||
277 | |||
278 | <para>After networking interfaces have been added to the uCPE | ||
279 | Manager, the user can create the necessary OVS bridges.</para> | ||
280 | |||
281 | <figure> | ||
282 | <title>OVS Bridges</title> | ||
283 | |||
284 | <mediaobject> | ||
285 | <imageobject> | ||
286 | <imagedata align="center" contentwidth="600" | ||
287 | fileref="images/ovs_bridges_tab.png" /> | ||
288 | </imageobject> | ||
289 | </mediaobject> | ||
290 | </figure> | ||
291 | |||
292 | <para><emphasis role="bold">How to add OVS bridges in the uCPE | ||
293 | Manager</emphasis></para> | ||
294 | |||
295 | <orderedlist> | ||
296 | <listitem> | ||
297 | <para>Select the uCPE device.</para> | ||
298 | </listitem> | ||
299 | |||
300 | <listitem> | ||
301 | <para>Select <literal>Configuration</literal>.</para> | ||
302 | </listitem> | ||
303 | |||
304 | <listitem> | ||
305 | <para>Click <literal>OpenvSwitch</literal>.</para> | ||
306 | </listitem> | ||
307 | |||
308 | <listitem> | ||
309 | <para>Select the <literal>Bridges</literal> option, then click | ||
310 | <literal>Add</literal>.</para> | ||
311 | </listitem> | ||
312 | </orderedlist> | ||
313 | |||
314 | <note> | ||
315 | <para>Depending on the settings in <literal>Configuration -> | ||
316 | OpenVSwitch -> DPDK</literal>, OVS bridges with or without DPDK | ||
317 | support will be used on the uCPE device.</para> | ||
318 | </note> | ||
319 | |||
320 | <para>There are three types of bridges which can be created, each | ||
321 | one fulfiling a different role.</para> | ||
322 | |||
323 | <section id="inband_mg_bridge"> | ||
324 | <title>uCPE In-band Management bridge</title> | ||
325 | |||
326 | <para>In-band Management refers to a model where both the data | ||
327 | plane and control plane flow over the same network path. In some | ||
328 | situations (e.g. the uCPE device has only one routable IP | ||
329 | address), this is the only option available to both control and | ||
330 | configure the uCPE device, while also allowing for data-path | ||
331 | traffic to pass over the same physical interface.</para> | ||
332 | |||
333 | <para>The solution provided by Enea for in-band management is | ||
334 | based upon an OpenvSwitch bridge fielding all traffic passing | ||
335 | through the WAN physical port. Any standard or DPDK-assigned | ||
336 | network interface can be used for the In-Band management | ||
337 | bridge.</para> | ||
338 | |||
339 | <note> | ||
340 | <para>The In-band Management bridge must be recreated each time | ||
341 | the uCPE Manager IP address is changed.</para> | ||
342 | </note> | ||
343 | |||
344 | <para>To create the In-Band Management bridge, the user must set | ||
345 | values for the following fields:</para> | ||
346 | |||
347 | <itemizedlist> | ||
348 | <listitem> | ||
349 | <para>name: name of the bridge.</para> | ||
350 | </listitem> | ||
351 | |||
352 | <listitem> | ||
353 | <para>ovs-bridge-type: inbandMgmt</para> | ||
354 | </listitem> | ||
355 | </itemizedlist> | ||
356 | |||
357 | <note> | ||
358 | <para>The first VNF instantiated on the uCPE device must be | ||
359 | connected to the In-Band Management bridge and its WAN interface | ||
360 | must be configured as the DHCP client.</para> | ||
361 | </note> | ||
362 | </section> | ||
363 | |||
364 | <section id="inband_mg_br_vnfs"> | ||
365 | <title>In-band Management bridge for VNFs</title> | ||
366 | |||
367 | <para>If VNF management can be done over a dedicated virtual | ||
368 | interface, its possible to extend the networking infrastructure | ||
369 | configuration to also access the VNF's management interface over | ||
370 | the WAN port.</para> | ||
371 | |||
372 | <para>For this setup, three types of traffic will pass over the | ||
373 | WAN physical interface:</para> | ||
374 | |||
375 | <itemizedlist> | ||
376 | <listitem> | ||
377 | <para><emphasis role="bold">Device management</emphasis>. Part | ||
378 | of the device configuration done by the uCPE Manager.</para> | ||
379 | </listitem> | ||
380 | |||
381 | <listitem> | ||
382 | <para><emphasis role="bold">VNF(s) management</emphasis>. | ||
383 | Enabling or disabling features of a VNF. E.g. | ||
384 | enabling/disabling the firewall or VPN setup.</para> | ||
385 | </listitem> | ||
386 | |||
387 | <listitem> | ||
388 | <para><emphasis role="bold">Data-path</emphasis>. All other | ||
389 | traffic that is not used in the control plane and needs to | ||
390 | reach a LAN network.</para> | ||
391 | </listitem> | ||
392 | </itemizedlist> | ||
393 | |||
394 | <para>To create a VNF In-Band Management bridge, the user must set | ||
395 | values for the following fields:</para> | ||
396 | |||
397 | <itemizedlist> | ||
398 | <listitem> | ||
399 | <para>name: name of the bridge.</para> | ||
400 | </listitem> | ||
401 | |||
402 | <listitem> | ||
403 | <para>ovs-bridge-type: vnfMgmt</para> | ||
404 | </listitem> | ||
405 | |||
406 | <listitem> | ||
407 | <para>vnf-mgmt-address: select IPv4 as the type and fill in | ||
408 | the IP address for management network, e.g 10.0.0.1.</para> | ||
409 | </listitem> | ||
410 | </itemizedlist> | ||
411 | |||
412 | <note> | ||
413 | <para>VNF management interfaces must be configured in same | ||
414 | network as the <literal>vnf-mgmt-address</literal> of the | ||
415 | bridge.</para> | ||
416 | </note> | ||
417 | </section> | ||
418 | |||
419 | <section id="dataplane_bridge"> | ||
420 | <title>Data-plane Bridge</title> | ||
421 | |||
422 | <para>Data-plane bridges are generic bridges used for the VNF | ||
423 | data-plane. There are two supported sub-types:</para> | ||
424 | |||
425 | <itemizedlist> | ||
426 | <listitem> | ||
427 | <para><emphasis role="bold">communication</emphasis>: allows | ||
428 | for VNF communication towards LAN/WAN networks. This bridge | ||
429 | type has at least one physical port attached to it.</para> | ||
430 | </listitem> | ||
431 | |||
432 | <listitem> | ||
433 | <para><emphasis role="bold">integration</emphasis>: allows for | ||
434 | VNF-to-VNF communication (usually for service function | ||
435 | chaining). This bridge type does not have any physical port | ||
436 | attached.</para> | ||
437 | </listitem> | ||
438 | </itemizedlist> | ||
439 | |||
440 | <para>To create a Data-plane bridge, the user must set values for | ||
441 | the following fields:</para> | ||
442 | |||
443 | <itemizedlist> | ||
444 | <listitem> | ||
445 | <para>name: name of the bridge.</para> | ||
446 | </listitem> | ||
447 | |||
448 | <listitem> | ||
449 | <para>ovs-bridge-type: select <literal>communication</literal> | ||
450 | or <literal>integration</literal>, depending on intended | ||
451 | usage. For communication bridges, physical interfaces can be | ||
452 | added to the bridge.</para> | ||
453 | </listitem> | ||
454 | </itemizedlist> | ||
455 | </section> | ||
456 | </section> | ||
457 | </section> | ||
458 | |||
459 | <section id="zero_touch_prov"> | ||
460 | <title>Zero Touch Provisioning - Creating an offline | ||
461 | configuration</title> | ||
462 | |||
463 | <para>Zero-Touch Provisioning (ZTP) refers to the process of when a | ||
464 | device starts up for the first time and its initial configuration is | ||
465 | pushed down by an external management system, so that it is setup for | ||
466 | proper operation without additional manual intervention by an | ||
467 | operator. ZTP is an alternative to Manual configuration.</para> | ||
468 | |||
469 | <para>A variety of operations can occur as part of ZTP such as initial | ||
470 | device setup, configuration of managed objects, etc. The goal is to | ||
471 | set up a device to the maximum possible extent without forcing an | ||
472 | operator to be physically present (initially) to manage the | ||
473 | device.</para> | ||
474 | |||
475 | <para>An offline configuration is usually prepared in advance for the | ||
476 | uCPE Manager to setup the virtualization infrastructure on the uCPE | ||
477 | device, as soon as a device enrolls into the management system.</para> | ||
478 | |||
479 | <section id="offline_configuration"> | ||
480 | <title>Offline Configuration</title> | ||
481 | |||
482 | <para>The Offline Configuration subsystem is used to pre-populate a | ||
483 | configuration for a device that will be brought under management at | ||
484 | a future point in time. When creating an offline configuration store | ||
485 | a <literal>Device ID</literal> can be specified. This ID uniquely | ||
486 | identifies the device to be initialized.</para> | ||
487 | |||
488 | <para>Alternatively, a wildcard can be used in the <literal>Device | ||
489 | ID</literal> field, which results in a configuration being pushed on | ||
490 | all uCPE devices upon their initial connection towards the uCPE | ||
491 | Manager.</para> | ||
492 | |||
493 | <para>If the offline configuration is not configured for a uCPE | ||
494 | device, an alarm will be raised: <literal>Day-0 | ||
495 | Config:ZTP:Major</literal>, which occurs when the uCPE device | ||
496 | connects to the uCPE Manager informing that the ZTP setup failed for | ||
497 | the specific uCPE device.</para> | ||
498 | |||
499 | <para>To create an offline configuration, from the top toolbar menu | ||
500 | select <literal>Applications</literal> -> <literal>Offline | ||
501 | Config</literal> -> <literal>Add</literal>. The following fields | ||
502 | should be filled:</para> | ||
503 | |||
504 | <itemizedlist> | ||
505 | <listitem> | ||
506 | <para>Name: name of the device.</para> | ||
507 | </listitem> | ||
508 | |||
509 | <listitem> | ||
510 | <para>Device type: Enea universal CPE.</para> | ||
511 | </listitem> | ||
512 | |||
513 | <listitem> | ||
514 | <para>DeviceVersion: <xi:include | ||
515 | href="../../s_doceneacommon/doc/eltf_params_updated.xml" | ||
516 | xmlns:xi="http://www.w3.org/2001/XInclude" | ||
517 | xpointer="element(EneaLinux_REL_VER/1)" /></para> | ||
518 | </listitem> | ||
519 | |||
520 | <listitem> | ||
521 | <para>Config Set: uCPE Config</para> | ||
522 | </listitem> | ||
523 | |||
524 | <listitem> | ||
525 | <para>Device ID: device ID or a wildcard(*).</para> | ||
526 | </listitem> | ||
527 | |||
528 | <listitem> | ||
529 | <para>Device Grouping Tags: a tag to group devices. These tags | ||
530 | match the customer tags provided during the installation of the | ||
531 | device.</para> | ||
532 | </listitem> | ||
533 | </itemizedlist> | ||
534 | |||
535 | <para>The Name is user defined and can be set to any unique text | ||
536 | string identifying the configuration. The Device Version will match | ||
537 | the Enea NFV Access version of the uCPE device and the Device ID | ||
538 | will be set to the previously set identifier of the uCPE | ||
539 | device.</para> | ||
540 | |||
541 | <para>When a device connects to the uCPE Manager for the first time, | ||
542 | it checks the device to see if it has been Zero Touch Provisioned | ||
543 | (ZTP). If not, it looks for an offline configuration that matches | ||
544 | these values, in the following order:</para> | ||
545 | |||
546 | <itemizedlist> | ||
547 | <listitem> | ||
548 | <para>The Device ID.</para> | ||
549 | </listitem> | ||
550 | |||
551 | <listitem> | ||
552 | <para>The set of tags.</para> | ||
553 | </listitem> | ||
554 | |||
555 | <listitem> | ||
556 | <para>A "*" for Device ID (wildcard).</para> | ||
557 | </listitem> | ||
558 | </itemizedlist> | ||
559 | |||
560 | <para>If a match is found, the offline configuration is sent to the | ||
561 | device as part of Zero-Touch-Provisioning.</para> | ||
562 | |||
563 | <para>After creating the Offline Config Store, access the device | ||
564 | through <literal>Applications</literal> -> <literal>offline | ||
565 | config</literal> -> <literal>Config App</literal> and provision | ||
566 | it with the required initial configuration. This operation mirrors | ||
567 | what happens during manual configuration described | ||
568 | previously.</para> | ||
569 | |||
570 | <note> | ||
571 | <para>The ZTP will only be triggered the first time a uCPE device | ||
572 | connects to the uCPE Manager. Just changing an offline | ||
573 | configuration will not push the new changes to the device. If an | ||
574 | offline configuration is changed after uCPE device registration, a | ||
575 | factory reset can be executed to force a new ZTP to execute by | ||
576 | selecting the device, then <literal>Operations</literal> -> | ||
577 | <literal>factory reset</literal>.</para> | ||
578 | </note> | ||
579 | </section> | ||
580 | </section> | ||
581 | |||
582 | <section id="custom_scripts"> | ||
583 | <title>Custom Scripts for Custom Networking Configurations</title> | ||
584 | |||
585 | <para>The custom scripts feature allows users to execute user-defined | ||
586 | scripts on the uCPE device at various times.This allows for more | ||
587 | flexible and advanced configurations such as a LTE modem | ||
588 | configuration, advanced network configurations or OVS flow rule | ||
589 | programming at any time.</para> | ||
590 | |||
591 | <section id="upload_scripts"> | ||
592 | <title>Uploading Scripts</title> | ||
593 | |||
594 | <para>The scripts need to be uploaded to the uCPE Manager prior to | ||
595 | use. When uploading scripts to the uCPE Manager make sure to select | ||
596 | the right script type.</para> | ||
597 | |||
598 | <para>The following script types are supported:</para> | ||
599 | |||
600 | <itemizedlist> | ||
601 | <listitem> | ||
602 | <para><literal>Once-before-startup</literal>. This script will | ||
603 | only execute once during the startup.</para> | ||
604 | </listitem> | ||
605 | |||
606 | <listitem> | ||
607 | <para><literal>Always-before-startup</literal>. This script will | ||
608 | always execute during the startup.</para> | ||
609 | </listitem> | ||
610 | |||
611 | <listitem> | ||
612 | <para><literal>Once-after-startup</literal>. This script will | ||
613 | only execute once after the system has been started.</para> | ||
614 | </listitem> | ||
615 | |||
616 | <listitem> | ||
617 | <para><literal>Always-after-startup</literal>. This script will | ||
618 | always execute after the system has been started.</para> | ||
619 | </listitem> | ||
620 | </itemizedlist> | ||
621 | |||
622 | <para>Follow the instruction below to upload scripts:</para> | ||
623 | |||
624 | <orderedlist> | ||
625 | <listitem> | ||
626 | <para>Select <literal>Devices</literal> -> <literal>Custom | ||
627 | Scripts</literal> -> <literal>Configure</literal>.</para> | ||
628 | </listitem> | ||
629 | |||
630 | <listitem> | ||
631 | <para>Select <literal>Upload to EMS</literal>.</para> | ||
632 | </listitem> | ||
633 | |||
634 | <listitem> | ||
635 | <para>In the <literal>Script Type</literal> menu, select the | ||
636 | type the uploaded script should have.</para> | ||
637 | </listitem> | ||
638 | |||
639 | <listitem> | ||
640 | <para>Press <literal>Choose File</literal> to select the scripts | ||
641 | needed, and then press <literal>Send</literal>.</para> | ||
642 | </listitem> | ||
643 | </orderedlist> | ||
644 | </section> | ||
645 | |||
646 | <section id="remove_scripts"> | ||
647 | <title>Removing Scripts</title> | ||
648 | |||
649 | <para>Follow the instruction below to remove scripts:</para> | ||
650 | |||
651 | <orderedlist> | ||
652 | <listitem> | ||
653 | <para>Select <literal>Devices</literal> -> <literal>Custom | ||
654 | Scripts</literal> -> <literal>Configure</literal>.</para> | ||
655 | </listitem> | ||
656 | |||
657 | <listitem> | ||
658 | <para>Select the script you want to delete from the | ||
659 | <literal>Uploaded Scripts</literal> tab and then click | ||
660 | <literal>Delete</literal>, which will remove the script | ||
661 | immediately from the uCPE Manager.</para> | ||
662 | </listitem> | ||
663 | </orderedlist> | ||
664 | </section> | ||
665 | |||
666 | <section id="configure_scripts"> | ||
667 | <title>Configuring Script Location</title> | ||
668 | |||
669 | <para>The location where the scripts are staged in the uCPE Manager | ||
670 | can be chanaged as described below:</para> | ||
671 | |||
672 | <orderedlist> | ||
673 | <listitem> | ||
674 | <para>Select <literal>Devices</literal> -> <literal>Custom | ||
675 | Scripts</literal> -> <literal>Configure</literal>.</para> | ||
676 | </listitem> | ||
677 | |||
678 | <listitem> | ||
679 | <para>Select the <literal>Configuration</literal> tab and | ||
680 | specify a new loacation to store the scripts.</para> | ||
681 | |||
682 | <note> | ||
683 | <para>Change the script storage location only if you have many | ||
684 | scripts which you would prefer to store on another partition, | ||
685 | otherwise leave this configuration as is.</para> | ||
686 | </note> | ||
687 | </listitem> | ||
688 | </orderedlist> | ||
689 | </section> | ||
690 | |||
691 | <section id="run_the_scripts"> | ||
692 | <title>Running the Scripts</title> | ||
693 | |||
694 | <para><emphasis role="bold">How to run Custom | ||
695 | Scripts</emphasis></para> | ||
696 | |||
697 | <orderedlist> | ||
698 | <listitem> | ||
699 | <para>Select <literal>Devices</literal> -> <literal>Custom | ||
700 | Scripts</literal> -> <literal>Apply Scripts</literal>.</para> | ||
701 | </listitem> | ||
702 | |||
703 | <listitem> | ||
704 | <para>In the <literal>Script Config Screen</literal> pop up, | ||
705 | select the devices from the device(s) chooser list on which to | ||
706 | run the scripts. Press the <literal>></literal> button to | ||
707 | move the devices to the right side of the chooser, which is the | ||
708 | list of devices that will execute the selected scripts.</para> | ||
709 | </listitem> | ||
710 | |||
711 | <listitem> | ||
712 | <para>Select the scripts from the list under the device(s) | ||
713 | chooser by pressing the <literal>+</literal> button.</para> | ||
714 | </listitem> | ||
715 | |||
716 | <listitem> | ||
717 | <para>In the pop-up window, select the scripts from the list. If | ||
718 | there are no scripts to select, then there is no script uploaded | ||
719 | with that particular type. Upload the script(s) needed and try | ||
720 | again.</para> | ||
721 | </listitem> | ||
722 | |||
723 | <listitem> | ||
724 | <para>Check the checkbox <literal>Reboot devices</literal> if | ||
725 | you want to reboot and execute the scripts at once and then | ||
726 | press <literal>ok</literal>.</para> | ||
727 | |||
728 | <note> | ||
729 | <para>The status of execution for the scripts can be seen by | ||
730 | opening the <literal>Fault</literal> -> | ||
731 | <literal>Events</literal> screen and filtering by device | ||
732 | and/or the event name <filename>Custom</filename>.</para> | ||
733 | </note> | ||
734 | </listitem> | ||
735 | </orderedlist> | ||
736 | </section> | ||
737 | </section> | ||
738 | </section> | ||
739 | </section> | ||
740 | </chapter> \ No newline at end of file | ||
diff --git a/doc/book-enea-nfv-access-getting-started/doc/troubleshooting.xml b/doc/book-enea-nfv-access-getting-started/doc/troubleshooting.xml new file mode 100644 index 0000000..b3173e6 --- /dev/null +++ b/doc/book-enea-nfv-access-getting-started/doc/troubleshooting.xml | |||
@@ -0,0 +1,169 @@ | |||
1 | <?xml version="1.0" encoding="ISO-8859-1"?> | ||
2 | <chapter id="troubleshooting"> | ||
3 | <title>Troubleshooting and Recovery</title> | ||
4 | |||
5 | <para>The following is a small list of possible NFV Access problems, and | ||
6 | their solutions. <emphasis role="bold">In all scenarios collect the logs if | ||
7 | possible for a later debugging.</emphasis> More information on log | ||
8 | collecting can be found in <remark>add an olink to the log collector chapter | ||
9 | after the olink update</remark>.</para> | ||
10 | |||
11 | <para>If you encounter other issues or can't get NFV Access to work | ||
12 | successfully after consulting the information below, please use the <olink | ||
13 | targetdoc="book_enea_nfv_access_release_info" | ||
14 | targetptr="contacting_enea_support">Enea Support team Form, available in the | ||
15 | <xi:include href="../../s_docbuild/olinkdb/pardoc-names.xml" | ||
16 | xmlns:xi="http://www.w3.org/2001/XInclude" | ||
17 | xpointer="element(book_enea_nfv_access_release_info/1)" /></olink> manual | ||
18 | downloaded with your release.</para> | ||
19 | |||
20 | <table> | ||
21 | <title>Troubleshooting and Recovery</title> | ||
22 | |||
23 | <tgroup cols="2"> | ||
24 | <colspec align="left" /> | ||
25 | |||
26 | <thead> | ||
27 | <row> | ||
28 | <entry align="center">NFV Access Problem</entry> | ||
29 | |||
30 | <entry align="center">Solution</entry> | ||
31 | </row> | ||
32 | </thead> | ||
33 | |||
34 | <tbody> | ||
35 | <row> | ||
36 | <entry>The uCPE Device cannot boot after an upgrade.</entry> | ||
37 | |||
38 | <entry><orderedlist> | ||
39 | <listitem> | ||
40 | <para>Perform a hardware reboot of the uCPE Device and select | ||
41 | the previous NFV Access image from the GRUB menu. This action | ||
42 | assumes physical access to the uCPE device.</para> | ||
43 | </listitem> | ||
44 | |||
45 | <listitem> | ||
46 | <para>Reinitiate the Upgrade procedure according to | ||
47 | <remark>(Link to NFV Access Getting Started -Device | ||
48 | Upgrade)</remark>.</para> | ||
49 | </listitem> | ||
50 | </orderedlist></entry> | ||
51 | </row> | ||
52 | |||
53 | <row> | ||
54 | <entry>After a failed uCPE device upgrade the previous NFV Access | ||
55 | image (from the GRUB menu) does not boot.</entry> | ||
56 | |||
57 | <entry>Reinstall NFV Access on the uCPE device and redeploy the | ||
58 | initial configuration and virtualized services, by following the | ||
59 | Getting Started Guide.<remark>add link to Install uCPE Device. | ||
60 | Retitle it if need be or point to specific chapter in book with | ||
61 | olink</remark></entry> | ||
62 | </row> | ||
63 | |||
64 | <row> | ||
65 | <entry>The uCPE Manager upgrade fails and a working snapshot is | ||
66 | available.</entry> | ||
67 | |||
68 | <entry>If a working snapshot obtained during a previous Upgrade or | ||
69 | Uninstall is available | ||
70 | (<filename>ucpemanager-Backup-YYYYddMMHHmm.tar.gz</filename>): | ||
71 | <orderedlist> | ||
72 | <listitem> | ||
73 | <para>Cleanup the current upgrade attempt with:</para> | ||
74 | |||
75 | <programlisting>./cleanup.sh /opt/ems</programlisting> | ||
76 | </listitem> | ||
77 | |||
78 | <listitem> | ||
79 | <para>Restore the previous installation as described in</para> | ||
80 | |||
81 | <remark>olink to the section/chapter: link to Restore a | ||
82 | previous uCPE Manager Installation</remark> | ||
83 | </listitem> | ||
84 | </orderedlist></entry> | ||
85 | </row> | ||
86 | |||
87 | <row> | ||
88 | <entry>The uCPE Manager upgrade fails and no working snapshot is | ||
89 | available.</entry> | ||
90 | |||
91 | <entry><orderedlist> | ||
92 | <listitem> | ||
93 | <para>Cleanup the current upgrade attempt with: </para> | ||
94 | |||
95 | <programlisting>./cleanup.sh /opt/ems</programlisting> | ||
96 | </listitem> | ||
97 | |||
98 | <listitem> | ||
99 | <para>Perform a installation with the restore option of a | ||
100 | previous uCPE Manager configuration as described in </para> | ||
101 | |||
102 | <remark>olink to the section/chapter describing: Installing | ||
103 | with the restore option.</remark> | ||
104 | </listitem> | ||
105 | </orderedlist></entry> | ||
106 | </row> | ||
107 | |||
108 | <row> | ||
109 | <entry>The uCPE device is booted, the ssh connection is available | ||
110 | but the device is not connected to the uCPE Manager.</entry> | ||
111 | |||
112 | <entry><orderedlist> | ||
113 | <listitem> | ||
114 | <para>Perform a hardware reboot on the uCPE device to | ||
115 | reinitiate the connection mechanism.</para> | ||
116 | </listitem> | ||
117 | |||
118 | <listitem> | ||
119 | <para>Use the <literal>Reconnect</literal> button from the | ||
120 | uCPE Manager's WEB-UI.</para> | ||
121 | </listitem> | ||
122 | |||
123 | <listitem> | ||
124 | <para>If the above actions do not work, reinstall and | ||
125 | reconfigure the device using the steps provided in the | ||
126 | <remark>Installing the uCPE device (add link)</remark></para> | ||
127 | </listitem> | ||
128 | </orderedlist></entry> | ||
129 | </row> | ||
130 | |||
131 | <row> | ||
132 | <entry>The SSH connection to the device cannot be | ||
133 | established.</entry> | ||
134 | |||
135 | <entry>Perform a hardware reboot on the uCPE device. If the problem | ||
136 | is not fixed, reinstall and reconfigure the device using the steps | ||
137 | provided in the <remark>Installing the uCPE device (add | ||
138 | link)</remark></entry> | ||
139 | </row> | ||
140 | |||
141 | <row> | ||
142 | <entry>The VNF Service is not working as expected after | ||
143 | reconfiguration (e.g. a VNF chain is malfunctioning).</entry> | ||
144 | |||
145 | <entry><orderedlist> | ||
146 | <listitem> | ||
147 | <para>Undo all flows and/or configuration changes in order to | ||
148 | move the system to a previously working configuration.</para> | ||
149 | </listitem> | ||
150 | |||
151 | <listitem> | ||
152 | <para>Reboot the device using <literal>Operations</literal> | ||
153 | -> <literal>Reboot</literal> menu options from within the | ||
154 | uCPE Manager.</para> | ||
155 | </listitem> | ||
156 | |||
157 | <listitem> | ||
158 | <para>If the above actions do not work, redeploy all services. | ||
159 | This is done by cleaning up the existing configuration using: | ||
160 | <literal>Operations</literal> -> <literal>Factory | ||
161 | Reset</literal> for a specific device and redeploying the VNF | ||
162 | services.</para> | ||
163 | </listitem> | ||
164 | </orderedlist></entry> | ||
165 | </row> | ||
166 | </tbody> | ||
167 | </tgroup> | ||
168 | </table> | ||
169 | </chapter> \ No newline at end of file | ||
diff --git a/doc/book-enea-nfv-access-getting-started/doc/upgrade_ena.xml b/doc/book-enea-nfv-access-getting-started/doc/upgrade_ena.xml new file mode 100644 index 0000000..4b1a7dc --- /dev/null +++ b/doc/book-enea-nfv-access-getting-started/doc/upgrade_ena.xml | |||
@@ -0,0 +1,537 @@ | |||
1 | <?xml version="1.0" encoding="ISO-8859-1"?> | ||
2 | <chapter id="upgrade_ena"> | ||
3 | <title>Upgrading NFV Access</title> | ||
4 | |||
5 | <para>Enea provides regular releases that will require the upgrading of NFV | ||
6 | Access components. The uCPE Manager must be upgraded to the new Enea NFV | ||
7 | Access version before the uCPE devices are.</para> | ||
8 | |||
9 | <section id="upgrade_mg"> | ||
10 | <title>Upgrading the uCPE Manager</title> | ||
11 | |||
12 | <orderedlist> | ||
13 | <listitem> | ||
14 | <para>Unzip the | ||
15 | <filename>Enea_NFV_Access_uCPEManager_<version>-build<build_number>.tar.gz</filename> | ||
16 | folder.</para> | ||
17 | |||
18 | <para>The directory in which the archive has been unpacked will be | ||
19 | denoted as <literal><uCPEM-installdir></literal>.</para> | ||
20 | </listitem> | ||
21 | |||
22 | <listitem> | ||
23 | <para>Enter <literal><uCPEM-installdir></literal>.</para> | ||
24 | </listitem> | ||
25 | |||
26 | <listitem> | ||
27 | <para>Run the following command with the root account and change | ||
28 | <literal>/opt/ems</literal> to the correct location of the uCPE | ||
29 | Manager installation:</para> | ||
30 | |||
31 | <programlisting>./upgrade.sh /opt/ems \ | ||
32 | Enea_NFV_Access_uCPEManager_<version>-build<build_number>.tar.gz</programlisting> | ||
33 | </listitem> | ||
34 | </orderedlist> | ||
35 | |||
36 | <para>Running this command will:</para> | ||
37 | |||
38 | <itemizedlist> | ||
39 | <listitem> | ||
40 | <para>Stop the currently running <literal>ucpemanager</literal> | ||
41 | service.</para> | ||
42 | </listitem> | ||
43 | |||
44 | <listitem> | ||
45 | <para>Create a compressed file of the <literal>ucpemanager</literal> | ||
46 | application folder | ||
47 | (<filename>ucpemanager-Back-up-YYYYddMMHHmm.tar.gz</filename>), which | ||
48 | contains a snapshot of the existing installation.</para> | ||
49 | |||
50 | <note> | ||
51 | <para>The snapshot file created during the upgrade can be used for | ||
52 | restoring the uCPE Manager.</para> | ||
53 | </note> | ||
54 | </listitem> | ||
55 | |||
56 | <listitem> | ||
57 | <para>Extract the application files from the specified compressed | ||
58 | install kit.</para> | ||
59 | </listitem> | ||
60 | |||
61 | <listitem> | ||
62 | <para>Start the <literal>ucpemanager</literal> service.</para> | ||
63 | </listitem> | ||
64 | </itemizedlist> | ||
65 | |||
66 | <section id="restore_prev_ucpe_install"> | ||
67 | <title>Restoring a previous uCPE Manager installation</title> | ||
68 | |||
69 | <para><emphasis role="bold">How to restore a previous uCPE Manager | ||
70 | installation</emphasis></para> | ||
71 | |||
72 | <orderedlist> | ||
73 | <listitem> | ||
74 | <para>Unzip | ||
75 | <filename>Enea_NFV_Access_uCPEManager_<version>-build<build_number>.tar.gz</filename></para> | ||
76 | </listitem> | ||
77 | |||
78 | <listitem> | ||
79 | <para>The directory in which the archive has been unpacked will be | ||
80 | denoted as <literal><uCPEM-installdir></literal>.</para> | ||
81 | </listitem> | ||
82 | |||
83 | <listitem> | ||
84 | <para>Copy the snapshot file | ||
85 | (<filename>ucpemanager-Backup-YYYYddMMHHmm.tar.gz</filename>) | ||
86 | created during a previous uCPE Manager Upgrade or uCPE Manager | ||
87 | Uninstall Operation into the | ||
88 | <literal><uCPEM-installdir></literal> directory.</para> | ||
89 | </listitem> | ||
90 | |||
91 | <listitem> | ||
92 | <para>Enter <literal><uCPEM-installdir></literal>.</para> | ||
93 | </listitem> | ||
94 | |||
95 | <listitem> | ||
96 | <para>Run the following command with the root user and change | ||
97 | <literal>/opt/ems</literal> to the correct location of the uCPE | ||
98 | Manager installation:</para> | ||
99 | |||
100 | <programlisting>./restore.sh /opt/ems ucpemanager-Backup-YYYYddMMHHmm.tar.gz</programlisting> | ||
101 | </listitem> | ||
102 | </orderedlist> | ||
103 | |||
104 | <para>Running this command will:</para> | ||
105 | |||
106 | <itemizedlist> | ||
107 | <listitem> | ||
108 | <para>Remove any vestiges of the existing | ||
109 | <literal>ucpemanager</literal> service, if they exist.</para> | ||
110 | </listitem> | ||
111 | |||
112 | <listitem> | ||
113 | <para>Reinstall the uCPE Manager application on the specified target | ||
114 | location, restoring the data in the database and files in the | ||
115 | process.</para> | ||
116 | </listitem> | ||
117 | </itemizedlist> | ||
118 | |||
119 | <para>The <literal>ucpemanager</literal> service will then start with | ||
120 | the older version now running on the system.</para> | ||
121 | </section> | ||
122 | |||
123 | <section id="uninstall_ucpem_install"> | ||
124 | <title>Uninstalling an existing uCPE Manager installation</title> | ||
125 | |||
126 | <para><emphasis role="bold">How to uninstall an existing uCPE Manager | ||
127 | installation</emphasis></para> | ||
128 | |||
129 | <orderedlist> | ||
130 | <listitem> | ||
131 | <para>Navigate to the folder where the uCPE Manager is | ||
132 | installed.</para> | ||
133 | </listitem> | ||
134 | |||
135 | <listitem> | ||
136 | <para>Run the following command with the root user and change | ||
137 | <literal>/opt/ems</literal> to the correct location of the uCPE | ||
138 | Manager installation:</para> | ||
139 | |||
140 | <programlisting>./uninstall.sh /opt/ems</programlisting> | ||
141 | </listitem> | ||
142 | </orderedlist> | ||
143 | |||
144 | <para>Running this command will:</para> | ||
145 | |||
146 | <itemizedlist> | ||
147 | <listitem> | ||
148 | <para>Stop the currently running <literal>ucpemanager</literal> | ||
149 | service.</para> | ||
150 | </listitem> | ||
151 | |||
152 | <listitem> | ||
153 | <para>Create a compressed file of the <literal>ucpemanager</literal> | ||
154 | application folder: | ||
155 | <filename>ucpemanager-Back-up-YYYYddMMHHmm.tar.gz</filename>, which | ||
156 | contains a snapshot of the existing installation and functions as a | ||
157 | restore point.</para> | ||
158 | |||
159 | <note> | ||
160 | <para>The snapshot file created during the uninstall can be used | ||
161 | for restoring the uCPE Manager.</para> | ||
162 | </note> | ||
163 | </listitem> | ||
164 | |||
165 | <listitem> | ||
166 | <para>Uninstall the <literal>ucpemanager</literal> service, so that | ||
167 | it will not startup on reboot.</para> | ||
168 | </listitem> | ||
169 | |||
170 | <listitem> | ||
171 | <para>Uninstall the database service.</para> | ||
172 | </listitem> | ||
173 | |||
174 | <listitem> | ||
175 | <para>Completely remove the contents of the application and database | ||
176 | folders.</para> | ||
177 | </listitem> | ||
178 | </itemizedlist> | ||
179 | |||
180 | <para>After these steps, the uCPE Manager is completely removed from the | ||
181 | system.</para> | ||
182 | </section> | ||
183 | </section> | ||
184 | |||
185 | <section id="upgrade_devices"> | ||
186 | <title>uCPE device upgrades</title> | ||
187 | |||
188 | <para>A uCPE device can be upgraded using the uCPE Manager GUI.</para> | ||
189 | |||
190 | <section id="device_up_process"> | ||
191 | <title>The uCPE device upgrade process</title> | ||
192 | |||
193 | <para>The Device Upgrade/Install option performs the following | ||
194 | operations to the uCPE device:</para> | ||
195 | |||
196 | <orderedlist> | ||
197 | <listitem> | ||
198 | <para><emphasis role="bold">Prepare for upgrade.</emphasis> This | ||
199 | stage prepares the files needed for an upgrade.</para> | ||
200 | </listitem> | ||
201 | |||
202 | <listitem> | ||
203 | <para><emphasis role="bold">Install file on device.</emphasis> This | ||
204 | stage copies the file to the uCPE device.</para> | ||
205 | </listitem> | ||
206 | |||
207 | <listitem> | ||
208 | <para><emphasis role="bold">Upgrade Device.</emphasis> This stage | ||
209 | upgrades the uCPE device to a newer version.</para> | ||
210 | </listitem> | ||
211 | </orderedlist> | ||
212 | </section> | ||
213 | |||
214 | <section id="mg_upgrade"> | ||
215 | <title>Managing the Device Upgrade</title> | ||
216 | |||
217 | <para>Before an installation or upgrade can be completed, certain | ||
218 | configuration data must be set. Files also need to be uploaded to the | ||
219 | Device Upgrade image repository to be uploaded to the device.</para> | ||
220 | |||
221 | <para>Launch the Device Upgrade management console by selecting | ||
222 | <literal>Devices</literal> -> <literal>Upgrade</literal> from the top | ||
223 | tool-bar. The console will contain the following tabs:</para> | ||
224 | |||
225 | <itemizedlist> | ||
226 | <listitem> | ||
227 | <para><literal>Image Library</literal>. To add/delete an | ||
228 | image.</para> | ||
229 | </listitem> | ||
230 | |||
231 | <listitem> | ||
232 | <para><literal>Upgrade Operations</literal>. See running upgrades, | ||
233 | cancel any upgrades in progress, start a uCPE device upgrade.</para> | ||
234 | </listitem> | ||
235 | |||
236 | <listitem> | ||
237 | <para><literal>Configuration</literal>. Upgrade configuration | ||
238 | parameters.</para> | ||
239 | </listitem> | ||
240 | </itemizedlist> | ||
241 | |||
242 | <para>Press Close when the message <literal>File Uploaded | ||
243 | Successfully</literal> appears on the File Upload Screen.</para> | ||
244 | |||
245 | <note> | ||
246 | <para>The uCPE Device upgrade is done with image files of type | ||
247 | <literal>rootfs.ostree.tar.bz2</literal>, which are available in the | ||
248 | <filename>Enea_NFV_Ac-cess_uCPEManager_<version>-build<build_number>.tar.gz</filename> | ||
249 | file you downloaded with your release.</para> | ||
250 | </note> | ||
251 | |||
252 | <section id="image_lib"> | ||
253 | <title>Image Library</title> | ||
254 | |||
255 | <para><emphasis role="bold">Adding an image to the image | ||
256 | repository/library</emphasis><orderedlist> | ||
257 | <listitem> | ||
258 | <para>Select <literal>Devices</literal> -> | ||
259 | <literal>Upgrade</literal>.</para> | ||
260 | </listitem> | ||
261 | |||
262 | <listitem> | ||
263 | <para>Select <literal>Add</literal> from the <literal>Image | ||
264 | Library</literal> tab to add a new image file.</para> | ||
265 | </listitem> | ||
266 | |||
267 | <listitem> | ||
268 | <para>Click on <literal>Choose File</literal> to provide the | ||
269 | path to the image file (must be of type | ||
270 | <literal>rootfs.os-tree.tar.bz2</literal>).</para> | ||
271 | </listitem> | ||
272 | |||
273 | <listitem> | ||
274 | <para>Select the target hardware platform corresponding to the | ||
275 | image being uploaded (<literal>xeon-d</literal> or | ||
276 | <literal>atom-c3000</literal>).</para> | ||
277 | </listitem> | ||
278 | |||
279 | <listitem> | ||
280 | <para>Click <literal>Send</literal> to upload the image to the | ||
281 | image repository.</para> | ||
282 | </listitem> | ||
283 | </orderedlist></para> | ||
284 | |||
285 | <para><emphasis role="bold">Deleting an image from the image | ||
286 | repository</emphasis></para> | ||
287 | |||
288 | <orderedlist> | ||
289 | <listitem> | ||
290 | <para>Select <literal>Devices</literal> -> | ||
291 | <literal>Upgrade</literal>.</para> | ||
292 | </listitem> | ||
293 | |||
294 | <listitem> | ||
295 | <para>Select the image you want to delete from the <literal>Image | ||
296 | Library</literal> tab and then click | ||
297 | <literal>Delete</literal>.</para> | ||
298 | </listitem> | ||
299 | </orderedlist> | ||
300 | </section> | ||
301 | |||
302 | <section id="upgrade_options"> | ||
303 | <title>Upgrade Operations</title> | ||
304 | |||
305 | <para>The <literal>Upgrade Operations</literal> tab allows a user to | ||
306 | manage uCPE device upgrades in the system. It allows the user to see | ||
307 | all the upgrades that are currently in progress, as well as listing | ||
308 | the completed ones. If an upgrade succeeds or fails, then a row will | ||
309 | be added to the completed upgrades table. If one fails, the failure | ||
310 | message will be visible in the table.</para> | ||
311 | |||
312 | <note> | ||
313 | <para>The list of completed upgrade tasks resides in the cache | ||
314 | memory and will not persist across reboots of the server.</para> | ||
315 | </note> | ||
316 | |||
317 | <para><emphasis role="bold">How to Install/Upgrade a device | ||
318 | immediately or schedule the process for later</emphasis><orderedlist> | ||
319 | <listitem> | ||
320 | <para>Select <literal>Devices</literal> -> | ||
321 | <literal>Upgrade</literal>.</para> | ||
322 | </listitem> | ||
323 | |||
324 | <listitem> | ||
325 | <para>Select <literal>Upgrade Devices</literal> from the | ||
326 | <literal>Upgrade Operations</literal> tab. This will launch a | ||
327 | <literal>Multi Device Install Image</literal> screen that will | ||
328 | allow the user to install and upgrade more than one uCPE device | ||
329 | at a time or upgrade later.</para> | ||
330 | </listitem> | ||
331 | </orderedlist></para> | ||
332 | |||
333 | <para>The configurable parameters are:</para> | ||
334 | |||
335 | <itemizedlist> | ||
336 | <listitem> | ||
337 | <para><literal>Scheduling</literal>. Click this checkbox if the | ||
338 | upgrade will be done later. Schedule the day, hour and minute for | ||
339 | when to run the upgrade.</para> | ||
340 | |||
341 | <note> | ||
342 | <para>The hour represents the local uCPE Manager server | ||
343 | hour.</para> | ||
344 | </note> | ||
345 | </listitem> | ||
346 | |||
347 | <listitem> | ||
348 | <para><literal>Description</literal>. An optional description of | ||
349 | the operation. It is recommended to add a description so that | ||
350 | different upgrades happening simultaneously can be | ||
351 | distinguished.</para> | ||
352 | </listitem> | ||
353 | |||
354 | <listitem> | ||
355 | <para><literal>Image File</literal>. Click on <literal>Choose | ||
356 | Image File</literal> to select the image file.</para> | ||
357 | </listitem> | ||
358 | |||
359 | <listitem> | ||
360 | <para><literal>Devices</literal>. The list of uCPE Devices that | ||
361 | can accept an image file is populated when the image file is | ||
362 | chosen.</para> | ||
363 | |||
364 | <para>Press the <literal>></literal> button to move the uCPE | ||
365 | devices to the right side of the selector. Those chosen form the | ||
366 | list of uCPE devices that will be upgraded.</para> | ||
367 | </listitem> | ||
368 | |||
369 | <listitem> | ||
370 | <para>Upgrade Operation. The available options are:</para> | ||
371 | |||
372 | <itemizedlist> | ||
373 | <listitem> | ||
374 | <para><literal>Install and Activate</literal>. This will do an | ||
375 | image installation as well as an upgrade.</para> | ||
376 | </listitem> | ||
377 | |||
378 | <listitem> | ||
379 | <para><literal>Install Only</literal>. This will do an image | ||
380 | installation only. The image is copied to the uCPE device, and | ||
381 | an upgrade will be done later either at a scheduled time or | ||
382 | when the option <literal>Activate Only</literal> is | ||
383 | selected.</para> | ||
384 | </listitem> | ||
385 | |||
386 | <listitem> | ||
387 | <para><literal>Activate Only</literal>. This will activate an | ||
388 | already installed image on the uCPE device.</para> | ||
389 | </listitem> | ||
390 | </itemizedlist> | ||
391 | </listitem> | ||
392 | </itemizedlist> | ||
393 | |||
394 | <note> | ||
395 | <para>When the uCPE device activates the upgrade, it will be | ||
396 | rebooted automatically.</para> | ||
397 | </note> | ||
398 | </section> | ||
399 | |||
400 | <section id="releases_installed"> | ||
401 | <title>Releases installed on a uCPE device</title> | ||
402 | |||
403 | <para>The installed releases on a uCPE device can be viewed by | ||
404 | selecting the uCPE device first, then from the top toolbar selecting | ||
405 | <literal>Configuration</literal> -> | ||
406 | <literal>Upgrade</literal>.</para> | ||
407 | |||
408 | <para>The installed releases on the uCPE device, the release status, | ||
409 | release state, <literal>commit-id</literal> and release version will | ||
410 | be listed in a table.</para> | ||
411 | </section> | ||
412 | |||
413 | <section id="upgrade_status"> | ||
414 | <title>uCPE device upgrade status</title> | ||
415 | |||
416 | <para>The status of the installation and upgrade can be viewed in the | ||
417 | <literal>Upgrade Operations</literal> tab. Ongoing or scheduled | ||
418 | upgrade operations can be viewed or cancelled.</para> | ||
419 | |||
420 | <para><emphasis role="bold">To view the status of an installation or | ||
421 | upgrade operations</emphasis></para> | ||
422 | |||
423 | <orderedlist> | ||
424 | <listitem> | ||
425 | <para>Select <literal>Devices</literal> -> | ||
426 | <literal>Upgrade</literal>.</para> | ||
427 | </listitem> | ||
428 | |||
429 | <listitem> | ||
430 | <para>Select <literal>Upgrade Operations</literal>. The ongoing | ||
431 | operations are listed at the top and a history of failed or | ||
432 | successful operations are listed at the bottom.</para> | ||
433 | </listitem> | ||
434 | |||
435 | <listitem> | ||
436 | <para>Select an <literal>Active</literal> or <literal>Completed | ||
437 | Upgrade Operation</literal> and click the <literal>Device | ||
438 | Status</literal> button to see detailed information regarding the | ||
439 | upgrade operation, including the uCPE devices involved and | ||
440 | information per uCPE device.</para> | ||
441 | </listitem> | ||
442 | </orderedlist> | ||
443 | |||
444 | <para><emphasis role="bold">To cancel an upgrade | ||
445 | operation</emphasis></para> | ||
446 | |||
447 | <orderedlist> | ||
448 | <listitem> | ||
449 | <para>Select <literal>Devices</literal> -> | ||
450 | <literal>Upgrade</literal> -> <literal>Upgrade | ||
451 | Operations</literal>.</para> | ||
452 | </listitem> | ||
453 | |||
454 | <listitem> | ||
455 | <para>Select an operation from the list and press <literal>Cancel | ||
456 | Upgrade</literal> and <literal>Confirm</literal>. The operation | ||
457 | will then be deleted from the list.</para> | ||
458 | </listitem> | ||
459 | </orderedlist> | ||
460 | </section> | ||
461 | |||
462 | <section id="config"> | ||
463 | <title>Configuration</title> | ||
464 | |||
465 | <note> | ||
466 | <para>The default values present in the configuration of each uCPE | ||
467 | device are recommended for use. Modifying them is for an Advanced | ||
468 | User only.</para> | ||
469 | </note> | ||
470 | |||
471 | <para><emphasis role="bold">How to Configure the uCPE device | ||
472 | Upgrade</emphasis><orderedlist> | ||
473 | <listitem> | ||
474 | <para>Select <literal>Devices</literal> -> | ||
475 | <literal>Upgrade</literal>.</para> | ||
476 | </listitem> | ||
477 | |||
478 | <listitem> | ||
479 | <para>Select <literal>Configuration</literal>.</para> | ||
480 | </listitem> | ||
481 | |||
482 | <listitem> | ||
483 | <para>The configurable parameters are:</para> | ||
484 | |||
485 | <itemizedlist> | ||
486 | <listitem> | ||
487 | <para><literal>deviceImageDir</literal>. This is the disk | ||
488 | location of the device image repository.</para> | ||
489 | |||
490 | <note> | ||
491 | <para>If no absolute path name is given it is assumed to | ||
492 | be relative to the installation directory.</para> | ||
493 | </note> | ||
494 | </listitem> | ||
495 | |||
496 | <listitem> | ||
497 | <para><literal>maxThreads</literal>. This number dictates | ||
498 | how many upgrades the system can manage at one time, either | ||
499 | individually launched or launched from the multi-device | ||
500 | screens. This value defaults to 20, which means that 20 uCPE | ||
501 | devices may be updated at one time.</para> | ||
502 | </listitem> | ||
503 | |||
504 | <listitem> | ||
505 | <para><literal>KeepAlive</literal>. This number represents | ||
506 | the number of seconds that a thread will be kept alive | ||
507 | before it is collected. If multiple installations are | ||
508 | occurring, this will keep the thread alive for X seconds | ||
509 | before it is released. If not released, it can be used by | ||
510 | the internal scheduling system as soon as it has completed | ||
511 | an upgrade.</para> | ||
512 | </listitem> | ||
513 | </itemizedlist> | ||
514 | </listitem> | ||
515 | </orderedlist></para> | ||
516 | </section> | ||
517 | |||
518 | <section id="related_functionality"> | ||
519 | <title>Related Functionality for a uCPE device upgrade</title> | ||
520 | |||
521 | <para>Each uCPE device can receive image files and use them to | ||
522 | upgrade. This can be done by selecting the uCPE device in the | ||
523 | <literal>System</literal> view and clicking the | ||
524 | <literal>Upgrade</literal> button. In the new window, an upgrade image | ||
525 | can be chosen from the <literal>Image Files</literal> tab by selecting | ||
526 | the image file from the list and clicking the <literal>Install on | ||
527 | Device</literal> button.</para> | ||
528 | |||
529 | <para>Once an image is installed on the uCPE device, the image will be | ||
530 | available on the uCPE device and be visible in the | ||
531 | <literal>Releases</literal> tab. It can then be selected from the list | ||
532 | and the upgrade started by clicking the <literal>Upgrade</literal> | ||
533 | button.</para> | ||
534 | </section> | ||
535 | </section> | ||
536 | </section> | ||
537 | </chapter> \ No newline at end of file | ||
diff --git a/doc/book-enea-nfv-access-getting-started/doc/vnf_mg.xml b/doc/book-enea-nfv-access-getting-started/doc/vnf_mg.xml new file mode 100644 index 0000000..545bf99 --- /dev/null +++ b/doc/book-enea-nfv-access-getting-started/doc/vnf_mg.xml | |||
@@ -0,0 +1,481 @@ | |||
1 | <?xml version="1.0" encoding="ISO-8859-1"?> | ||
2 | <chapter id="vnf_mg"> | ||
3 | <title>VNF Management</title> | ||
4 | |||
5 | <para>The Enea uCPE Manager is responsible for onboarding, configuring (e.g. | ||
6 | CloudInit) and ensuring life cycle management of VNFs that are instantiated | ||
7 | and run on the various uCPE devices.</para> | ||
8 | |||
9 | <section id="onboarding_a_vnf"> | ||
10 | <title>Onboarding a VNF</title> | ||
11 | |||
12 | <para>The onboarding of a VNF means adding it to the Enea uCPE Manager VNF | ||
13 | Catalogue and preparing it for instantiation (deployment on connected uCPE | ||
14 | devices). This is accomplished using the Enea uCPE Manager Onboarding | ||
15 | graphical user interface.</para> | ||
16 | |||
17 | <para>Typically, the Getting Started Guide of a VNF, provided by the VNF | ||
18 | vendor, contains all necessary information needed to onboard a VNF.</para> | ||
19 | |||
20 | <section id="retrieve_art"> | ||
21 | <title>Retrieving Artifacts</title> | ||
22 | |||
23 | <para>The user must first retrieve the necessary artifacts from the VNF | ||
24 | vendor:</para> | ||
25 | |||
26 | <orderedlist> | ||
27 | <listitem> | ||
28 | <para>Download the VNF from the commercial vendor.</para> | ||
29 | </listitem> | ||
30 | |||
31 | <listitem> | ||
32 | <para>Procure any VNF-specific files from the VNF vendor, e.g. | ||
33 | license file.</para> | ||
34 | |||
35 | <note> | ||
36 | <para>There are no standard ways of managing VNF licenses, | ||
37 | therefore no general guidelines can be provided. One example of | ||
38 | license handling that can be employed in the uCPE Manager is the | ||
39 | adding of a license during the Cloud-Init setup.</para> | ||
40 | </note> | ||
41 | </listitem> | ||
42 | |||
43 | <listitem> | ||
44 | <para>Optionally, get access to the VNF specific VNF Manager for day | ||
45 | 1 and 2 configuration (in cloud or for local deployment).</para> | ||
46 | </listitem> | ||
47 | |||
48 | <listitem> | ||
49 | <para>Procure the Getting Started Guide from the VNF vendor, | ||
50 | preferably for KVM deployment for VNF specific configuration | ||
51 | information.</para> | ||
52 | </listitem> | ||
53 | </orderedlist> | ||
54 | </section> | ||
55 | |||
56 | <section id="onboard_prep"> | ||
57 | <title>Preparation</title> | ||
58 | |||
59 | <para>Once all needed downloadables, documentation and more have been | ||
60 | attained, preparation for onboarding must be completed:</para> | ||
61 | |||
62 | <orderedlist> | ||
63 | <listitem> | ||
64 | <para>Determine the use-case and performance requirements of the VNF | ||
65 | you wish to deploy:</para> | ||
66 | |||
67 | <itemizedlist spacing="compact"> | ||
68 | <listitem> | ||
69 | <para>This decides what resources the VNF is configured for, | ||
70 | along with networking and day zero configurations.</para> | ||
71 | |||
72 | <note> | ||
73 | <para>Generally, the Getting Started Guide for the VNF | ||
74 | provides guidelines for resource allocation, but since | ||
75 | performance is dependent on hardware capacity, the right | ||
76 | resource allocation for deployment is determined through | ||
77 | benchmarking.</para> | ||
78 | </note> | ||
79 | </listitem> | ||
80 | |||
81 | <listitem> | ||
82 | <para>Determine the amount of hardware resources needed for the | ||
83 | VNF (RAM, number of CPUs and storage size).</para> | ||
84 | </listitem> | ||
85 | |||
86 | <listitem> | ||
87 | <para>Determine how many Virtual Network Interfaces the VNF will | ||
88 | use.</para> | ||
89 | </listitem> | ||
90 | </itemizedlist> | ||
91 | </listitem> | ||
92 | |||
93 | <listitem> | ||
94 | <para>Determine the Day-0 configuration method from the VNF Getting | ||
95 | Started guidelines.</para> | ||
96 | |||
97 | <note> | ||
98 | <para>For many VNFs, day zero configuration can be skipped in | ||
99 | early onboarding efforts when automation is not of | ||
100 | importance.</para> | ||
101 | </note> | ||
102 | </listitem> | ||
103 | |||
104 | <listitem> | ||
105 | <para>Determine any requirements needed by the Cloud-Init file | ||
106 | structure and the content needed when this structure is used.</para> | ||
107 | </listitem> | ||
108 | </orderedlist> | ||
109 | </section> | ||
110 | |||
111 | <section id="onboard_in_ucpemg"> | ||
112 | <title>Onboarding into the uCPE Manager</title> | ||
113 | |||
114 | <para><emphasis role="bold">How to onboard a VNF into the uCPE Manager | ||
115 | </emphasis></para> | ||
116 | |||
117 | <orderedlist> | ||
118 | <listitem> | ||
119 | <para>Select from the top toolbar <literal>VNF</literal> -> | ||
120 | <literal>Descriptors</literal></para> | ||
121 | </listitem> | ||
122 | |||
123 | <listitem> | ||
124 | <para>Click the <literal>On-board</literal> button.</para> | ||
125 | </listitem> | ||
126 | |||
127 | <listitem> | ||
128 | <para>When prompted by the UI, make sure the <literal>VM | ||
129 | Image</literal> radio button at the top of the onboarding screen is | ||
130 | selected, it will trigger a popup menu window.</para> | ||
131 | </listitem> | ||
132 | </orderedlist> | ||
133 | |||
134 | <para>This window contains data fields where both necessary and optional | ||
135 | information about the VNF can be supplied. After doing so, press the | ||
136 | Onboard button, the uCPE Manager will create the VNF descriptor and add | ||
137 | it to its VNF Catalog.</para> | ||
138 | |||
139 | <figure> | ||
140 | <title>Onboard a VNF</title> | ||
141 | |||
142 | <mediaobject> | ||
143 | <imageobject> | ||
144 | <imagedata align="center" contentwidth="600" | ||
145 | fileref="images/onboard_a_vnf_image.png" /> | ||
146 | </imageobject> | ||
147 | </mediaobject> | ||
148 | </figure> | ||
149 | |||
150 | <para><emphasis role="bold">Main fields</emphasis></para> | ||
151 | |||
152 | <itemizedlist> | ||
153 | <listitem> | ||
154 | <para><emphasis role="bold">VM Image File</emphasis>. This is the | ||
155 | Virtual Machine image file for the VNF. Typically, it is a QCOW | ||
156 | image. Press <literal>Choose File</literal> and select the image you | ||
157 | wish to upload.</para> | ||
158 | </listitem> | ||
159 | |||
160 | <listitem> | ||
161 | <para><emphasis role="bold">Image Format</emphasis>. Select the | ||
162 | format which matches the image file format.</para> | ||
163 | </listitem> | ||
164 | |||
165 | <listitem> | ||
166 | <para><emphasis role="bold">VNF Type Name</emphasis>. This is the | ||
167 | name that will be used to identify this VNF. It will be shown in the | ||
168 | VNFs list.</para> | ||
169 | </listitem> | ||
170 | |||
171 | <listitem> | ||
172 | <para><emphasis role="bold">Description</emphasis>. This field | ||
173 | contains any description provided and is only displayed in the GUI | ||
174 | tables in the uCPE Manager.</para> | ||
175 | </listitem> | ||
176 | |||
177 | <listitem> | ||
178 | <para><emphasis role="bold">Version</emphasis>. This is the version | ||
179 | of the current VNF that you are hosting. It's used to distinguish | ||
180 | this VNF from other versions of the same type.</para> | ||
181 | </listitem> | ||
182 | |||
183 | <listitem> | ||
184 | <para><emphasis role="bold">Memory in MB</emphasis>. This is the | ||
185 | amount of memory (in megabytes) that will be provided to this type | ||
186 | of VNF when it is instantiated. To determine the value for this | ||
187 | field, consult the VNF vendor.</para> | ||
188 | </listitem> | ||
189 | |||
190 | <listitem> | ||
191 | <para><emphasis role="bold">Num of CPUs</emphasis>. The number of | ||
192 | CPUs that will be dedicated to an instance of this VNF when created. | ||
193 | To determine the value for this field, consult the VNF | ||
194 | vendor.</para> | ||
195 | </listitem> | ||
196 | |||
197 | <listitem> | ||
198 | <para><emphasis role="bold">Storage in GB</emphasis>. How much disk | ||
199 | space to provide an instance of this VNF. To determine the value for | ||
200 | this field, consult the VNF vendor.</para> | ||
201 | </listitem> | ||
202 | </itemizedlist> | ||
203 | |||
204 | <para><emphasis role="bold">Interfaces Tab</emphasis></para> | ||
205 | |||
206 | <para>Click on the <literal>Interfaces</literal> tab to show the | ||
207 | Interfaces table.</para> | ||
208 | |||
209 | <para>This table will contain the interfaces required by this VNF to be | ||
210 | configured, when creating an instance. Consult the VNF vendor to | ||
211 | determine which and how many are required. Each interface requires a | ||
212 | name, and optionally a description, used only by the uCPE | ||
213 | Manager.</para> | ||
214 | |||
215 | <note> | ||
216 | <para>CAUTION: The user MUST conserve the same order for the virtual | ||
217 | interfaces during both onboarding and instantiation phases.</para> | ||
218 | </note> | ||
219 | |||
220 | <para><emphasis role="bold">Cloud Init Tab</emphasis></para> | ||
221 | |||
222 | <para>Click the <literal>Clout Init</literal> tab to provide the | ||
223 | Clout-Init configuration. There are three fields that need to be | ||
224 | populated:</para> | ||
225 | |||
226 | <orderedlist> | ||
227 | <listitem> | ||
228 | <para><emphasis role="bold">Cloud-Init Datasource</emphasis></para> | ||
229 | |||
230 | <para>To onboard a VNF you must specify the <literal>Cloud-Init | ||
231 | Datasource</literal> that the VNF uses. This information is procured | ||
232 | from the VNF Vendor. Choose one of the following methods to specify | ||
233 | the datasource:</para> | ||
234 | |||
235 | <itemizedlist spacing="compact"> | ||
236 | <listitem> | ||
237 | <para><emphasis role="bold">None</emphasis>. If there is no | ||
238 | datasource.</para> | ||
239 | </listitem> | ||
240 | |||
241 | <listitem> | ||
242 | <para><emphasis role="bold">ConfigDrive</emphasis>. This method | ||
243 | allows you to provide any number of content-data files | ||
244 | containing Cloud-Init data.</para> | ||
245 | </listitem> | ||
246 | |||
247 | <listitem> | ||
248 | <para><emphasis role="bold">NoCloud</emphasis>. This is a | ||
249 | simpler method that uses only one cloud init file | ||
250 | (User-Data).</para> | ||
251 | </listitem> | ||
252 | |||
253 | <listitem> | ||
254 | <para><emphasis role="bold">ISO</emphasis>. Pre-cooked | ||
255 | cloud-init image. This image must be created by the user | ||
256 | according to VNF requirements.</para> | ||
257 | </listitem> | ||
258 | </itemizedlist> | ||
259 | </listitem> | ||
260 | |||
261 | <listitem> | ||
262 | <para><emphasis role="bold">Cloud-Init Disk Type</emphasis></para> | ||
263 | |||
264 | <para>The <literal>Cloud-Init Disk Type</literal> field must be set | ||
265 | to either <literal>Disk</literal>, or <literal>CD-ROM</literal>, | ||
266 | depending on what the VNF requires. You can get this information | ||
267 | from the VNF Vendor.</para> | ||
268 | </listitem> | ||
269 | |||
270 | <listitem> | ||
271 | <para><emphasis role="bold">Content Files Table</emphasis></para> | ||
272 | |||
273 | <para>The <literal>Content Files Table</literal> is ONLY used if | ||
274 | <literal>ConfigDrive</literal> is chosend as the Cloud-Init | ||
275 | Datasource. For each content file added, a <literal>Path</literal> | ||
276 | must be provided. When the uCPE Manager is used to create an | ||
277 | instance for multiple VNFs, the user will be prompted to provide a | ||
278 | data file for each entry in this table. Each type of VNF will | ||
279 | require different cloud-init files, e.g.: a license file. The data | ||
280 | files will be added to the cloud-init image that the user provides | ||
281 | at the instantiation of the VNF. If the cloud-init image is not | ||
282 | provided, no Cloud-Init Data Source will be created for that VNF and | ||
283 | there will be no warning.</para> | ||
284 | </listitem> | ||
285 | </orderedlist> | ||
286 | |||
287 | <para>Consult with the VNF vendor to determine what is required for the | ||
288 | VNF you are onboarding.</para> | ||
289 | |||
290 | <para><emphasis role="bold">Properties Tab</emphasis></para> | ||
291 | |||
292 | <para>In this table, you can enter values for properties that will be | ||
293 | used during instantiation of the VNF. The values will augment the | ||
294 | default values in the <filename>Domain.XML</filename> file used by | ||
295 | <literal>libvirt/virsh</literal> (running in NFV Access) when creating | ||
296 | an instance of the VNF. Consult with the VNF Vendor or ENEA support for | ||
297 | values needed by specific VNFs.</para> | ||
298 | |||
299 | <para><emphasis role="bold">Property Values</emphasis></para> | ||
300 | |||
301 | <itemizedlist> | ||
302 | <listitem> | ||
303 | <para><literal>numHugePages</literal> defines the number of huge | ||
304 | memory pages the VNF uses (for DPDK).</para> | ||
305 | </listitem> | ||
306 | |||
307 | <listitem> | ||
308 | <para><literal>vnfMgmtIpAddress</literal>: the IP address of the | ||
309 | VNF's management interface, connected to a | ||
310 | <literal>vnfMgmt</literal> bridge (e.g. 10.0.0.2).</para> | ||
311 | </listitem> | ||
312 | |||
313 | <listitem> | ||
314 | <para><literal>internalMgmtPort</literal>: the VNF's TCP/UDP port | ||
315 | used for management (e.g. 443).</para> | ||
316 | </listitem> | ||
317 | |||
318 | <listitem> | ||
319 | <para><literal>externalMgmtPort</literal>: the Management port used | ||
320 | for external access (e.g. 60001).</para> | ||
321 | </listitem> | ||
322 | </itemizedlist> | ||
323 | |||
324 | <note> | ||
325 | <para>The last three properties are useful in conjuction with the | ||
326 | <literal>vnfMgmt</literal> bridge type. They allow the user to map the | ||
327 | internal VNF management port to an external port, useful for VNF | ||
328 | configuration from WAN.</para> | ||
329 | |||
330 | <para>In the previous example, the internal TCP port 443 (HTTPS) was | ||
331 | mapped to the external port 60001, which allows the user to access the | ||
332 | VNF management port from a web browser e.g. | ||
333 | <literal>https://<WAN_IP>:60001</literal>.</para> | ||
334 | </note> | ||
335 | </section> | ||
336 | </section> | ||
337 | |||
338 | <section id="instantiating_a_vnf"> | ||
339 | <title>Instantiating a VNF</title> | ||
340 | |||
341 | <para>When a VNF is onboarded and available in the VNF catalog, it can be | ||
342 | instantiated on connected uCPE devices. The configurations provided when | ||
343 | the VNF is onboarded, serve as a template for instantiation. Before | ||
344 | instantiating any VNF, please make sure the available storage space on the | ||
345 | uCPE device is big enough to accommodate the VNF you need to | ||
346 | instantiate.</para> | ||
347 | |||
348 | <para>Follow the instructions below to instantiate a VNF:</para> | ||
349 | |||
350 | <orderedlist> | ||
351 | <listitem> | ||
352 | <para>Select from the top toolbar <literal>VNF</literal> -> | ||
353 | <literal>Instances</literal></para> | ||
354 | </listitem> | ||
355 | |||
356 | <listitem> | ||
357 | <para>Click the <literal>Add</literal> button.</para> | ||
358 | </listitem> | ||
359 | |||
360 | <listitem> | ||
361 | <para>Fill out the following mandatory fields:</para> | ||
362 | |||
363 | <itemizedlist spacing="compact"> | ||
364 | <listitem> | ||
365 | <para>Name: a descriptive name.</para> | ||
366 | </listitem> | ||
367 | |||
368 | <listitem> | ||
369 | <para>VNF Type: a list of onboarded VNFs.</para> | ||
370 | </listitem> | ||
371 | |||
372 | <listitem> | ||
373 | <para>uCPE Device: the uCPE device to instantiate the VNF | ||
374 | on.</para> | ||
375 | </listitem> | ||
376 | |||
377 | <listitem> | ||
378 | <para>Networking Configuration:</para> | ||
379 | |||
380 | <itemizedlist spacing="compact"> | ||
381 | <listitem> | ||
382 | <para>Connect each configured NIC with a bridge, SR-IOV or PCI | ||
383 | Passthrough.</para> | ||
384 | </listitem> | ||
385 | |||
386 | <listitem> | ||
387 | <para>Set up each NIC with a driver method.</para> | ||
388 | </listitem> | ||
389 | </itemizedlist> | ||
390 | |||
391 | <note> | ||
392 | <para>All configured NICs must be set up before instantiating a | ||
393 | VNF. Failure to do so will end in a failed instantiation.</para> | ||
394 | </note> | ||
395 | </listitem> | ||
396 | </itemizedlist> | ||
397 | </listitem> | ||
398 | |||
399 | <listitem> | ||
400 | <para>Add VNF-specific configuration data by uploading a Cloud-Init | ||
401 | file (when the Cloud-Init is used).</para> | ||
402 | </listitem> | ||
403 | |||
404 | <listitem> | ||
405 | <para>Add any VNF-specific files (e.g license files).</para> | ||
406 | </listitem> | ||
407 | |||
408 | <listitem> | ||
409 | <para>Hit the <literal>Create</literal> button to deploy the VNF and | ||
410 | run it on the specified uCPE device.</para> | ||
411 | </listitem> | ||
412 | </orderedlist> | ||
413 | |||
414 | <para>Selecting the<literal> VNF -> Events</literal> menu will show | ||
415 | that the VNF was created and a connection was established.</para> | ||
416 | </section> | ||
417 | |||
418 | <section id="enter_console"> | ||
419 | <title>Accessing the VNF console</title> | ||
420 | |||
421 | <para>Once the VNF is deployed, the VNF console can be entered using SSH | ||
422 | and virsh commands. The VNF Console is a typical starting point for | ||
423 | determining a successful deployment and configuring a VNF beyond Day | ||
424 | Zero.</para> | ||
425 | |||
426 | <orderedlist> | ||
427 | <listitem> | ||
428 | <para>SSH to the uCPE device from the Enea uCPE Manager | ||
429 | (<literal>Device->SSH</literal>) using:</para> | ||
430 | |||
431 | <itemizedlist> | ||
432 | <listitem> | ||
433 | <para>For normal connections: the <literal>Username</literal> | ||
434 | (default: root), the <literal>Password</literal> (default: no | ||
435 | password), the <literal>Port</literal> (default: 22) and the | ||
436 | <literal>Reverse ssh</literal> checkbox: unchecked.</para> | ||
437 | </listitem> | ||
438 | |||
439 | <listitem> | ||
440 | <para>For reverse ssh connections: the <literal>Username</literal> | ||
441 | (default: root) and the <literal>Reverse ssh</literal> checkbox | ||
442 | checked. The port will be automatically choosen by the uCPE | ||
443 | Manager in the range defined in the <literal>System -> | ||
444 | Configuration -> Reverse SSH</literal> configuration panel. By | ||
445 | default, the start port will be <literal>7000</literal> and the | ||
446 | maximum number of ports allocated to all devices is 10. Only one | ||
447 | port per device is allowed.</para> | ||
448 | |||
449 | <para>A SSH Tunnel between the uCPE Manager and the device will be | ||
450 | created:</para> | ||
451 | |||
452 | <programlisting>ssh -f -N -T -R < Port > :localhost:22 <uCPE Mgr user>@<uCPE MgrIP></programlisting> | ||
453 | |||
454 | <para>The device must be connected to the uCPE Manager for the | ||
455 | tunnel to be created. On connection, a normal ssh connection will | ||
456 | be made:</para> | ||
457 | |||
458 | <programlisting>ssh -p <Port> <Username>@localhost</programlisting> | ||
459 | </listitem> | ||
460 | </itemizedlist> | ||
461 | </listitem> | ||
462 | |||
463 | <listitem> | ||
464 | <para>In SSH:</para> | ||
465 | |||
466 | <orderedlist spacing="compact"> | ||
467 | <listitem> | ||
468 | <para>Use the <command>virsh list</command> command to list all | ||
469 | running VNFs and to determine the VNF's instance number.</para> | ||
470 | </listitem> | ||
471 | |||
472 | <listitem> | ||
473 | <para>Use the <command>virsh console <instance | ||
474 | number></command> command to enter the VNF-specific | ||
475 | console.</para> | ||
476 | </listitem> | ||
477 | </orderedlist> | ||
478 | </listitem> | ||
479 | </orderedlist> | ||
480 | </section> | ||
481 | </chapter> \ No newline at end of file | ||