Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This section describes how to design, develop, and deliver submit a Virtual Network Function , which is for use as a Network Resource in the ONAP environment.

A Virtual Network Function (VNF) Onboarding in OpenECOMPcan be developed in a stand-alone development environment without most of the tools – or even API libraries – used or furnished by ONAP. The completed VNF must meet the set of VNF Requirements.

The primary audiences for this documentation are

  • VNF providers: creators of VNFs (executables and related configuration files)
  • Acceptance personnel: thse those tasked with Validating, Certifying, and Onboarding certifying VNFs (making approving them available in an OpenECOMP instance)to run in ONAP environments)

The following readers may wish to refer to this documentation for a deeper understanding of VNFs, however, for operational information, they should read Using ONAP.Other audiences who may refer to these documents include:

  • Service Designers: those who combine Virtual Functions (including VNFs) into Services in OpenECOMPin ONAP
  • OpenECOMP OperatorsDevOps: those who deploy, operate, and monitor OpenECOMP ONAP Services containing VNFs

There are three stages in the life cycle of a VNF, as shown here:

Image RemovedImage Added

Figure 1 VNF Complete Life Cycle Stages

Reference Documents

...

Requirements and Guidelines for Virtual Network Functions in a Network Cloud

In the specifications, the terms mustmust notshould, should not, and may have specific meanings defined here.

The following document describes, in general terms, the requirements for VNFs. It also provides background material: the motivation for VNFs, and the various audiences interested in VNFs. In addition, it points out, in general terms, the differences between OpenECOMP VNFs and ETSI VNFs.

This first release of the guidelines and requirements, although applicable in many implementations, is targeted for those implementations that consist of a network clouds based on OpenStack. Future versions of these guidelines are envisioned to include other targeted virtualization environments, such as Customer Premises or other single-tenant small scale cloud implementations.

<<DocRef: "OpenECOMP Requirements and Guidelines for Virtual Network Functions in a Network Cloud">>

VNF Requirements <<TODO: in progress>>

VNFs must meet requirements that fall into the categories of packaging, configuration, run-time monitoring and management, and licensing. Also, VNFs must communicate using event records (indicating a change of state or loggable event, for example).

With respect to packaging, the specification states that "Initially this information may be provided in documents, but in the near future a method will be developed to automate as much of the transfer of data as possible...".

Regarding configuration management, "The VNF providers must provide the device YANG model and NETCONF server, supporting NETCONF APIs, to comply with target OpenECOMP and industry standards." In addition, the supplier "shall demonstrate mounting the NETCONF server on OpenDaylight (client)...", and successfully carry out specified operations thereon.

For run-time monitoring and management, a VNF must provide event records as specified in the document.

Finally, VNFs must conform to certain licensing restrictions, such as providing a universal license key, providing metrics (such as the number of subscribers), and not depending on a license server.

The following reference documents, combined, enumerate all the requirements that any VNF must meet in order to be instantiated in OpenECOMP. These documents may be merged in the future.

<<DocRef: "Common Requirements for Virtual Network Functions">>

<<DocRef: "OpenECOMP Requirements for Virtual Network Functions:>>

The VNF API: Functions That a VNF Must or May Implement <<TODO: in progress>>

<<TODO: This might be a pointer to NETCONF or ETSI specs, along with other OpenECOMP APIs. The Requirements documents above don't enumerate all functions in the API, but they might contain enough references to other documents to comprise the full description of functions that VNFs must implement. >>

OpenECOMP Common Functions that VNFs May Invoke

See Common Services.

VNF Attribute Definitions

<<TODO: is there a list of all possible VNF attributes? Is it already contained in the Requirements documents above?>>

Example VNFs Included with OpenECOMP

. VNF complete life cycle stages

Anchor
RefDocs
RefDocs
Reference Documents for VNF Providers

The ONAP release documentation is available at ONAP.readthedocs.io, including VNF Provider guidance: VNF Guidelines, VNF Requirements 

Example VNFs Included with ONAP

The example VNFs distributed with ONAP The example VNFs distributed with OpenECOMP are:

  • vFW (Firewall)
  • vDNS (Domain Name Server).

The Demos page describes how these functions operate.

Onboarding (Integrating and Delivering) a VNF

The forthcoming <<DocRef: User Guide>>, in its "Design" section, will explain how to add any Virtual Function (including a Virtual Network Function) to the OpenECOMP environment. Here is an outline of the steps involved:

<<TODO: fill out these sections, or reconsider>>

Pre-onboarding

  1. Create a tenant
  2. Validate VFs
  3. Generate manifest and package artifacts

Resource onboarding

  1. Create a license model
  2. Licensing
    1. Create a license key group [optional]
    2. Create an entitlement pool
    3. Create a feature group
    4. Create a license agreement
  3. Create a Vendor Software Product
  4. Update VFCs in a VSP [optional]
  5. Update a VSP [optional]

VF creation and testing

  1. Create a VF
  2. Update a VF [optional]
  3. Submit a VF for testing
  4. Test a VF

Service design

  1. Create a service
  2. Create workflows [optional]
    1. Create a management workflow [optional]
    2. Create a network callflow [optional]
    3. Select VID inputs [optional]
  3. Update a service [optional]
  4. Submit a service for testing
  5. Test a service
  6. Assign an IP address plan

Governance approval and service distribution

  1. Review a service for governance approval
  2. Request service distribution
  3. Distribute a service
  4. Verify that the blueprint is deployed

Closed loop design

  1. Design a model
  2. Collector
    1. Configure Collector
    2. Configure StringMatch
    3. Configure Policy

Policy design

  1. Import a policy attribute dictionary [optional]
  2. Edit a policy attribute dictionary [optional]
  3. Add a scope
  4. Assign a scope to a user
  5. Create a policy
  6. Push a policy

Using VNFs

To learn how to incorporate VNFs into a Service, see the <<DocRef:: Service Design and Creation (SDC) Introductory Developers Guide>>.

The Setting Up ONAP pages describe how to design and operate Services using these VNFs.

Reference VNFs are managed by the Integration ProjectThe Demos page exhibits the activation of Services containing VNFs.