4 Working with Network Services, VNFs, VDUs, and PNFs

This chapter provides information about working with network services, Virtual Network Functions (VNFs), Virtual Deployment Units (VDUs), and Physical Network Functions (PNFs) in Oracle Communications Unified Inventory Management NFV Orchestration.

To work with network services, VNFs, VDUs, and PNFs in NFV Orchestration, you can use either the UIM user interface or the REST APIs. See UIM Help for instructions about performing tasks using the user interface.

When you use REST APIs, you use a REST API client and provide values for the required parameters in the API request. The values and the parameters are defined in the network service and VNF descriptor files that you created in Design Studio. See "NFV Orchestration RESTful API Reference" for details about the REST APIs that you can use to perform various tasks.

You perform the following tasks related to network services, VNFs, and PNFs:

Note:

Based on the configurations that the VNFs in the network service require, some VNF life cycle operations may take some time to complete. In UIM and in your VIM, the resources may not be created, deleted, or updated immediately after you send the API request or complete the operation using the user interface.

Instantiating Network Services

You instantiate a network service to start a VNF on the network. A network service can have multiple VNFs that are connected to each other. When you instantiate a network service that has multiple VNFs, all the VNFs in the network service are started on the network. You can also include PNFs in your network services. See "Working with PNFs in Network Services" for information about including PNFs in network services.

Before you instantiate a network service, ensure that your VIM is registered and the data center resources that your VIM manages are discovered. If you use multiple VIMs, register all your VIMs and discover the resources that the VIMs manage. See "Discovering VIM Resources" for information about discovering VIM resources.

If you use multiple VIMs to instantiate your network services, do the following:

  • In UIM, create an Inventory Group entity and associate the VDC custom object that was generated during the discovery of VIM resources to the inventory group. See UIM Help for instructions.

  • Create a ServiceLocation entity based on the Place specification and associate it to the Inventory Group entity.

  • When you instantiate a network service, specify the service location of the VDC in which you want to instantiate the network service.

After you instantiate a network service, verify the following in UIM:

  • The network service and its configurations are created and are in In Service status. You can see this in the Network Service Summary page of the network service.

  • The VNF service and its configurations are created and associated to the network service.

  • The VNFs and their constituent VDUs, which are represented as logical devices, are created.

  • The PNFs, which are represented as logical devices, are created.

  • The specified networks are either created or referenced.

  • The details of the endpoints are updated in the service configuration.

In your VIM, verify the following:

  • The VDU instances of the VNFs are up and running.

  • The specified networks are either created or referenced.

  • The VDUs are linked to the networks.

Based on the configurations you defined in the network service and the VNF and PNF descriptor files, NFV Orchestration does the following tasks during the instantiation of a network service:

  • Finds the best suitable data center for the network service from among the data centers that you registered.

  • Performs resource orchestration to find the best suitable availability zone where constituent VNFs can be deployed.

  • Creates new networks or references existing networks that are required for connectivity among the VNFs.

  • Manages IP addresses of all the resources.

  • Configures the VNFs based on pre-defined parameters. See "About VNF Configuration Files" for more information.

  • If the network service includes a PNF, configures the PNF and checks access to the PNF using the management IP address.

  • If you integrated a monitoring engine, configures the monitoring engine to trigger alarms for VNFs that reach a specified threshold to enable healing of VNFs.

  • If you integrated an SDN controller, configures routing paths for end-to-end packet flow.

See "Modifying Network Services" for information about adding and removing VNFs, endpoints, and PNFs in network services.

Managing Failed Life-Cycle Actions

If a life-cycle action fails to complete successfully, NFV Orchestration either stops the action or rolls back the changes so that the resource assignments revert to the previous state. It may be necessary to complete manual actions to resolve the errors and perform the life-cycle action again.

NSO automatically handles rollback for problems that arise during the following activities:

  • Designing a network service

  • Creating networks, subnets, and ports

  • Deploying and configuring virtual machines

However, there are some scenarios where NFV Orchestration does not rollback changes when a life-cycle action fails to complete successfully.

For example, consider a scenario where you instantiate a network service that includes four VNFs and only three of the VNFs get deployed during the network service instantiation process. Even if a single VNF is not deployed, NFV Orchestration does not roll back the entire network service instantiation process, and the network service remains in PENDING status. In this case, you must either accept the partially instantiated network service or roll back the network service.

Note:

The example scenario included in this section is applicable to both network service instantiation and network service termination processes.

Accepting Partially Instantiated Network Services

To accept the partially instantiated network service:

  1. In the NFV Orchestration group of the navigation section, in the Orchestration subgroup, click the Orchestration Requests link.

    The search page for Orchestration Requests appears.

  2. In the Search Results section, enter the ID of the orchestration request and click Search.

  3. In the Search Results section, click the ID of the orchestration request.

    The Orchestration Request Details page appears.

  4. Click Edit.

  5. In the Description field, enter a description for the orchestration request. For example, The VNF Request (ID:75001) failed to complete successfully. Network Service is created partially. Need to call Add VNF REST API to add the failed VNF.

    You add a description to maintain a history of the orchestration request.

  6. Click Save and Close.

  7. From the Actions menu, select Complete Hierarchy.

    The status of the orchestration request changes to Completed and the status of the corresponding service changes to In Service.

