diff options
Diffstat (limited to 'doc/book-enea-nfv-access-getting-started/doc/getting_started_ucpe_manager.xml')
-rw-r--r-- | doc/book-enea-nfv-access-getting-started/doc/getting_started_ucpe_manager.xml | 772 |
1 files changed, 768 insertions, 4 deletions
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 index 2704fc8..80595e6 100644 --- 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 | |||
@@ -1,5 +1,5 @@ | |||
1 | <?xml version="1.0" encoding="ISO-8859-1"?> | 1 | <?xml version="1.0" encoding="ISO-8859-1"?> |
2 | <chapter id="installation"> | 2 | <chapter id="getting_started_ucpe_manager"> |
3 | <title>Getting Started with Enea uCPE Manager</title> | 3 | <title>Getting Started with Enea uCPE Manager</title> |
4 | 4 | ||
5 | <section id="prere"> | 5 | <section id="prere"> |
@@ -25,7 +25,7 @@ | |||
25 | 25 | ||
26 | <para>Unpack the uCPE Manager and install it by following the instructions | 26 | <para>Unpack the uCPE Manager and install it by following the instructions |
27 | provided within the release archive: | 27 | provided within the release archive: |
28 | <literal>[unpacked_folder]/dist/README.</literal> </para> | 28 | <literal>[unpacked_folder]/dist/README</literal>.</para> |
29 | 29 | ||
30 | <para>There are a few things to consider during the installation phase, as | 30 | <para>There are a few things to consider during the installation phase, as |
31 | there are a few steps where user input is required. In most cases, the | 31 | there are a few steps where user input is required. In most cases, the |
@@ -35,8 +35,9 @@ | |||
35 | defaults to Y), and not the machine as part of a cluster (which defaults | 35 | defaults to Y), and not the machine as part of a cluster (which defaults |
36 | to N). Installing on a Windows machine, will require the user to follow | 36 | to N). Installing on a Windows machine, will require the user to follow |
37 | the Windows password policies when defining the password for the <emphasis | 37 | the Windows password policies when defining the password for the <emphasis |
38 | role="bold">ucpemanager</emphasis> service. A good example for an acceptable | 38 | role="bold">ucpemanager</emphasis> service. A good example for an |
39 | password would be:<emphasis>_1ucpe#2manager!3_</emphasis>.</para> | 39 | acceptable password would |
40 | be:<emphasis>_1ucpe#2manager!3_</emphasis>.</para> | ||
40 | 41 | ||
41 | <para>Check that the Windows or CentOS machine where the uCPE Manager is | 42 | <para>Check that the Windows or CentOS machine where the uCPE Manager is |
42 | installed has the firewall disabled. To disable the firewall, if using | 43 | installed has the firewall disabled. To disable the firewall, if using |
@@ -60,4 +61,767 @@ | |||
60 | </listitem> | 61 | </listitem> |
61 | </orderedlist> | 62 | </orderedlist> |
62 | </section> | 63 | </section> |
64 | |||
65 | <section id="device_config_provision"> | ||
66 | <title>Device Configuration and Provisioning</title> | ||
67 | |||
68 | <section id="device_config"> | ||
69 | <title>Add a uCPE device to the Management System</title> | ||
70 | |||
71 | <para>This section describes how to connect to an instance of NFV Access | ||
72 | installed on a specific uCPE device, and how to setup the virtual | ||
73 | infrastructure.</para> | ||
74 | |||
75 | <section id="man_config"> | ||
76 | <title>Manual Addition</title> | ||
77 | |||
78 | <para>Add the uCPE device running the NFV Access Run Time Platform to | ||
79 | the management system: <literal>Devices -> Manage -> | ||
80 | Add</literal>. Supply information about the uCPE device, and set the | ||
81 | parameters that will be used to connect to it.</para> | ||
82 | |||
83 | <para>The relevant parameters are:</para> | ||
84 | |||
85 | <itemizedlist> | ||
86 | <listitem> | ||
87 | <para>Type. The type of device to be added, i.e <literal>Enea | ||
88 | universal uCPE</literal>.</para> | ||
89 | </listitem> | ||
90 | </itemizedlist> | ||
91 | |||
92 | <itemizedlist> | ||
93 | <listitem> | ||
94 | <para>Name. The name by which the device is referred to in the | ||
95 | uCPE Manager.</para> | ||
96 | </listitem> | ||
97 | </itemizedlist> | ||
98 | |||
99 | <itemizedlist> | ||
100 | <listitem> | ||
101 | <para>IP Address. IP address of the device. If a device is | ||
102 | installed under a local/private network and not directly visible | ||
103 | to the uCPE Manager machine, the Gateway IP of the private network | ||
104 | must be used.</para> | ||
105 | </listitem> | ||
106 | </itemizedlist> | ||
107 | |||
108 | <itemizedlist> | ||
109 | <listitem> | ||
110 | <para>SSH Port. The NETCONF Port used for communications. This is | ||
111 | a relevant parameter if the standard NETCONF SSH (i.e. not | ||
112 | Call-Home) is being used. Default is set to 830.</para> | ||
113 | </listitem> | ||
114 | </itemizedlist> | ||
115 | |||
116 | <itemizedlist> | ||
117 | <listitem> | ||
118 | <para>SSH User Name. The user name for SSH connectivity. Default | ||
119 | user is <literal>root</literal>.</para> | ||
120 | </listitem> | ||
121 | </itemizedlist> | ||
122 | |||
123 | <itemizedlist> | ||
124 | <listitem> | ||
125 | <para>SSH Password. Leave this blank.</para> | ||
126 | </listitem> | ||
127 | </itemizedlist> | ||
128 | |||
129 | <itemizedlist> | ||
130 | <listitem> | ||
131 | <para>Device Calls Home. This checkbox indicates the direction of | ||
132 | device communications. In the Manual Configuration, leave this box | ||
133 | blank. </para> | ||
134 | </listitem> | ||
135 | </itemizedlist> | ||
136 | |||
137 | <itemizedlist> | ||
138 | <listitem> | ||
139 | <para>Device ID. The unique instance ID of the device. This is | ||
140 | what links a device to its day-0 configuration (stored in the | ||
141 | offline configuration system). It is a required field if you want | ||
142 | to perform Zero-Touch Provisioning.</para> | ||
143 | </listitem> | ||
144 | </itemizedlist> | ||
145 | </section> | ||
146 | |||
147 | <section id="using_call_home"> | ||
148 | <title>Using Call-Home</title> | ||
149 | |||
150 | <para>The uCPE Manager must be configured to bring the uCPE device | ||
151 | under management. This is done by selecting the <literal>Device Calls | ||
152 | Home</literal> checkbox when adding a device. When Device Calls Home | ||
153 | is checked, the device will initiate a connection by opening | ||
154 | a socket to the uCPE Manager for NETCONF traffic (over SSH), while the | ||
155 | uCPE Manager waits for device connection.</para> | ||
156 | </section> | ||
157 | </section> | ||
158 | |||
159 | <section id="host_int_net_config"> | ||
160 | <title>Prepare uCPE device for VNF onboarding</title> | ||
161 | |||
162 | <para>The uCPE Manager can list network interfaces found on a device by | ||
163 | selecting: <literal>Device</literal> -> | ||
164 | <literal>Configuration</literal> -> <literal>OpenVSwitch | ||
165 | </literal>-> <literal>Host Interface Caps</literal>:</para> | ||
166 | |||
167 | <figure> | ||
168 | <title>Host Interface Caps</title> | ||
169 | |||
170 | <mediaobject> | ||
171 | <imageobject> | ||
172 | <imagedata align="center" fileref="images/host_interface_caps.png" | ||
173 | scale="55" /> | ||
174 | </imageobject> | ||
175 | </mediaobject> | ||
176 | </figure> | ||
177 | |||
178 | <para>Network interfaces can be set in three modes: DPDK, SR-IOV and | ||
179 | PCI-Passthrough.</para> | ||
180 | |||
181 | <section id="dpdk_interface"> | ||
182 | <title>DPDK Interface Type</title> | ||
183 | |||
184 | <para>Configuring a physical interface in DPDK mode will require a | ||
185 | DPDK-based application (e.g. OVS-DPDK) in order to access and use the | ||
186 | interface. An interface set as DPDK can be attached to an OVS-DPDK | ||
187 | bridge. Select the uCPE device, then from the top toolbar select: | ||
188 | <literal>Configuration</literal> -><literal> OpenVSwitch | ||
189 | </literal>-> <literal>Host Interfaces</literal> -><literal> | ||
190 | Add</literal>:</para> | ||
191 | |||
192 | <figure> | ||
193 | <title>DPDK Host Interface</title> | ||
194 | |||
195 | <mediaobject> | ||
196 | <imageobject> | ||
197 | <imagedata align="center" | ||
198 | fileref="images/dpdk_interface_type.png" scale="90" /> | ||
199 | </imageobject> | ||
200 | </mediaobject> | ||
201 | </figure> | ||
202 | |||
203 | <para>For DPDK mode, the user must set following fields:</para> | ||
204 | |||
205 | <itemizedlist> | ||
206 | <listitem> | ||
207 | <para>Source: PCI address of the physical interface</para> | ||
208 | </listitem> | ||
209 | |||
210 | <listitem> | ||
211 | <para>Type: dpdk</para> | ||
212 | </listitem> | ||
213 | |||
214 | <listitem> | ||
215 | <para>Networking-type: dpdk</para> | ||
216 | </listitem> | ||
217 | |||
218 | <listitem> | ||
219 | <para>Dpdk-type: kernel module that allow user space access of | ||
220 | physical interface</para> | ||
221 | </listitem> | ||
222 | </itemizedlist> | ||
223 | |||
224 | <para>Create an OpenVSwitch bridge (<literal>ovsbr0</literal>) on the | ||
225 | device that uses a DPDK interface, by selecting the uCPE device, then | ||
226 | from the top toolbar selecting: <literal>Configuration</literal>-> | ||
227 | <literal>OpenVSwitch</literal> -> <literal>Bridges</literal> -> | ||
228 | <literal>Add</literal>:</para> | ||
229 | |||
230 | <figure> | ||
231 | <title>OVS bridge</title> | ||
232 | |||
233 | <mediaobject> | ||
234 | <imageobject> | ||
235 | <imagedata align="center" fileref="images/ovs_bridge.png" | ||
236 | scale="95" /> | ||
237 | </imageobject> | ||
238 | </mediaobject> | ||
239 | </figure> | ||
240 | </section> | ||
241 | |||
242 | <section id="sriov_interface_type"> | ||
243 | <title>SR-IOV Interface Type</title> | ||
244 | |||
245 | <para>SR-IOV mode will create a number of virtual functions on host | ||
246 | that can be used to route traffic to VMs. Select the uCPE device, then | ||
247 | from the top toolbar select: <literal>Configuration</literal> | ||
248 | -><literal> OpenVSwitch </literal>-> <literal>Host Interfaces | ||
249 | </literal>-><literal> Add</literal>:</para> | ||
250 | |||
251 | <para>For SR-IOV mode, the user must set following fields:</para> | ||
252 | |||
253 | <itemizedlist> | ||
254 | <listitem> | ||
255 | <para>Source: PCI address of the physical interface</para> | ||
256 | </listitem> | ||
257 | |||
258 | <listitem> | ||
259 | <para>Type: sr-iov</para> | ||
260 | </listitem> | ||
261 | |||
262 | <listitem> | ||
263 | <para>Networking-type: srIov</para> | ||
264 | </listitem> | ||
265 | |||
266 | <listitem> | ||
267 | <para>sriov-mode: adapter-pool</para> | ||
268 | </listitem> | ||
269 | |||
270 | <listitem> | ||
271 | <para>sriov-num-vfs: the number of virtual functions to | ||
272 | create</para> | ||
273 | </listitem> | ||
274 | </itemizedlist> | ||
275 | |||
276 | <figure> | ||
277 | <title>SR-IOV Interface Type</title> | ||
278 | |||
279 | <mediaobject> | ||
280 | <imageobject> | ||
281 | <imagedata align="center" | ||
282 | fileref="images/sriov_interface_type.png" scale="90" /> | ||
283 | </imageobject> | ||
284 | </mediaobject> | ||
285 | </figure> | ||
286 | </section> | ||
287 | |||
288 | <section id="pci_interface_type"> | ||
289 | <title>PCI Passthrough Interface Type</title> | ||
290 | |||
291 | <para>For PCI Passthrough the user does not have to configure a | ||
292 | physical interface, instead simply select the PCI address and connect | ||
293 | it to a virtual port at the VNF instantiation step.</para> | ||
294 | </section> | ||
295 | </section> | ||
296 | |||
297 | <section id="zero_touch_prov"> | ||
298 | <title>Zero Touch Provisioning</title> | ||
299 | |||
300 | <para>Zero-Touch Provisioning (ZTP) is an alternative to Manual | ||
301 | configuration. ZTP refers to the process by which, when a device starts | ||
302 | up for the first time, its initial configuration is pushed down by an | ||
303 | external management system, so that it is setup for proper operation | ||
304 | without additional manual intervention by an operator.</para> | ||
305 | |||
306 | <para>A variety of operations can occur as part of ZTP such as initial | ||
307 | device setup, configuration of managed objects, etc. The goal is to set | ||
308 | up a device to the maximum possible extent without forcing an operator | ||
309 | to be physically present (initially) to manage the device.</para> | ||
310 | |||
311 | <para>In order to create a static configuration supporting ZTP, the uCPE | ||
312 | Manager user needs to identify the <literal>Device ID</literal> of the | ||
313 | machine running NFV Access.</para> | ||
314 | |||
315 | <para>During the automatic installation process when the | ||
316 | <literal>Automatic install</literal> step is reached, enter the option | ||
317 | menu <literal>Customize kernel parameters</literal> and set the | ||
318 | <literal>uCPE Manager IP address</literal>. Please check <xref | ||
319 | linkend="install_ena_stick" />, for how to set the uCPE Manager IP | ||
320 | address at boot time. The Device ID will be listed in the installer | ||
321 | under the <literal>Customize kernel parameters</literal> menu.</para> | ||
322 | |||
323 | <para>With the address parameter set, run | ||
324 | <literal>list_deviceID.sh</literal> after NFV Access is installed and | ||
325 | booted, to get the device ID of the uCPE device.</para> | ||
326 | |||
327 | <note> | ||
328 | <para>It is possible to let NFV Access know the uCPE Manager IP | ||
329 | address at run-time by setting <literal>vcpemgr=<IP></literal> | ||
330 | as a kernel boot parameter in the grub configuration file. Reboot is | ||
331 | required after this update.</para> | ||
332 | |||
333 | <para>This step needs to be done each time the uCPE Manager host | ||
334 | changes its IP address.</para> | ||
335 | </note> | ||
336 | |||
337 | <para>An offline configuration can be prepared in advance for the uCPE | ||
338 | Manager to setup the infrastructure on the device.</para> | ||
339 | |||
340 | <section id="offline_configuration"> | ||
341 | <title>Offline Configuration</title> | ||
342 | |||
343 | <para>The Offline Configuration subsystem is used to pre-populate a | ||
344 | configuration for a device that will be brought under management at a | ||
345 | future point in time. When creating an offline configuration store, an | ||
346 | optional<literal> Device ID</literal> can be specified - this ID | ||
347 | uniquely identifies the device to be initialized.</para> | ||
348 | |||
349 | <para>Use the GUI (shown below) launched by the <literal>Applications | ||
350 | -> Offline Config -> Add</literal> menu:</para> | ||
351 | |||
352 | <figure> | ||
353 | <title>Onboard New VNF</title> | ||
354 | |||
355 | <mediaobject> | ||
356 | <imageobject> | ||
357 | <imagedata align="center" fileref="images/offline_config.png" | ||
358 | scale="80" /> | ||
359 | </imageobject> | ||
360 | </mediaobject> | ||
361 | </figure> | ||
362 | |||
363 | <para>Specify the exact value of the <literal>Device ID</literal> in | ||
364 | the required field. This will tag the device needed for the initial | ||
365 | configuration provided by the offline configuration store. Choose | ||
366 | <literal>Merge</literal> as the Default Upload Method if you do not | ||
367 | want any boot configuration set on the device, to be wiped out. | ||
368 | Selecting <literal>Replace</literal> will set the entire device | ||
369 | configuration to match values in the offline configuration.</para> | ||
370 | |||
371 | <para>After creating the Offline Config Store, access the device | ||
372 | through <literal> Applications -> offline config -> Config | ||
373 | App</literal> and provision it with the required initial | ||
374 | configuration. This operation mirrors what happens during regular | ||
375 | offline configuration.</para> | ||
376 | |||
377 | <para>Now that the store has been provisioned successfully, it is | ||
378 | ready to send this configuration to the device when it first comes | ||
379 | online.</para> | ||
380 | </section> | ||
381 | |||
382 | <section id="initial_communications"> | ||
383 | <title>Initial Communications</title> | ||
384 | |||
385 | <para>There are two possible paths to this process, depending upon | ||
386 | whether or not NETCONF Call-Home functionality is used:</para> | ||
387 | |||
388 | <orderedlist> | ||
389 | <listitem> | ||
390 | <para>If Call-Home is not enabled/supported, the uCPE Manager | ||
391 | creates a SSH session to the device over the port configured | ||
392 | through the <literal>Add Device </literal> process (default 830). | ||
393 | It then initiates NETCONF communications over this session.</para> | ||
394 | </listitem> | ||
395 | |||
396 | <listitem> | ||
397 | <para>If the device uses Call-Home, it creates a socket connection | ||
398 | to port 4334 on the management system which runs the uCPE Manager. | ||
399 | The uCPE Manager then creates a SSH session over this socket and | ||
400 | initiates NETCONF communications as a client.</para> | ||
401 | </listitem> | ||
402 | </orderedlist> | ||
403 | |||
404 | <para>Once communications with the device have been established, the | ||
405 | Device Manager will try and connect to it.</para> | ||
406 | </section> | ||
407 | </section> | ||
408 | </section> | ||
409 | |||
410 | <section id="vnf_management"> | ||
411 | <title>VNF Management</title> | ||
412 | |||
413 | <para>As the acting vnf manager, the uCPE Manager is responsible for | ||
414 | handling the life-cycles of VNFs that are instantiated and run on the | ||
415 | various uCPE devices. The vnf manager module is written so as to be able | ||
416 | to manage multiple VNF types. Along with it is provided a generic | ||
417 | infrastructure to allow the end-user to introduce new VNF types | ||
418 | dynamically into the system. This allows for third-party VNFs to be added | ||
419 | over time to an existing network infrastructure without having to perform | ||
420 | an expensive upgrade of the vnf manager itself.</para> | ||
421 | |||
422 | <para>The process of VNF Onboarding consists of providing the system with | ||
423 | sufficient information and resources related to the VNF such that it can | ||
424 | instantiate a flavour of the VNF on the uCPE device, configure and scale | ||
425 | it as appropriate, heal and upgrade it when necessary and tear it down at | ||
426 | the right moment.</para> | ||
427 | |||
428 | <para>The vnf manager subsystem in the uCPE Manager inserts a menu item in | ||
429 | the toolbar, called <literal>VNF</literal> as shown in the screen-shot | ||
430 | below.</para> | ||
431 | |||
432 | <figure> | ||
433 | <title>VNF Management</title> | ||
434 | |||
435 | <mediaobject> | ||
436 | <imageobject> | ||
437 | <imagedata align="center" fileref="images/vnf_management.png" | ||
438 | scale="80" /> | ||
439 | </imageobject> | ||
440 | </mediaobject> | ||
441 | </figure> | ||
442 | |||
443 | <para>Selecting this menu item gives you the following options:</para> | ||
444 | |||
445 | <itemizedlist> | ||
446 | <listitem> | ||
447 | <para><literal>Descriptors</literal>: Choosing this option lets you | ||
448 | manage the VNF Descriptors catalog. The vnf manager maintains a | ||
449 | catalog of all VNFs that can be instantiated and managed by the | ||
450 | system. Before you can use a new VNF, you need to onboard it into the | ||
451 | catalog.</para> | ||
452 | </listitem> | ||
453 | |||
454 | <listitem> | ||
455 | <para><literal>Instances</literal>: Choosing this option lets you | ||
456 | instantiate (or destroy) VNFs on a given uCPE device.</para> | ||
457 | </listitem> | ||
458 | |||
459 | <listitem> | ||
460 | <para><literal>Events</literal>: Choosing this option displays all the | ||
461 | events that are related to VNF lifecycle management. Whenever a VNF | ||
462 | state changes (i.e. it is | ||
463 | created/destroyed/stopped/started/paused/resumed), a state change | ||
464 | event is generated in the uCPE Manager. The screen shown when this | ||
465 | option is chosen displays all events in the system, filtered to show | ||
466 | only VNF state change notifications.</para> | ||
467 | </listitem> | ||
468 | </itemizedlist> | ||
469 | |||
470 | <section id="onboarding_a_vnf"> | ||
471 | <title>Onboarding a VNF</title> | ||
472 | |||
473 | <para>The VNF descriptor catalog table provides a button that allows you | ||
474 | to onboard a new (third-party) VNF into the catalog.</para> | ||
475 | |||
476 | <figure> | ||
477 | <title>Onboard New VNF</title> | ||
478 | |||
479 | <mediaobject> | ||
480 | <imageobject> | ||
481 | <imagedata align="center" | ||
482 | fileref="images/onboarding_a_new_vnf.png" scale="70" /> | ||
483 | </imageobject> | ||
484 | </mediaobject> | ||
485 | </figure> | ||
486 | |||
487 | <section id="onboarding_a_vnf_wizard"> | ||
488 | <title>Onboarding a VNF VM Image using the Onboarding Wizard</title> | ||
489 | |||
490 | <para><emphasis role="bold">How to onboard a VNF into the uCPE Manager | ||
491 | using the Onboarding Wizard</emphasis></para> | ||
492 | |||
493 | <orderedlist> | ||
494 | <listitem> | ||
495 | <para>Make sure the uCPE device is added and placed on the map in | ||
496 | the uCPE Manager.</para> | ||
497 | </listitem> | ||
498 | |||
499 | <listitem> | ||
500 | <para>Select from the top toolbar <literal>VNF</literal> -> | ||
501 | <literal>Descriptors.</literal></para> | ||
502 | </listitem> | ||
503 | |||
504 | <listitem> | ||
505 | <para>Click the <literal>On-board</literal> button.</para> | ||
506 | </listitem> | ||
507 | |||
508 | <listitem> | ||
509 | <para>When prompted by the following UI, make sure the <literal>VM | ||
510 | Image</literal> radio button is selected.</para> | ||
511 | </listitem> | ||
512 | </orderedlist> | ||
513 | |||
514 | <para>If you click the <literal>VM Image</literal> radio button at the | ||
515 | top of the onboarding screen, you will get a pop-up containing fields | ||
516 | which you can fill, suppling the necessary information about the VNF. | ||
517 | After providing the information and pressing the onboard button, the | ||
518 | uCPE Manager will create the VNF package and onboard it.</para> | ||
519 | |||
520 | <figure> | ||
521 | <title>Onboard a VNF using the Wizard</title> | ||
522 | |||
523 | <mediaobject> | ||
524 | <imageobject> | ||
525 | <imagedata align="center" | ||
526 | fileref="images/onboard_a_vnf_image.png" scale="70" /> | ||
527 | </imageobject> | ||
528 | </mediaobject> | ||
529 | </figure> | ||
530 | |||
531 | <para><emphasis role="bold">Main fields</emphasis></para> | ||
532 | |||
533 | <itemizedlist> | ||
534 | <listitem> | ||
535 | <para><emphasis role="bold">VM Image File.</emphasis> This is the | ||
536 | Virtual Machine image file for the VNF itself. Typically, it is a | ||
537 | QCOW image. Press <literal>Choose File</literal> and select the | ||
538 | image to be uploaded.</para> | ||
539 | </listitem> | ||
540 | |||
541 | <listitem> | ||
542 | <para><emphasis role="bold">Image Format</emphasis>. Select the | ||
543 | format which matches the image file.</para> | ||
544 | </listitem> | ||
545 | |||
546 | <listitem> | ||
547 | <para><emphasis role="bold">VNF Type Name.</emphasis> This is the | ||
548 | name that will be used to identify this VNF. It will be shown in | ||
549 | the VNF tables.</para> | ||
550 | </listitem> | ||
551 | |||
552 | <listitem> | ||
553 | <para><emphasis role="bold">Description.</emphasis> This field | ||
554 | contains any description you want to provide. It is only displayed | ||
555 | in the GUI tables in the uCPE Manager.</para> | ||
556 | </listitem> | ||
557 | |||
558 | <listitem> | ||
559 | <para><emphasis role="bold">Version</emphasis>. This is the | ||
560 | version of the current VNF that you are hosting. It's used to | ||
561 | distinguish this VNF from other versions of the same type.</para> | ||
562 | </listitem> | ||
563 | |||
564 | <listitem> | ||
565 | <para><emphasis role="bold">Memory in MB.</emphasis> This is the | ||
566 | amount of memory (in megabytes) that will be provided to this type | ||
567 | of VNF when it is instantiated. To determine the value for this | ||
568 | field, consult the VNF vendor.</para> | ||
569 | </listitem> | ||
570 | |||
571 | <listitem> | ||
572 | <para><emphasis role="bold">Num of CPUs.</emphasis> The number of | ||
573 | CPUs that will be dedicated to an instance of this VNF when | ||
574 | created. To determine the value for this field, consult the VNF | ||
575 | vendor.</para> | ||
576 | </listitem> | ||
577 | |||
578 | <listitem> | ||
579 | <para><emphasis role="bold">Storage in GB.</emphasis> How much | ||
580 | disk space to provide an instance of this VNF. To determine the | ||
581 | value for this field, consult the VNF vendor.</para> | ||
582 | </listitem> | ||
583 | </itemizedlist> | ||
584 | |||
585 | <para><emphasis role="bold">Interfaces Tab</emphasis></para> | ||
586 | |||
587 | <figure> | ||
588 | <title>Interfaces Table</title> | ||
589 | |||
590 | <mediaobject> | ||
591 | <imageobject> | ||
592 | <imagedata align="center" fileref="images/interfaces_table.png" | ||
593 | scale="70" /> | ||
594 | </imageobject> | ||
595 | </mediaobject> | ||
596 | </figure> | ||
597 | |||
598 | <para>Click on the <literal>Interfaces</literal> tab to show the | ||
599 | Interfaces table.</para> | ||
600 | |||
601 | <para>This table will contain the interfaces required by this VNF to | ||
602 | be configured, when creating an instance. Consult the VNF vendor to | ||
603 | determine which and how many are required. Each interface requires a | ||
604 | name, and optionally a description, used by the uCPE Manager | ||
605 | only.</para> | ||
606 | |||
607 | <para><emphasis role="bold">Cloud Init Tab</emphasis></para> | ||
608 | |||
609 | <para>Click the <literal>Clout Init</literal> tab to provide the | ||
610 | Clout-Init configuration.</para> | ||
611 | |||
612 | <figure> | ||
613 | <title>Cloud-Init Tab</title> | ||
614 | |||
615 | <mediaobject> | ||
616 | <imageobject> | ||
617 | <imagedata align="center" fileref="images/cloud_init_tab.png" | ||
618 | scale="70" /> | ||
619 | </imageobject> | ||
620 | </mediaobject> | ||
621 | </figure> | ||
622 | |||
623 | <para>As shown in the picture above, there are three fields that need | ||
624 | to be populated:</para> | ||
625 | |||
626 | <orderedlist> | ||
627 | <listitem> | ||
628 | <para><emphasis role="bold">Cloud-Init | ||
629 | Datasource</emphasis></para> | ||
630 | |||
631 | <para>To onboard the VNF you must specify the<literal> Cloud-Init | ||
632 | Datasource</literal> that the VNF uses. You can get this | ||
633 | information from the VNF Vendor. Choose one of the following | ||
634 | methods to specify the datasource:</para> | ||
635 | |||
636 | <itemizedlist> | ||
637 | <listitem> | ||
638 | <para><emphasis role="bold">None</emphasis>. If there is no | ||
639 | datasource.</para> | ||
640 | </listitem> | ||
641 | |||
642 | <listitem> | ||
643 | <para><emphasis role="bold">ConfigDrive</emphasis>. This | ||
644 | method allows you to provide any number of content-data files | ||
645 | containing Cloud-Init data.</para> | ||
646 | </listitem> | ||
647 | |||
648 | <listitem> | ||
649 | <para><emphasis role="bold">NoCloud</emphasis>. This is a | ||
650 | simpler method that uses only one cloud init file | ||
651 | (User-Data).</para> | ||
652 | </listitem> | ||
653 | |||
654 | <listitem> | ||
655 | <para><emphasis role="bold">ISO</emphasis>. Pre-cooked | ||
656 | cloud-init image. This image must be created by the user | ||
657 | according to VNF requirements.</para> | ||
658 | </listitem> | ||
659 | </itemizedlist> | ||
660 | </listitem> | ||
661 | |||
662 | <listitem> | ||
663 | <para><emphasis role="bold">Cloud-Init Disk Type</emphasis></para> | ||
664 | |||
665 | <para>The <literal>Cloud-Init Disk Type </literal>field must be | ||
666 | set to either <literal>Disk</literal>, or | ||
667 | <literal>CD-ROM</literal>, depending on what the VNF requires. You | ||
668 | can get this information from the VNF Vendor.</para> | ||
669 | </listitem> | ||
670 | |||
671 | <listitem> | ||
672 | <para><emphasis role="bold">Content Files Table</emphasis></para> | ||
673 | |||
674 | <para>The <literal>Content Files Table </literal>is ONLY used if | ||
675 | you choose <literal>ConfigDrive</literal> as the Cloud-Init | ||
676 | Datasource. For each content file added, you must provide a | ||
677 | <literal>Path</literal>. When a user uses the uCPE Manager to | ||
678 | create an instance of one of these VNFs, they will be prompted to | ||
679 | provide a data file for each entry in this table. Each type of VNF | ||
680 | will require different cloud-init files, e.g.: a license | ||
681 | file.</para> | ||
682 | </listitem> | ||
683 | </orderedlist> | ||
684 | |||
685 | <figure> | ||
686 | <title>Content Files Table example</title> | ||
687 | |||
688 | <mediaobject> | ||
689 | <imageobject> | ||
690 | <imagedata align="center" | ||
691 | fileref="images/content_files_table.png" scale="70" /> | ||
692 | </imageobject> | ||
693 | </mediaobject> | ||
694 | </figure> | ||
695 | |||
696 | <para>Consult with the VNF vendor to determine what is required for | ||
697 | the VNF you are onboarding.</para> | ||
698 | |||
699 | <para><emphasis role="bold">Properties Tab</emphasis></para> | ||
700 | |||
701 | <para>In this table, you can enter values for properties that will be | ||
702 | used during instantiation of the VNF. The values will augment the | ||
703 | default values in the Domain.XML file used by libvirt/virsh (running | ||
704 | in NFV Access) when creating an instance of the VNF. These property | ||
705 | names are well known to the uCPE NFV Access software, and more will be | ||
706 | added in future versions. You will need to consult with the VNF Vendor | ||
707 | or ENEA support for values needed by specific VNFs.</para> | ||
708 | |||
709 | <figure> | ||
710 | <title>Properties Tab</title> | ||
711 | |||
712 | <mediaobject> | ||
713 | <imageobject> | ||
714 | <imagedata align="center" fileref="images/properties_tab.png" | ||
715 | scale="70" /> | ||
716 | </imageobject> | ||
717 | </mediaobject> | ||
718 | </figure> | ||
719 | |||
720 | <para><emphasis role="bold">Property Values</emphasis></para> | ||
721 | |||
722 | <para><literal>numHugePages</literal> defines the number of huge | ||
723 | memory pages the VNF uses (for DPDK).</para> | ||
724 | </section> | ||
725 | </section> | ||
726 | |||
727 | <section id="instantiating_a_vnf"> | ||
728 | <title>Instantiating a VNF</title> | ||
729 | |||
730 | <para>Once the VNF has been onboarded, you can instantiate a VNF on a | ||
731 | specific uCPE device.</para> | ||
732 | |||
733 | <para><emphasis role="bold">How to instantiate a VNF using the | ||
734 | Wizard</emphasis></para> | ||
735 | |||
736 | <orderedlist> | ||
737 | <listitem> | ||
738 | <para>Make sure the uCPE device is added and placed on the map in | ||
739 | the uCPE Manager.</para> | ||
740 | </listitem> | ||
741 | |||
742 | <listitem> | ||
743 | <para>Make sure the VNF has been onboarded into the uCPE | ||
744 | Manager.</para> | ||
745 | </listitem> | ||
746 | |||
747 | <listitem> | ||
748 | <para>Select from the top toolbar <literal>VNF</literal> -> | ||
749 | <literal>Instances</literal></para> | ||
750 | </listitem> | ||
751 | |||
752 | <listitem> | ||
753 | <para>Click the <literal>Add</literal> button.</para> | ||
754 | </listitem> | ||
755 | |||
756 | <listitem> | ||
757 | <para>When prompted by the following UI, fill the required | ||
758 | fields.</para> | ||
759 | </listitem> | ||
760 | </orderedlist> | ||
761 | |||
762 | <figure> | ||
763 | <title>Instantiating a VNF</title> | ||
764 | |||
765 | <mediaobject> | ||
766 | <imageobject> | ||
767 | <imagedata align="center" fileref="images/instantiate_a_vnf.png" | ||
768 | scale="70" /> | ||
769 | </imageobject> | ||
770 | </mediaobject> | ||
771 | </figure> | ||
772 | |||
773 | <para>There are a number of parameters to be supplied before the VNF can | ||
774 | be instantiated:</para> | ||
775 | |||
776 | <itemizedlist> | ||
777 | <listitem> | ||
778 | <para><emphasis role="bold">Name</emphasis>. The name of the | ||
779 | VNF.</para> | ||
780 | </listitem> | ||
781 | |||
782 | <listitem> | ||
783 | <para><emphasis role="bold">VNF Type</emphasis>. The name of the | ||
784 | onboarded VNF. In this case <literal>VProbe</literal> VNF.</para> | ||
785 | </listitem> | ||
786 | |||
787 | <listitem> | ||
788 | <para><emphasis role="bold">Flavour</emphasis>. The flavour of VNF | ||
789 | (as specified in the descriptor) you would like to | ||
790 | instantiate.</para> | ||
791 | </listitem> | ||
792 | |||
793 | <listitem> | ||
794 | <para><emphasis role="bold">Device</emphasis>. The uCPE device on | ||
795 | which to instantiate a VNF, i.e. the uCPE device that will run this | ||
796 | VNF.</para> | ||
797 | </listitem> | ||
798 | |||
799 | <listitem> | ||
800 | <para><emphasis role="bold">Auto-start</emphasis>. If checked, the | ||
801 | VNF will be stopped and started when unreachable. When the device | ||
802 | reports that it has lost connection to the VNF, the uCPE Manager | ||
803 | will ask the device to terminate the VM and then start it up again. | ||
804 | If unchecked, only a <literal>Disconnected</literal> notification | ||
805 | will appear in the uCPE Manager.</para> | ||
806 | </listitem> | ||
807 | </itemizedlist> | ||
808 | |||
809 | <para>Hitting the <literal>Create</literal> button will cause the VNF to | ||
810 | be instantiated and run on the specified uCPE device.</para> | ||
811 | |||
812 | <para>Selecting the<literal> VNF -> Events</literal> menu will show | ||
813 | that the VNF was created and a connection was established:</para> | ||
814 | |||
815 | <figure> | ||
816 | <title>VNF Events menu</title> | ||
817 | |||
818 | <mediaobject> | ||
819 | <imageobject> | ||
820 | <imagedata align="center" fileref="images/instantiate_a_vnf4.png" | ||
821 | scale="70" /> | ||
822 | </imageobject> | ||
823 | </mediaobject> | ||
824 | </figure> | ||
825 | </section> | ||
826 | </section> | ||
63 | </chapter> | 827 | </chapter> |