4 Working with Network Services and VNFs

This chapter provides instructions for working with network services and VNFs in Oracle Communications Network Service Orchestration Solution.

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

Instantiating a Network Service

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.

Before you instantiate a network service, ensure that the VIM resources are discovered. See "Discovering VIM Resources" for information about discovering VIM resources.

To instantiate a network service:

  1. In a REST API client, run the following URL using the POST method:

    POST http://host:port/ocnso/1.1/ns

    where host is the hostname and port is the port number of the machine on which UIM is installed.

    For a sample request and response about the network service instantiation API, see "Instantiate a Network Service".

  2. In the request, specify values for the following parameters by looking in the network service and VNF descriptor files:

    • nsName

    • nsDescriptorName

    • serviceDeploymentFlavor

    • vnfName

    • deploymentFlavorName

    • vnfDescriptorName

    • version

    • name

    • parameters

    For details about these parameters, navigate to UIM_Home/config/ and look up the sample network service and VNF descriptor XML files.

  3. Ensure that you receive a success message and a response.

  4. In Oracle Communications Unified Inventory Management (UIM), verify the following:

    • The network service and its configurations are created and are in In Service status.

    • The VNF service with configurations is created and associated to the network service.

    • The VNFs, 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.

  5. In your VIM, verify the following:

    • The VNF instance is up and running.

    • The specified networks are either created or referenced.

    • The VNF is linked to the networks.

Based on the configurations you defined in the network service and the VNF descriptor files, the solution 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 the VNF Configuration Files" for more information.

  • 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.

Note:

If the instantiation of a network service fails at any stage of the transaction due to insufficient ports or other resources on the VIM (or for any other reason), the solution rolls back the resources completely.

Upgrading the Software Version of a VNF

To upgrade the software version of a VNF in a network service:

  1. In a REST API client, run the following URL using the PUT method:

    PUT http://host:port//ocnso/1.1/ns/networkServiceId/upgrade

    where networkServiceId is the ID of the network service that the VNF is part of.

    For a sample request and response of this API, see "Upgrade the Software Version of a VNF ".

  2. In the request, specify the details about the VNF name and the software version of the VNF image that you want to upgrade to.

  3. Ensure that you receive a success message and a response.

  4. In UIM, do the following:

    • Verify that the network service is updated with a new service configuration version.

    • Verify that the version number of the VNF image that you upgraded the VNF to is listed.

  5. In your VIM, verify that the VNF instance displays the name of the VNF image that you upgraded to.

Monitoring and Healing a VNF

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 KPI parameters.

To monitor VNFs, you configure and use monitoring engines. You also configure and specify the relevant parameters in the Network Service descriptor file. When the monitoring engine identifies a failed VNF in a network service, you can heal the failed VNF by either rebooting or replacing the virtual machine on which the VNF is deployed.

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

To heal a VNF:

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

  2. In a REST API client, run the following URL using the POST method:

    POST http://host:port//ocnso/1.1/vnf/vmId/heal

    where vmId is the ID of the VNF virtual machine that you want to heal.

    For a sample request and response of this API, see "Heal a VNF ".

  3. In the request, specify the details of the VNF that you want to heal and specify whether you want to reboot or replace the VNF.

  4. Ensure that you receive a success message and a response.

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

If you use OpenStack Ceilometer, when you heal a failed VNF by replacing it, if the new VNF comes up in a different host, the solution performs resource orchestration to deduce the resources from the new host and the availability zone and adds up the resources count to the host.

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

Modifying a Network Service

You modify a network service to either add or remove VNFs in a network service. You add a VNF to a network service to enable the network service to deliver additional service capabilities.

Adding a VNF to a Network Service

To add a VNF to a network service:

  1. In a REST API client, run the following URL using the POST method:

    POST http://host:port//ocnso/1.1/ns/networkServiceId/vnfs

    where networkServiceId is the ID of the network service that you want to modify.

    For a sample request and response of this API, see "Add VNFs to a Network Service".

  2. In the request, specify the details about the VNF that you want to add to the network service.

  3. Ensure that you receive a success message and a response.

  4. 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.

  5. In your VIM, verify that a new VNF instance is created.

Deleting a VNF from a Network Service

To delete a VNF from a network service:

  1. In a REST API client, run the following URL using the DELETE method:

    DELETE http://host:port//ocnso/1.1/ns/networkServiceId/vnfs

    where networkServiceId is the ID of the network service that you want to modify.

    For a sample request and response of this API, see "Delete a VNF from a Network Service".

  2. In the request, specify the details about the VNF that you want to remove from the network service.

  3. Ensure that you receive a success message and a response.

  4. 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 service configuration version shows completed.

  5. In your VIM, verify that the VNF instance is removed and the resources that were assigned to the VNF are freed up.

Terminating a Network Service

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.

To terminate a network service:

  1. In a REST API client, run the following URL using the DELETE method:

    DELETE http://host:port/ocnso/1.1/ns/networkServiceId

    where networkServiceId is the service ID of the network service that you want to terminate.

    For details about this API, see "Terminate a Network Service".

  2. Specify the details of the network service you want to delete.

  3. Ensure that you receive a success message and a response.

  4. In UIM, verify the following:

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

    • The status of the logical device corresponding to the associated VNF is changed to Unassigned.

  5. In your VIM, verify that the VNF instance is deleted and all the allocated resources are released.

Retrieving Details About Network Services, VNFs, and Descriptors

You can retrieve and view details about your network services, VNFs, network service descriptors, and VNF descriptors.

The solution provides RESTful APIs that you can call to retrieve and view different types of information about your network services and VNFs.

You can retrieve and view the following details about VNFs, network services, and descriptors:

  • Information about a specific network service

  • Information about the Network Forwarding Paths for a network service

  • List of available Network Service Descriptors

  • Network Service Descriptor information

  • List of Virtual Network Function Descriptors supported by a Network Service Descriptor

  • List of flavors of a Network Service Descriptor

  • VNF Descriptor information

  • List of versions of the VNF Descriptor

  • List of VNF descriptor flavors

For details about the RESTful APIs, see "Network Service Orchestration RESTful API Reference".