Rolling Back Partially Instantiated Network Services

To roll back the partially instantiated network service:

  1. Accept the partially instantiated network service. See "Accepting Partially Instantiated Network Services" for more information.

  2. Terminate the partially instantiated network service.

Adding Failed VNFs to Partially Instantiated Network Services

To add the failed VNFs to the partially instantiated network service:

  1. Accept the partially instantiated network service. See "Accepting Partially Instantiated Network Services" for more information.

  2. In the Events section, view the logs to identify the cause of the orchestration request failure, and then perform any required actions.

  3. Add the failed VNFs by calling the REST API to add VNFs. See "Add VNF to Network Service" for more information.

Modifying Network Services

You can modify a network service that you have saved but not instantiated. You modify a network service to add or remove endpoints, VNFs, and PNFs in the network service. You add a VNF to a network service to enable the network service to deliver additional service capabilities. You remove a VNF from a network service when it is no longer required. Similarly, you can add and remove endpoints and PNFs in your network services.

Before the network service has been instantiated, you can perform the following tasks using the user interface:

  • Add VNFs to network services

  • Remove VNFs from network services

  • Add PNFs to network services

  • Remove PNFs from network services

  • Add endpoints to network services

  • Remove endpoints from network services

See UIM Help for instructions about performing tasks using the user interface.

After the network service has been instantiated, you can perform the following tasks using the REST APIs:

  • Add VNFs to network services

  • Remove VNFs from network services

See "NFV Orchestration RESTful API Reference" for details about the NFV Orchestration REST APIs that you can use to modify network services.

Adding VNFs to Existing Network Services

You use REST APIs to add VNFs to a network service after the network service has been instantiated.

After you add a VNF to a network service, do the following:

  1. In UIM, verify the following:

    • The network service is updated with a new service configuration version showing the VNF that you added.

    • The status of the new service configuration version shows completed.

    • A new VNF instance is created and new instances of its constituent VDUs are also created.

  2. In your VIM, verify that all the constituent VDU instances for the new VNF are created.

Removing VNFs from Existing Network Services

You use REST APIs to remove VNFs from a network service after the network service has been instantiated.

After you remove a VNF from a network service, do the following:

  1. In UIM, verify the following:

    • The network service is updated with a new service configuration version showing that the VNF is deleted.

    • The status of the service configuration version shows completed.

    • The VNF instance is deleted and instances of its constituent VDUs are also deleted.

  2. In your VIM, verify that the constituent VDU instances for the VNF are deleted and the resources that were assigned to the VDUs are freed up.

Terminating Network Services

You terminate a network service to deactivate all the constituent VNFs in the network service. When you terminate a network service, all the resources that were allocated to the VNFs are released and become available for consumption by other network services.

After you terminate a network service, do the following:

  1. In UIM, verify the following:

    • The status of the network service and the VNF and PNF services is changed to Disconnected.

    • The statuses of the logical devices corresponding to the VNFs and their associated VDUs are changed to Unassigned

    • The statuses of the logical devices corresponding to the associated PNFs are changed to Unassigned.

  2. In your VIM, verify that all the VDU instances of all the VNFs are deleted and all the allocated resources are released.

Viewing Progress of Life-cycle Actions

When you perform a life-cycle action for a network service, the Network Service summary page displays a progress bar indicating that the life-cycle action is in progress. At the top of the Network Service Summary page, messages appear informing you about the statuses and timestamps of the various intermediate processes that are run to complete the life-cycle action. After the life-cycle action is completed successfully, in the Network Service Summary page, the Status field displays the final status of the network service.

When you perform a life-cycle action for a VNF, at the top of the VNF Summary page, a message appears informing you that the VNF has been submitted for the relevant life-cycle action. After the process is completed successfully, a message appears informing you that the VNF has been processed for the life-cycle action you performed.

NFV Orchestration displays notifications to indicate the progress of the following life-cycle actions:

  • Creating Network Services

  • Instantiating Network Services

  • Terminating Network Services

  • Adding VNFs to Network Services

  • Removing VNFs from Network Services

  • Adding Endpoints to Network Services

  • Removing Endpoints from Network Services

  • Adding PNFs to Network Services

  • Removing PNFs from Network Services

  • Canceling Network Services

  • Rebooting Virtual Network Functions

  • Replacing Virtual Network Functions

  • Scaling Virtual Network Functions

  • Rebooting Virtual Deployment Units

You can extend the progress notifications for the life-cycle actions by implementing a custom notification manager. See "Implementing a Custom Notification Manager" for more information about implementing a custom notification manager.

Scaling VNFs

You scale VNFs to either add new instances of the constituent VDUs of the VNF in a network service or remove instances of the constituent VDUs of the VNF in a network service.

