Release 0 Data Model Details
OSM supports descriptors for Virtual Network Functions and Network Services. The data models for these descriptors are aligned with ETSI MANO .
Virtual Network Function Descriptor [VNFD] defines the resources required for realizing the VNF. The descriptor includes various components that are part of the VNF. In addition, it also defines the VNF level configuration information.
Network Service Descriptor [NSD] defines a set of interconnected VNFs to realize a network service spanning multiple VNFs. In addition, NSD also defines the NS level configuration information.
Network Service Descriptor(NSD)
The NSD connects VNFs using the Virtual Links (VLs) as shown in the following diagram:
The VNFs attach to the VLs using the Connection Points (CPs). So the NSD captures the list of VNFs and the VLs that connect the VNFs. The following diagram illustrates the high level objects in an NSD:
NS Connection Points: List for network service (NS) connection points. Each NS has one or more external connection points used to link the NS to other NS or to external networks. Each NS exposes these connection points to the orchestrator. The orchestrator can construct network service chains by connecting the connection points between different NS.
Constituent VNFs: List of Virtual Network Function Descriptors (VNFDs) that are part of this network service.
VNF Dependencies: List of VNF dependencies. This specifies the order in which the VNFs inside the NS should be started.
Virtual Links: List of Virtual Link Descriptors (VLD). The VLD describes how VNFs in the NSD are connected.
NS Configuration Primitives: Network Service level configuration primitives.
Input Parameters:List of xpath to parameters inside the NSD that can be customized during instantiation.
Virtual Network Function Descriptor (VNFD)
The VNFD connects Virtual Deployment Units (VDUs) using the internal Virtual Links (VLs). Each VDU represents a VM/Container. The following diagram illustrates the internal structure of VNFD:
The VDUs attach to the internal VLs using the internal Connection Points (CPs). So the VNFD captures the list of VDUs and the internal VLs that connect the VDUs. Note that for a VNF containing a single VDU, there may not be any internal VLs. The following diagram illustrates the high level objects in an VNFD:
VNF Connection Points: The list for external connection points. Each VNF has one or more external connection points. As the name implies the external connection points are used for connecting the VNF to other VNFs or to external networks. Each VNF exposes these connection points to the orchestrator. The orchestrator can construct network services by connecting the connection points between different VNFs. The NFVO will use VLDs and VNFFGs at the network service level to construct network services.
Constituent VDUs: List of virtual deployment units. VDUs refer to individual VMs inside the VNF. They are also referred to as VNFCs.
VDU Dependencies: List of VDU dependencies. The orchestrator uses this list to determine the order of startup for VDUs.
Internal VLDs: A list of internal virtual links to connect various VNF components. The MANO document  refers this as “virtual-link”, however we are calling this field “internal-vlds” to explicitly indicate that these are internal virtual links. Also, we plan to use the same virtual link descriptor for both internal and external descriptors. If the VNF is composed of only one VNF component/VM, no internal VLD may be required.
VNF Configuration Primitives:VNF level configuration primitives.
Monitoring Parameters: List of monitoring parameters for the VNF
Data Modeling Language and Format
The VNF and NS descriptors are modeled using YANG. The input format for descriptor is YAML. The descriptors are validated against the YANG schema when the VNF/NS packages are on-boarded. For details about the YANG schema and descriptors refer to the "Detailed Documents/Information" section below.
The NSD and VNFD are on-boarded using NS and VNF packages respectively. At the time of instantiation additional artifacts such as images, icons, scripts, and charms are needed in addition to the descriptors. To provide a simple and one click on-boarding experience the packages encapsulate all necessary artifacts in addition to the descriptors. The packages are distributed in the tar.gz format.
The NS package may contain the following files and directories:
| - nsd.yaml (NS descriptor in YAML format)
| - README (Information regarding the NS)
| - checksum.txt (Contains checksum for each file in package)
| - scripts\ (Directory containing the scripts NS lifecycle events and primitives)
| - icons\ (Directory containing icons and logs for the network wervice)
| - ns-config\ (Directory contains files with NS level default values and initial configuration)
| - vnf-config\ (Directory contains files with VNF level default values and initial configuration)
NOTE: Files/directories in bold are mandatory.
The VNF package may contain the following files and directories:
| - vnfd.yaml (VNF descriptor file in YAML format)
| - README (Contains README about this VNF package)
| - checksum.txt (Contains checksum for each file in the package)
| - images\ (Directory containing all the VM images for this VNF)
| - scripts\ (Directory containing custom scripts for lifecycle events and configuration primitives)
| - icons\ (Directory containing the icons)
| - charms\ (Directory containing the configuration charms/plugins)
NOTE: Files/directories in bold are mandatory.
Your feedback is most welcome! You can send us your comments and questions to OSM_TECH@list.etsi.org Or join the OpenSourceMANO Slack Workplace See hereafter some best practices to report issues on OSM