diff options
| author | Sona Sarmadi <sona.sarmadi@enea.com> | 2019-02-22 12:58:38 +0100 |
|---|---|---|
| committer | Gerrit Code Review <gerrit2@sestogerrit02> | 2019-02-22 12:58:38 +0100 |
| commit | 5f875d9192c01d601469ddccc4da8f75133a0cdb (patch) | |
| tree | 7cdec1f0640bbe92be60ad71c5ec63fecc7c14f3 | |
| parent | 9865e9b206311f894c3f810bda7aed0a7ba1d6fb (diff) | |
| parent | acf5200a5c651f1bd4eb32e8363bd29133b0a6c7 (diff) | |
| download | nfv-access-documentation-5f875d9192c01d601469ddccc4da8f75133a0cdb.tar.gz | |
Merge "GettingStarted: updated VNF Mangagement section"
14 files changed, 503 insertions, 73 deletions
diff --git a/doc/book-enea-nfv-access-getting-started/doc/device_configuration_and_provisioning.xml b/doc/book-enea-nfv-access-getting-started/doc/device_configuration_and_provisioning.xml index 6115af0..d0e25b5 100644 --- a/doc/book-enea-nfv-access-getting-started/doc/device_configuration_and_provisioning.xml +++ b/doc/book-enea-nfv-access-getting-started/doc/device_configuration_and_provisioning.xml | |||
| @@ -199,13 +199,13 @@ | |||
| 199 | <title>PCI Passthrough Interface Type</title> | 199 | <title>PCI Passthrough Interface Type</title> |
| 200 | 200 | ||
| 201 | <para>For PCI Passthrough the user does not have to configure a physical | 201 | <para>For PCI Passthrough the user does not have to configure a physical |
| 202 | interface, instead simply select the PCI address and connect it to | 202 | interface, instead simply select the PCI address and connect it to a |
| 203 | virtual port at the VNF instantiation step.</para> | 203 | virtual port at the VNF instantiation step.</para> |
| 204 | </section> | 204 | </section> |
| 205 | </section> | 205 | </section> |
| 206 | 206 | ||
| 207 | <section id="vnf_onboarding"> | 207 | <section id="vnf_management"> |
| 208 | <title>VNF on-boarding</title> | 208 | <title>VNF Management</title> |
| 209 | 209 | ||
| 210 | <para>As the acting VNF Manager, the uCPE Manager is responsible for | 210 | <para>As the acting VNF Manager, the uCPE Manager is responsible for |
| 211 | handling the life-cycles of VNFs that are instantiated and run on the | 211 | handling the life-cycles of VNFs that are instantiated and run on the |
| @@ -222,45 +222,468 @@ | |||
| 222 | appropriate, heal and upgrade it when necessary and tear it down at the | 222 | appropriate, heal and upgrade it when necessary and tear it down at the |
| 223 | right moment.</para> | 223 | right moment.</para> |
| 224 | 224 | ||
| 225 | <para><emphasis role="bold">How to on-board a VNF</emphasis></para> | 225 | <para>The VNF Manager subsystem in the uCPE Manager inserts a menu item in |
| 226 | the toolbar, called <literal>VNF</literal> as shown in the screen-shot | ||
| 227 | below.</para> | ||
| 226 | 228 | ||
| 227 | <orderedlist> | 229 | <figure> |
| 230 | <title>VNF Management</title> | ||
| 231 | |||
| 232 | <mediaobject> | ||
| 233 | <imageobject> | ||
| 234 | <imagedata align="center" fileref="images/vnf_management.png" | ||
| 235 | scale="80" /> | ||
| 236 | </imageobject> | ||
| 237 | </mediaobject> | ||
| 238 | </figure> | ||
| 239 | |||
| 240 | <para>Selecting this menu item gives you the following options:</para> | ||
| 241 | |||
| 242 | <itemizedlist> | ||
| 228 | <listitem> | 243 | <listitem> |
| 229 | <para>To on-board a VNF, select a target device on the map and click | 244 | <para><literal>Descriptors</literal>: Choosing this option lets you |
| 230 | the VNF button in the top toolbar:</para> | 245 | manage the VNF Descriptors catalog. The VNF Manager maintains a |
| 246 | catalog of all VNFs that can be instantiated and managed by the | ||
| 247 | system. Before you can use a new VNF, you need to onboard it into the | ||
| 248 | catalog.</para> | ||
| 249 | </listitem> | ||
| 250 | |||
| 251 | <listitem> | ||
| 252 | <para><literal>Instances</literal>: Choosing this option lets you | ||
| 253 | instantiate (or destroy) VNFs on a given uCPE host (the | ||
| 254 | <literal>target</literal>). As part of instantiation, the appropriate | ||
| 255 | UI, which includes the UI provided by the | ||
| 256 | <literal>VnfGuiProcessor</literal> described in Section 6.2 is | ||
| 257 | displayed to the user to supply instantiation parameters.</para> | ||
| 258 | </listitem> | ||
| 259 | |||
| 260 | <listitem> | ||
| 261 | <para><literal>Events</literal>: Choosing this option displays all the | ||
| 262 | events that are related to VNF lifecycle management. Whenever a VNF | ||
| 263 | state changes (i.e. it is | ||
| 264 | created/destroyed/stopped/started/paused/resumed), a state change | ||
| 265 | event is generated in the uCPE Manager. The screen shown when this | ||
| 266 | option is chosen displays all events in the system, filtered to show | ||
| 267 | only VNF state change notifications.</para> | ||
| 268 | </listitem> | ||
| 269 | </itemizedlist> | ||
| 270 | |||
| 271 | <section id="onboarding_a_vnf"> | ||
| 272 | <title>Onboarding a VNF</title> | ||
| 273 | |||
| 274 | <para>The VNF descriptor catalog table provides a button that allows you | ||
| 275 | to onboard a new (third-party) VNF bundle into the catalog.</para> | ||
| 276 | |||
| 277 | <figure> | ||
| 278 | <title>Onboard New VNF</title> | ||
| 279 | |||
| 280 | <mediaobject> | ||
| 281 | <imageobject> | ||
| 282 | <imagedata align="center" | ||
| 283 | fileref="images/onboarding_a_new_vnf.png" scale="70" /> | ||
| 284 | </imageobject> | ||
| 285 | </mediaobject> | ||
| 286 | </figure> | ||
| 287 | |||
| 288 | <para>You can onboard using one of the following methods:</para> | ||
| 289 | |||
| 290 | <itemizedlist> | ||
| 291 | <listitem> | ||
| 292 | <para>Onboard a VNF Package.</para> | ||
| 293 | </listitem> | ||
| 294 | |||
| 295 | <listitem> | ||
| 296 | <para>Directly onboard a VNF VM Image (such as a QCOW) using the | ||
| 297 | onboarding wizard.</para> | ||
| 298 | </listitem> | ||
| 299 | </itemizedlist> | ||
| 300 | |||
| 301 | <section id="onboarding_a_bundled_vnf"> | ||
| 302 | <title>Onboarding a bundled VNF package</title> | ||
| 303 | |||
| 304 | <para><emphasis role="bold">How to onboard a VNF onto the uCPE | ||
| 305 | Manager</emphasis></para> | ||
| 306 | |||
| 307 | <orderedlist> | ||
| 308 | <listitem> | ||
| 309 | <para>Click the <literal>On-board</literal> button.</para> | ||
| 310 | </listitem> | ||
| 311 | |||
| 312 | <listitem> | ||
| 313 | <para>When prompted by the following UI, make sure the | ||
| 314 | <literal>VNF Package</literal> radio button is selected. </para> | ||
| 315 | </listitem> | ||
| 316 | |||
| 317 | <listitem> | ||
| 318 | <para> Click <literal>Choose File</literal> and choose the VNF | ||
| 319 | Package ZIP archive, e.g <literal>VProbe.zip</literal>, which | ||
| 320 | represents the VNF bundle. </para> | ||
| 321 | </listitem> | ||
| 322 | |||
| 323 | <listitem> | ||
| 324 | <para>Click <literal>Send</literal>.</para> | ||
| 325 | </listitem> | ||
| 326 | </orderedlist> | ||
| 231 | 327 | ||
| 232 | <figure> | 328 | <figure> |
| 233 | <title>Onboard New VNF</title> | 329 | <title>Onboarding a bundled VNF package</title> |
| 234 | 330 | ||
| 235 | <mediaobject> | 331 | <mediaobject> |
| 236 | <imageobject> | 332 | <imageobject> |
| 237 | <imagedata align="center" fileref="images/vnf_onboard.png" | 333 | <imagedata align="center" |
| 238 | scale="50" /> | 334 | fileref="images/onboard_a_vnf_send.png" scale="70" /> |
| 239 | </imageobject> | 335 | </imageobject> |
| 240 | </mediaobject> | 336 | </mediaobject> |
| 241 | </figure> | 337 | </figure> |
| 242 | </listitem> | ||
| 243 | 338 | ||
| 244 | <listitem> | 339 | <para>This will cause the VNF Manager to do the following: Upload the |
| 245 | <para>Click on the Descriptors -> On-board -> Browse options, | 340 | ZIP file and stage it in a temporary location. Unzip it and verify its |
| 246 | and select the VNF bundle file downloaded from the Enea portal (e.g. | 341 | contents. Extract the various components and stash them in the |
| 247 | ClavisterCosStream.zip), before pressing "Send".</para> | 342 | appropriate location(s) for use by the uCPE Manager, so that the VNF |
| 343 | can be treated by the uCPE Manager as a device. Then to add the VNF | ||
| 344 | descriptor to the VNF Descriptor Catalog.</para> | ||
| 248 | 345 | ||
| 249 | <para>Wait for the "Onboarding Status" popup to display the | 346 | <para>Once these operations are complete, you will be provided with a |
| 250 | confirmation message and select OK:</para> | 347 | success message.</para> |
| 348 | </section> | ||
| 349 | |||
| 350 | <section id="onboarding_a_bundled_vnf_wizard"> | ||
| 351 | <title>Onboarding a VNF VM Image using the Onboarding Wizard</title> | ||
| 352 | |||
| 353 | <para>If you click the <literal>VM Image</literal> radio button at the | ||
| 354 | top of the onboarding screen, you will get a pop-up containing fields | ||
| 355 | which you can fill, suppling the necessary information about the VNF. | ||
| 356 | After providing the information and pressing the onboard button, the | ||
| 357 | uCPE Manager will create the VNF package and onboard it.</para> | ||
| 251 | 358 | ||
| 252 | <figure> | 359 | <figure> |
| 253 | <title>VNF Manager</title> | 360 | <title>Onboard a VNF using the Wizard</title> |
| 254 | 361 | ||
| 255 | <mediaobject> | 362 | <mediaobject> |
| 256 | <imageobject> | 363 | <imageobject> |
| 257 | <imagedata align="center" fileref="images/vnf_manager.png" | 364 | <imagedata align="center" |
| 258 | scale="75" /> | 365 | fileref="images/onboard_a_vnf_image.png" scale="70" /> |
| 259 | </imageobject> | 366 | </imageobject> |
| 260 | </mediaobject> | 367 | </mediaobject> |
| 261 | </figure> | 368 | </figure> |
| 262 | </listitem> | 369 | |
| 263 | </orderedlist> | 370 | <para><emphasis role="bold">Main fields</emphasis></para> |
| 371 | |||
| 372 | <itemizedlist> | ||
| 373 | <listitem> | ||
| 374 | <para><emphasis role="bold">VM Image File.</emphasis> This is the | ||
| 375 | Virtual Machine image file for the VNF itself. Typically, it is a | ||
| 376 | QCOW image. Press <literal>Choose File</literal> and select the | ||
| 377 | image to be uploaded.</para> | ||
| 378 | </listitem> | ||
| 379 | |||
| 380 | <listitem> | ||
| 381 | <para><emphasis role="bold">Image Format</emphasis>. Select the | ||
| 382 | format which matches the image file.</para> | ||
| 383 | </listitem> | ||
| 384 | |||
| 385 | <listitem> | ||
| 386 | <para><emphasis role="bold">VNF Type Name.</emphasis> This is the | ||
| 387 | name that will be used to identify this VNF. It will be shown in | ||
| 388 | the VNF tables.</para> | ||
| 389 | </listitem> | ||
| 390 | |||
| 391 | <listitem> | ||
| 392 | <para><emphasis role="bold">Description.</emphasis> This field | ||
| 393 | contains any description you want to provide. It is only displayed | ||
| 394 | in the GUI tables in the uCPE Manager.</para> | ||
| 395 | </listitem> | ||
| 396 | |||
| 397 | <listitem> | ||
| 398 | <para><emphasis role="bold">Version</emphasis>. This is the | ||
| 399 | version of the current VNF that you are hosting. It's used to | ||
| 400 | distinguish this VNF from other versions of the same type.</para> | ||
| 401 | </listitem> | ||
| 402 | |||
| 403 | <listitem> | ||
| 404 | <para><emphasis role="bold">Memory in MB.</emphasis> This is the | ||
| 405 | amount of memory (in Megabytes) that will be provided to this type | ||
| 406 | of VNF when it is instantiated. To determine the value for this | ||
| 407 | field, consult the VNF vendor.</para> | ||
| 408 | </listitem> | ||
| 409 | |||
| 410 | <listitem> | ||
| 411 | <para><emphasis role="bold">Num of CPUs.</emphasis> The number of | ||
| 412 | CPUs that will be dedicated to an instance of this VNF when | ||
| 413 | created. To determine the value for this field, consult the VNF | ||
| 414 | vendor.</para> | ||
| 415 | </listitem> | ||
| 416 | |||
| 417 | <listitem> | ||
| 418 | <para><emphasis role="bold">Storage in GB.</emphasis> How much | ||
| 419 | disk space to provide an instance of this VNF. To determine the | ||
| 420 | value for this field, consult the VNF vendor.</para> | ||
| 421 | </listitem> | ||
| 422 | </itemizedlist> | ||
| 423 | |||
| 424 | <para><emphasis role="bold">Interfaces Table</emphasis></para> | ||
| 425 | |||
| 426 | <figure> | ||
| 427 | <title>Interfaces Table</title> | ||
| 428 | |||
| 429 | <mediaobject> | ||
| 430 | <imageobject> | ||
| 431 | <imagedata align="center" fileref="images/interfaces_table.png" | ||
| 432 | scale="70" /> | ||
| 433 | </imageobject> | ||
| 434 | </mediaobject> | ||
| 435 | </figure> | ||
| 436 | |||
| 437 | <para>Click on the <literal>Interfaces</literal> tab to show the | ||
| 438 | Interfaces table. </para> | ||
| 439 | |||
| 440 | <para>This table will contain the interfaces required by this VNF to | ||
| 441 | be configured, when creating an instance. Consult the VNF vendor to | ||
| 442 | determine which and how many are required. Each interface requires a | ||
| 443 | name, and optionally a description, used by the uCPE Manager | ||
| 444 | only.</para> | ||
| 445 | |||
| 446 | <para><emphasis role="bold">Cloud-Init Tab</emphasis></para> | ||
| 447 | |||
| 448 | <para>You must provide Clout-Init configuration for the VNF. Click the | ||
| 449 | <literal>Clout Init</literal> tab.</para> | ||
| 450 | |||
| 451 | <figure> | ||
| 452 | <title>Cloud-Init Tab</title> | ||
| 453 | |||
| 454 | <mediaobject> | ||
| 455 | <imageobject> | ||
| 456 | <imagedata align="center" fileref="images/cloud_init_tab.png" | ||
| 457 | scale="70" /> | ||
| 458 | </imageobject> | ||
| 459 | </mediaobject> | ||
| 460 | </figure> | ||
| 461 | |||
| 462 | <para>Shown in the picture above are three fields that need to be populated: | ||
| 463 | Cloud-Init Datasource, Cloud-Init Disk Type and the Content Files Table.</para> | ||
| 464 | |||
| 465 | <para>To onboard the VNF you must specify the Cloud-Init datasource that the VNF | ||
| 466 | uses. You can get this information from the VNF Vendor. Choose one of the following | ||
| 467 | methods to specify the datasource:</para> | ||
| 468 | |||
| 469 | <itemizedlist> | ||
| 470 | <listitem> | ||
| 471 | <para><emphasis role="bold">ConfigDrive</emphasis>. This method allows you to provide | ||
| 472 | any number of content-data files containing Cloud-Init data.</para></listitem> | ||
| 473 | <listitem> | ||
| 474 | |||
| 475 | <para><emphasis role="bold">NoCloud</emphasis>. This is a simpler method that uses only | ||
| 476 | one cloud init file (User-Data).</para></listitem> | ||
| 477 | </itemizedlist> | ||
| 478 | |||
| 479 | <para>The Cloud-Init Disk Type field must be set to either <literal>Disk</literal>, | ||
| 480 | or <literal>CD ROM</literal>, depending on what the VNF requires. You can get this | ||
| 481 | information from the VNF Vendor.</para> | ||
| 482 | |||
| 483 | <para>The Content Files Table is used ONLY if you chose <literal>ConfigDrive</literal> | ||
| 484 | as the Cloud-Init Datasource. For each content file added, you must provide a | ||
| 485 | <literal>Path</literal>. When a user uses the uCPE Manager to create an instance | ||
| 486 | of one of these VNFs, they will be prompted to provide a data file for each entry | ||
| 487 | in this table. Each type of VNF will require different cloud-init files, e.g.: | ||
| 488 | a license file.</para> | ||
| 489 | |||
| 490 | <para>Consult with the VNF vendor to determine what is required for the VNF you | ||
| 491 | are onboarding.</para> | ||
| 492 | |||
| 493 | <figure> | ||
| 494 | <title>Content Files Table example</title> | ||
| 495 | |||
| 496 | <mediaobject> | ||
| 497 | <imageobject> | ||
| 498 | <imagedata align="center" | ||
| 499 | fileref="images/content_files_table.png" scale="70" /> | ||
| 500 | </imageobject> | ||
| 501 | </mediaobject> | ||
| 502 | </figure> | ||
| 503 | |||
| 504 | <para><emphasis role="bold">Properties Tab</emphasis></para> | ||
| 505 | |||
| 506 | <para>In this table, you can enter values for properties that will be | ||
| 507 | used during instantiation of the VNF. The values will augment the default | ||
| 508 | values in the Domain.XML file used by libvert/virsh (running in NFV Access) | ||
| 509 | when creating an instance of the VNF. | ||
| 510 | These property names are well known to the uCPE NFV Access | ||
| 511 | software, and more will be added in future versions. You will need to | ||
| 512 | consult with the VNF Vendor or ENEA support for values needed by | ||
| 513 | specific VNFs.</para> | ||
| 514 | |||
| 515 | <figure> | ||
| 516 | <title>Properties Tab</title> | ||
| 517 | |||
| 518 | <mediaobject> | ||
| 519 | <imageobject> | ||
| 520 | <imagedata align="center" fileref="images/properties_tab.png" | ||
| 521 | scale="70" /> | ||
| 522 | </imageobject> | ||
| 523 | </mediaobject> | ||
| 524 | </figure> | ||
| 525 | |||
| 526 | <para><emphasis role="bold">Property Values</emphasis></para> | ||
| 527 | |||
| 528 | <para><literal>numHugePages</literal> defines the number of huge | ||
| 529 | memory pages the VNF uses (for DPDK). Needed for Clavister COS | ||
| 530 | Stream.</para> | ||
| 531 | </section> | ||
| 532 | </section> | ||
| 533 | |||
| 534 | <section id="instantiating_a_vnf"> | ||
| 535 | <title>Instantiating a VNF</title> | ||
| 536 | |||
| 537 | <para>Once the VNF bundle has been onboarded, you can instantiate a | ||
| 538 | VNF on a specific uCPE host:</para> | ||
| 539 | |||
| 540 | <para>Launch the <literal>VNF instance</literal> table by choosing the | ||
| 541 | <literal>Instances</literal> option from the <literal>VNF</literal> menu. | ||
| 542 | This will display the table of VNF instances controlled by the VNF Manager. | ||
| 543 | Hit the <literal>Add</literal> button to create a new instance, as shown below:</para> | ||
| 544 | |||
| 545 | <figure> | ||
| 546 | <title>Instantiating a VNF</title> | ||
| 547 | |||
| 548 | <mediaobject> | ||
| 549 | <imageobject> | ||
| 550 | <imagedata align="center" fileref="images/instantiate_a_vnf.png" | ||
| 551 | scale="70" /> | ||
| 552 | </imageobject> | ||
| 553 | </mediaobject> | ||
| 554 | </figure> | ||
| 555 | |||
| 556 | <para>There are a number of parameters to be supplied before the VNF can | ||
| 557 | be instantiated:</para> | ||
| 558 | |||
| 559 | <itemizedlist> | ||
| 560 | <listitem> | ||
| 561 | <para><emphasis role="bold">VNF Type</emphasis>. The | ||
| 562 | <literal>VProbe</literal> VNF, in this case.</para> | ||
| 563 | </listitem> | ||
| 564 | |||
| 565 | <listitem> | ||
| 566 | <para><emphasis role="bold">VIM</emphasis>. This stands for <literal> | ||
| 567 | Virtual Infrastructure Manager</literal>, the target host on which to | ||
| 568 | instantiate a VNF, i.e. the target uCPE host that will run this VNF.</para> | ||
| 569 | |||
| 570 | </listitem> | ||
| 571 | |||
| 572 | <listitem> | ||
| 573 | <para><emphasis role="bold">Name</emphasis>. The name of the | ||
| 574 | VNF.</para> | ||
| 575 | </listitem> | ||
| 576 | |||
| 577 | <listitem> | ||
| 578 | <para><emphasis role="bold">VNF Flavor</emphasis>. The flavor of VNF | ||
| 579 | (as specified in the descriptor) you would like to | ||
| 580 | instantiate.</para> | ||
| 581 | </listitem> | ||
| 582 | |||
| 583 | <listitem> | ||
| 584 | <para><emphasis role="bold">Device Name</emphasis>. The name by | ||
| 585 | which the VNF will be known in the uCPE Manager, if the <literal>Manage | ||
| 586 | Device</literal> checkbox is checked. If unchecked, the VNF will not | ||
| 587 | be shown as a managed device in the uCPE Manager.</para> | ||
| 588 | </listitem> | ||
| 589 | |||
| 590 | <listitem> | ||
| 591 | <para><emphasis role="bold">Instantiation Parameters</emphasis>. | ||
| 592 | This section contains all the parameters a user needs to supply when | ||
| 593 | instantiating a VNF of this type. The <literal>VProbe</literal> VNF | ||
| 594 | needs to specify network information (network name and IP address) | ||
| 595 | for two separate interfaces (enp0s9 and enp0s10 respectively). Every | ||
| 596 | VNF type will have a different UI section here. This section is | ||
| 597 | populated by the <literal>getInstanceGui()</literal> method in the | ||
| 598 | <literal>VnfGuiProcessorIf</literal> | ||
| 599 | interface, see Section 6.1 to understand exactly how the VProbe | ||
| 600 | method causes the above GUI section to be displayed.</para> | ||
| 601 | </listitem> | ||
| 602 | |||
| 603 | <listitem> | ||
| 604 | <para><emphasis role="bold">Auto-start</emphasis>. If checked, the | ||
| 605 | VNF will be stopped and started when unreachable. When the VIM | ||
| 606 | reports that it has lost connection to the VNF, the uCPE Manager will | ||
| 607 | ask the VIM to terminate the VM and then start it up again. | ||
| 608 | If unchecked, only a <literal>Disconnected</literal> notification will | ||
| 609 | appear in the uCPE Manager.</para> | ||
| 610 | </listitem> | ||
| 611 | </itemizedlist> | ||
| 612 | |||
| 613 | <para>Hitting the <literal>Create</literal> button will cause the VNF to | ||
| 614 | be instantiated and run on the uCPE target specified above. The | ||
| 615 | following operations will now take place:</para> | ||
| 616 | |||
| 617 | <orderedlist> | ||
| 618 | <listitem> | ||
| 619 | <para>Check if the uCPE already has the VNF Flavor definition in its | ||
| 620 | flavor store; if not create a new Flavor definition on the | ||
| 621 | uCPE.</para> | ||
| 622 | </listitem> | ||
| 623 | |||
| 624 | <listitem> | ||
| 625 | <para>Check if the uCPE already has the VNF image in its image | ||
| 626 | store; if not, upload the image and create a new Image definition on | ||
| 627 | the uCPE.</para> | ||
| 628 | </listitem> | ||
| 629 | |||
| 630 | <listitem> | ||
| 631 | <para>Take in the user parameters and create the following:</para> | ||
| 632 | |||
| 633 | <itemizedlist> | ||
| 634 | <listitem> | ||
| 635 | <para><emphasis role="bold">Networking information.</emphasis> | ||
| 636 | Use the <literal>VnfGuiProcessorIf | ||
| 637 | </literal>class<literal> getConnectionInfo()</literal> method to | ||
| 638 | convert user parameters into networking information objects | ||
| 639 | (refer to Section 6.1 for the <literal>VProbe</literal> | ||
| 640 | VNF).</para> | ||
| 641 | </listitem> | ||
| 642 | </itemizedlist> | ||
| 643 | |||
| 644 | <itemizedlist> | ||
| 645 | <listitem> | ||
| 646 | <para><emphasis role="bold">Cloud-init.</emphasis> | ||
| 647 | Use generic VNF instance information in | ||
| 648 | conjunction with the networking information objects from | ||
| 649 | above and invoke the <literal>getCloudInitData()</literal> method on the | ||
| 650 | <literal>VnfProcessorIf</literal> class (refer to Section 6.2 for how this is done | ||
| 651 | for the <literal>VProbe</literal> VNF). The cloud-init data is | ||
| 652 | the script that will be executed by the VNF when it starts up | ||
| 653 | for the first time only. It is responsible for setting up the | ||
| 654 | initial system configuration to what is required by the VNF to | ||
| 655 | run correctly, setting up the network interfaces, static IP | ||
| 656 | addresses, etc.</para> | ||
| 657 | </listitem> | ||
| 658 | </itemizedlist> | ||
| 659 | </listitem> | ||
| 660 | |||
| 661 | <listitem> | ||
| 662 | <para>Make the uCPE create the VNF with the specified image, | ||
| 663 | flavor and cloud-init data via a NETCONF request and waits for it to | ||
| 664 | be created and started up.</para> | ||
| 665 | </listitem> | ||
| 666 | |||
| 667 | <listitem> | ||
| 668 | <para>If successful, optionally add the newly created VNF as a | ||
| 669 | device in the uCPE Manager.</para> | ||
| 670 | </listitem> | ||
| 671 | </orderedlist> | ||
| 672 | |||
| 673 | <para>Selecting the<literal> VNF -> Events</literal> menu will show | ||
| 674 | that the VNF was created and a connection was established:</para> | ||
| 675 | |||
| 676 | <figure> | ||
| 677 | <title>VNF Events menu</title> | ||
| 678 | |||
| 679 | <mediaobject> | ||
| 680 | <imageobject> | ||
| 681 | <imagedata align="center" fileref="images/instantiate_a_vnf4.png" | ||
| 682 | scale="70" /> | ||
| 683 | </imageobject> | ||
| 684 | </mediaobject> | ||
| 685 | </figure> | ||
| 686 | </section> | ||
| 264 | </section> | 687 | </section> |
| 265 | 688 | ||
| 266 | <section id="zero_touch_prov"> | 689 | <section id="zero_touch_prov"> |
| @@ -273,13 +696,13 @@ | |||
| 273 | without additional manual intervention by an operator.</para> | 696 | without additional manual intervention by an operator.</para> |
| 274 | 697 | ||
| 275 | <para>A variety of operations can occur as part of ZTP such as initial | 698 | <para>A variety of operations can occur as part of ZTP such as initial |
| 276 | device setup, configuration of managed objects, etc. The goal is to set | 699 | device setup, configuration of managed objects, etc. The goal is to set up |
| 277 | up a device to the maximum possible extent without forcing an operator | 700 | a device to the maximum possible extent without forcing an operator to be |
| 278 | to be physically present (initially) to manage the device.</para> | 701 | physically present (initially) to manage the device.</para> |
| 279 | 702 | ||
| 280 | <para>In order to create a static configuration supporting ZTP, the uCPE | 703 | <para>In order to create a static configuration supporting ZTP, the uCPE |
| 281 | Manager user needs to identify the <literal>Device ID</literal> of the machine running NFV | 704 | Manager user needs to identify the <literal>Device ID</literal> of the |
| 282 | Access.</para> | 705 | machine running NFV Access.</para> |
| 283 | 706 | ||
| 284 | <para>During the automatic installation process when the | 707 | <para>During the automatic installation process when the |
| 285 | <literal>Automatic install</literal> step is reached, enter the option | 708 | <literal>Automatic install</literal> step is reached, enter the option |
| @@ -288,7 +711,7 @@ | |||
| 288 | linkend="install_ena_stick" />, step 7 for how to set the uCPE Manager IP | 711 | linkend="install_ena_stick" />, step 7 for how to set the uCPE Manager IP |
| 289 | address at boot time. The Device ID will be listed in the installer under | 712 | address at boot time. The Device ID will be listed in the installer under |
| 290 | the <literal>Customize kernel parameters</literal> menu.</para> | 713 | the <literal>Customize kernel parameters</literal> menu.</para> |
| 291 | 714 | ||
| 292 | <para>With the address parameter set, run | 715 | <para>With the address parameter set, run |
| 293 | <literal>list_deviceID.sh</literal> after NFV Access is installed and | 716 | <literal>list_deviceID.sh</literal> after NFV Access is installed and |
| 294 | booted, to get the device ID of the target.</para> | 717 | booted, to get the device ID of the target.</para> |
| @@ -309,9 +732,9 @@ | |||
| 309 | <section id="adding_a_device"> | 732 | <section id="adding_a_device"> |
| 310 | <title>Adding a Device</title> | 733 | <title>Adding a Device</title> |
| 311 | 734 | ||
| 312 | <para>The uCPE Manager must be configured to bring the target device under | 735 | <para>The uCPE Manager must be configured to bring the target device |
| 313 | management. This is done by using the <literal>Devices -> Manage | 736 | under management. This is done by using the <literal>Devices -> |
| 314 | -> Add</literal> menu:</para> | 737 | Manage -> Add</literal> menu:</para> |
| 315 | 738 | ||
| 316 | <figure> | 739 | <figure> |
| 317 | <title>Adding a Device</title> | 740 | <title>Adding a Device</title> |
| @@ -328,62 +751,67 @@ | |||
| 328 | 751 | ||
| 329 | <itemizedlist> | 752 | <itemizedlist> |
| 330 | <listitem> | 753 | <listitem> |
| 331 | <para>Type. The type of device to be added, i.e <literal>Enea universal uCPE | 754 | <para>Type. The type of device to be added, i.e <literal>Enea |
| 332 | </literal>.</para> | 755 | universal uCPE </literal>.</para> |
| 333 | </listitem> | 756 | </listitem> |
| 334 | </itemizedlist> | 757 | </itemizedlist> |
| 335 | 758 | ||
| 336 | <itemizedlist> | 759 | <itemizedlist> |
| 337 | <listitem> | 760 | <listitem> |
| 338 | <para>Name. The name by which the device is referred to in the uCPE Manager.</para> | 761 | <para>Name. The name by which the device is referred to in the uCPE |
| 762 | Manager.</para> | ||
| 339 | </listitem> | 763 | </listitem> |
| 340 | </itemizedlist> | 764 | </itemizedlist> |
| 341 | 765 | ||
| 342 | <itemizedlist> | 766 | <itemizedlist> |
| 343 | <listitem> | 767 | <listitem> |
| 344 | <para>IP Address. IP address of the device. If a device is installed under a | 768 | <para>IP Address. IP address of the device. If a device is installed |
| 345 | local/private network and not directly visible to the uCPE Manager machine, the | 769 | under a local/private network and not directly visible to the uCPE |
| 346 | Gateway IP of the private network must be used.</para> | 770 | Manager machine, the Gateway IP of the private network must be |
| 771 | used.</para> | ||
| 347 | </listitem> | 772 | </listitem> |
| 348 | </itemizedlist> | 773 | </itemizedlist> |
| 349 | 774 | ||
| 350 | <itemizedlist> | 775 | <itemizedlist> |
| 351 | <listitem> | 776 | <listitem> |
| 352 | <para>SSH Port. The NETCONF Port used for communications. This is a relevant | 777 | <para>SSH Port. The NETCONF Port used for communications. This is a |
| 353 | parameter if the standard NETCONF SSH (i.e. not Call-Home) is being used. Default | 778 | relevant parameter if the standard NETCONF SSH (i.e. not Call-Home) |
| 354 | is set to 22.</para> | 779 | is being used. Default is set to 22.</para> |
| 355 | </listitem> | 780 | </listitem> |
| 356 | </itemizedlist> | 781 | </itemizedlist> |
| 357 | 782 | ||
| 358 | <itemizedlist> | 783 | <itemizedlist> |
| 359 | <listitem> | 784 | <listitem> |
| 360 | <para>SSH User Name. The user name for SSH connectivity. Default user is | 785 | <para>SSH User Name. The user name for SSH connectivity. Default |
| 361 | <literal>root</literal>.</para> | 786 | user is <literal>root</literal>.</para> |
| 362 | </listitem> | 787 | </listitem> |
| 363 | </itemizedlist> | 788 | </itemizedlist> |
| 364 | 789 | ||
| 365 | <itemizedlist> | 790 | <itemizedlist> |
| 366 | <listitem> | 791 | <listitem> |
| 367 | <para>SSH Password/Private Key/Passphrase. The Authentication Credentials, use | 792 | <para>SSH Password/Private Key/Passphrase. The Authentication |
| 368 | one of the aforementioned as appropriate. Default password is empty.</para> | 793 | Credentials, use one of the aforementioned as appropriate. Default |
| 794 | password is empty.</para> | ||
| 369 | </listitem> | 795 | </listitem> |
| 370 | </itemizedlist> | 796 | </itemizedlist> |
| 371 | 797 | ||
| 372 | <itemizedlist> | 798 | <itemizedlist> |
| 373 | <listitem> | 799 | <listitem> |
| 374 | <para>Device Calls Home. This checkbox indicates the direction of device | 800 | <para>Device Calls Home. This checkbox indicates the direction of |
| 375 | communications. When cleared, the uCPE Manager will initiate a connection to | 801 | device communications. When cleared, the uCPE Manager will initiate |
| 376 | the device. When checked, the device will initiate a connection by opening a | 802 | a connection to the device. When checked, the device will initiate a |
| 377 | socket to the uCPE Manager for NETCONF traffic (over SSH), while the uCPE | 803 | connection by opening a socket to the uCPE Manager for NETCONF |
| 378 | Manager waits for device connection.</para> | 804 | traffic (over SSH), while the uCPE Manager waits for device |
| 805 | connection.</para> | ||
| 379 | </listitem> | 806 | </listitem> |
| 380 | </itemizedlist> | 807 | </itemizedlist> |
| 381 | 808 | ||
| 382 | <itemizedlist> | 809 | <itemizedlist> |
| 383 | <listitem> | 810 | <listitem> |
| 384 | <para>Device ID. The unique instance ID of the device. This is what links a | 811 | <para>Device ID. The unique instance ID of the device. This is what |
| 385 | device to its day-0 configuration (stored in the offline configuration system). | 812 | links a device to its day-0 configuration (stored in the offline |
| 386 | It is a required field if you want to perform Zero-Touch Provisioning.</para> | 813 | configuration system). It is a required field if you want to perform |
| 814 | Zero-Touch Provisioning.</para> | ||
| 387 | </listitem> | 815 | </listitem> |
| 388 | </itemizedlist> | 816 | </itemizedlist> |
| 389 | </section> | 817 | </section> |
| @@ -413,19 +841,21 @@ | |||
| 413 | </figure> | 841 | </figure> |
| 414 | 842 | ||
| 415 | <para>Specify the exact value of the <literal>Device ID</literal> in the | 843 | <para>Specify the exact value of the <literal>Device ID</literal> in the |
| 416 | required field. This will tag the device needed for the initial configuration | 844 | required field. This will tag the device needed for the initial |
| 417 | provided by the offline configuration store. Choose <literal>Merge</literal> as | 845 | configuration provided by the offline configuration store. Choose |
| 418 | the Default Upload Method if you do not want any boot configuration set on the | 846 | <literal>Merge</literal> as the Default Upload Method if you do not want |
| 419 | device, to be wiped out. Selecting <literal>Replace</literal> will set the | 847 | any boot configuration set on the device, to be wiped out. Selecting |
| 420 | entire device configuration to match values in the offline configuration.</para> | 848 | <literal>Replace</literal> will set the entire device configuration to |
| 421 | 849 | match values in the offline configuration.</para> | |
| 422 | <para>After creating the Offline Config Store, access the device through <literal> | 850 | |
| 423 | Applications -> offline config -> Config App</literal> and provision it with the | 851 | <para>After creating the Offline Config Store, access the device through |
| 424 | required initial configuration. This operation mirrors what happens during regular | 852 | <literal> Applications -> offline config -> Config App</literal> |
| 425 | offline configuration.</para> | 853 | and provision it with the required initial configuration. This operation |
| 426 | 854 | mirrors what happens during regular offline configuration.</para> | |
| 427 | <para>Now that the store has been provisioned successfully, it is ready to send | 855 | |
| 428 | this configuration to the device when it first comes online.</para> | 856 | <para>Now that the store has been provisioned successfully, it is ready |
| 857 | to send this configuration to the device when it first comes | ||
| 858 | online.</para> | ||
| 429 | </section> | 859 | </section> |
| 430 | 860 | ||
| 431 | <section id="initial_communications"> | 861 | <section id="initial_communications"> |
| @@ -436,17 +866,17 @@ | |||
| 436 | 866 | ||
| 437 | <orderedlist> | 867 | <orderedlist> |
| 438 | <listitem> | 868 | <listitem> |
| 439 | <para>If Call-Home is not enabled/supported, the uCPE Manager creates a SSH | 869 | <para>If Call-Home is not enabled/supported, the uCPE Manager |
| 440 | session to the device over the port configured through the <literal>Add Device | 870 | creates a SSH session to the device over the port configured through |
| 441 | </literal> process (default 830). It then initiates NETCONF communications over | 871 | the <literal>Add Device </literal> process (default 830). It then |
| 442 | this session.</para> | 872 | initiates NETCONF communications over this session.</para> |
| 443 | </listitem> | 873 | </listitem> |
| 444 | 874 | ||
| 445 | <listitem> | 875 | <listitem> |
| 446 | <para>If the device uses Call-Home, it creates a socket connection to port 4334 | 876 | <para>If the device uses Call-Home, it creates a socket connection |
| 447 | on the management system which runs the uCPE Manager. The uCPE Manager then | 877 | to port 4334 on the management system which runs the uCPE Manager. |
| 448 | creates a SSH session over this socket and initiates NETCONF communications as | 878 | The uCPE Manager then creates a SSH session over this socket and |
| 449 | a client.</para> | 879 | initiates NETCONF communications as a client.</para> |
| 450 | </listitem> | 880 | </listitem> |
| 451 | </orderedlist> | 881 | </orderedlist> |
| 452 | 882 | ||
diff --git a/doc/book-enea-nfv-access-getting-started/doc/images/cloud_init_tab.png b/doc/book-enea-nfv-access-getting-started/doc/images/cloud_init_tab.png new file mode 100755 index 0000000..df964a8 --- /dev/null +++ b/doc/book-enea-nfv-access-getting-started/doc/images/cloud_init_tab.png | |||
| Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-getting-started/doc/images/content_files_table.png b/doc/book-enea-nfv-access-getting-started/doc/images/content_files_table.png new file mode 100755 index 0000000..b5f3466 --- /dev/null +++ b/doc/book-enea-nfv-access-getting-started/doc/images/content_files_table.png | |||
| Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-getting-started/doc/images/instantiate_a_vnf.png b/doc/book-enea-nfv-access-getting-started/doc/images/instantiate_a_vnf.png new file mode 100755 index 0000000..41165e4 --- /dev/null +++ b/doc/book-enea-nfv-access-getting-started/doc/images/instantiate_a_vnf.png | |||
| Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-getting-started/doc/images/instantiate_a_vnf4.png b/doc/book-enea-nfv-access-getting-started/doc/images/instantiate_a_vnf4.png new file mode 100755 index 0000000..ec82bbc --- /dev/null +++ b/doc/book-enea-nfv-access-getting-started/doc/images/instantiate_a_vnf4.png | |||
| Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-getting-started/doc/images/interfaces_table.png b/doc/book-enea-nfv-access-getting-started/doc/images/interfaces_table.png new file mode 100755 index 0000000..51eef4e --- /dev/null +++ b/doc/book-enea-nfv-access-getting-started/doc/images/interfaces_table.png | |||
| Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-getting-started/doc/images/onboard_a_vnf_image.png b/doc/book-enea-nfv-access-getting-started/doc/images/onboard_a_vnf_image.png new file mode 100755 index 0000000..8df385e --- /dev/null +++ b/doc/book-enea-nfv-access-getting-started/doc/images/onboard_a_vnf_image.png | |||
| Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-getting-started/doc/images/onboard_a_vnf_send.png b/doc/book-enea-nfv-access-getting-started/doc/images/onboard_a_vnf_send.png new file mode 100755 index 0000000..b49f293 --- /dev/null +++ b/doc/book-enea-nfv-access-getting-started/doc/images/onboard_a_vnf_send.png | |||
| Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-getting-started/doc/images/onboarding_a_new_vnf.png b/doc/book-enea-nfv-access-getting-started/doc/images/onboarding_a_new_vnf.png new file mode 100755 index 0000000..0f3033f --- /dev/null +++ b/doc/book-enea-nfv-access-getting-started/doc/images/onboarding_a_new_vnf.png | |||
| Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-getting-started/doc/images/onboarding_vnf.png b/doc/book-enea-nfv-access-getting-started/doc/images/onboarding_vnf.png deleted file mode 100755 index 72b59bc..0000000 --- a/doc/book-enea-nfv-access-getting-started/doc/images/onboarding_vnf.png +++ /dev/null | |||
| Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-getting-started/doc/images/properties_tab.png b/doc/book-enea-nfv-access-getting-started/doc/images/properties_tab.png new file mode 100755 index 0000000..55de421 --- /dev/null +++ b/doc/book-enea-nfv-access-getting-started/doc/images/properties_tab.png | |||
| Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-getting-started/doc/images/vnf_management.png b/doc/book-enea-nfv-access-getting-started/doc/images/vnf_management.png new file mode 100755 index 0000000..c08ded0 --- /dev/null +++ b/doc/book-enea-nfv-access-getting-started/doc/images/vnf_management.png | |||
| Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-getting-started/doc/images/vnf_manager.png b/doc/book-enea-nfv-access-getting-started/doc/images/vnf_manager.png deleted file mode 100755 index 8adb954..0000000 --- a/doc/book-enea-nfv-access-getting-started/doc/images/vnf_manager.png +++ /dev/null | |||
| Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-getting-started/doc/images/vnf_onboard.png b/doc/book-enea-nfv-access-getting-started/doc/images/vnf_onboard.png deleted file mode 100755 index 72b59bc..0000000 --- a/doc/book-enea-nfv-access-getting-started/doc/images/vnf_onboard.png +++ /dev/null | |||
| Binary files differ | |||