NFV Orchestration provides the following VNF scale options:

  • Scale Out: Enables you to add additional instances of each constituent VDU of the VNF in the network service based on the scale quantity defined for the constituent VDUs in the VNF descriptor. As part of VNF scale out, you can add VDU instances only up to the maximum limit defined for the constituent VDUs in the VNF descriptor. Even if one of the VDUs in a VNF has reached its maximum instance limit, and the other VDUs in that VNF have not reached their maximum instance limit, NFV Orchestration does not allow you to further scale-out the VNF.

  • Scale In: Enables you to remove existing instances of each constituent VDU of the VNF in the network service based on the scale quantity defined for the constituent VDUs in the VNF descriptor. As part of VNF scale in, you can remove VDU instances only up to the minimum limit defined for the constituent VDUs in the VNF descriptor. Even if one of the VDUs in a VNF has reached its minimum instance limit, and the other VDUs in that VNF have not reached their minimum instance limit, NFV Orchestration does not allow you to further scale-in the VNF.

    See "Describing VNF Deployment Flavors" for more information.

Healing VNFs

You can heal a VNF by either rebooting or replacing the virtual machine on which the VNF is deployed. Similarly, you can heal a VDU by rebooting the virtual machine on which the VDU is deployed.

When you reboot a VNF, all the constituent VDUs of the VNF are rebooted. Similarly, when you replace a VNF, all the constituent VDUs of the VNF are replaced.

When you heal a VNF by replacing it, the new VDUs of the VNF may come up in a different host. NFV Orchestration performs resource orchestration to deduce the resources from the new host and the availability zone and adds up the resources count to the host.

To heal a VNF:

  1. Ensure that you have defined the assurance parameters for the VNFs in the VNF descriptor file. See "Describing VNF Deployment Flavors" for information about defining assurance parameters.

  2. Do one of the following:

    • Use the user interface to reboot or replace the VNF. See UIM Help for instructions.

    • Use the user interface to reboot a specific VDU of a VNF. See UIM Help for instructions.

    • Call the RESTful API. See "NFV Orchestration RESTful API Reference" for more information.

  3. In your VIM, verify that the VNF you rebooted or replaced is listed as active and running.

  4. In your VIM, verify that the VDU you rebooted or replaced is listed as active and running.

Monitoring VNFs

You monitor VNFs in a network service to track their performance and take actions based on their CPU utilization, number of requests handled, and other key performance indicator (KPI) parameters.

To monitor VNFs, you configure and use monitoring engines. You also configure and specify the relevant parameters in the VNF descriptor file. See "Describing VNF Deployment Flavors" for information about defining assurance parameters for monitoring and healing a VNF.

By default, NFV Orchestration supports integration with OpenStack Ceilometer, which monitors VNFs and reboots failed VNFs automatically based on KPI thresholds that are defined in the network service descriptor file.

You can integrate other third-party monitoring engines by using the extensions provided in UIM's NFV Orchestration functionality. See "Implementing a Custom Monitoring Engine" for more information about implementing a third-party monitoring engine.

About the Monitoring Tabs in the User Interface

When you create specifications for your VNFs and network services in Design Studio, you can add characteristics to the specifications to capture URLs of web pages of your monitoring systems. You can define the characteristics to capture any number of URLs of web pages. See Design Studio documentation about working with characteristics and specifications.

In the UIM user interface, when you create network services, you specify the URLs of web pages of your monitoring systems. After the network service is instantiated, each URL that you specified for your monitoring system displays an embedded page in a tab in the Network Service Summary page.

You can use the monitoring tabs to view service topologies of your network services, and the following metrics about your VNFs:

  • CPU

  • Memory

  • Disk space

See UIM Help for more information about the monitoring tabs.

Working with PNFs in Network Services

You can include Physical Network Functions (PNFs) in your network services.

To include PNFs in a network service, do the following:

  1. If your PNF is managed by an EMS, register the Element Management System (EMS) with NFV Orchestration by using the REST API. See "NFV Orchestration RESTful API Reference" for information about registering EMSs.

  2. Register the PNF with NFV Orchestration by using the REST API.

  3. When you create a network service in the user interface, add the PNF to the network service. See UIM Help for instructions about adding PNFs to network services.

If you use REST APIs to instantiate a network service with PNFs, specify the details of the PNFs in the API request. See "NFV Orchestration RESTful API Reference" for information about the API request.

Retrieving Details About Network Services, VNFs, PNFs, and Descriptors

You can retrieve and view details about your network services, VNFs, PNFs, network service descriptors, and VNF descriptors by using the user interface and the REST APIs. In the user interface, you can search for and view details by using standard UIM techniques. See UIM Help for more information.

NFV Orchestration provides RESTful APIs that you can call to retrieve and view different types of information about your network services, VNFs, and PNFs. For details about the RESTful APIs, see "NFV Orchestration RESTful API Reference".

Registering VNFs with Third-Party Systems

You can register the instantiated VNFs with third-party systems, such as element management systems (EMSs) and configuration management systems (CMSs). After the VNFs are registered, the third-party systems can discover and manage the VNFs.

NFV Orchestration provides a reference implementation to integrate with IP Service Activator to discover and manage the instantiated VNFs using the Juniper_vSRX sample cartridge. See "Integrating UIM NFV Orchestration with IP Service Activator" for more information.