Reference VNF and NS Descriptors (Release ONE)
The following reference examples are provided to help VNF vendors to create their own descriptors (NSD, VNFD) usable in OSM.
Reference NS#1: Testing an endpoint VNF
The following network service captures a simple test setup where a VNF is tested with a traffic generator VNF (or a simple VNF/VM with a basic client application). For simplicity, this network service assumes that the VNF under test is the endpoint of a given service (e.g. DNS, AAA, etc.) and does not require special conditions or resource allocation besides the usual in a standard cloud environments.
In this example, unless otherwise specified in the description, the following defaults apply:
- CPs are regular para-virtualized interfaces (VirtIO or equivalent).
- VLs provide E-LAN connectivity via regular (overlay) networks provided by the VIM.
- VLs provide IP addressing via DHCP if applicable.
- Mapping between internal and external CPs may be either direct (as aliases) or via an intermediate VL.
- VIM+NFVI can guarantee predictable ordering of guest interfaces' virtual PCI addresses.
In the case of REF_NS_1:
- When deploying the NS, VL1 would be typically mapped to a pre-created VIM network intended to provide management IP address to VNFs via DHCP.
- DHCP in VL2 may be optional.
Reference VNF#11: Endpoint VNF
Description in common language
- Name: Ref_VNF_11
- Component: Ref_VM1
- Memory: 2 GB
- CPU: 2 vCPU
- Storage: 8 GB
- Image: ref_vm1.qcow2
- Component: Ref_VM2
- Memory: 4GB
- CPU: 2 vCPU
- Storage: 16GB
- Image: ref_vm2.qcow2
- Internal Virtual Link: VL12
- No DHCP server is enabled.
- Static addressing may be used at CP iface11 and CP iface21.
- Component: Ref_VM1
OSM VNF descriptor for VNF#11
vnfd:vnfd-catalog: vnfd:vnfd: - vnfd:connection-point: - vnfd:name: mgmt0 vnfd:type: VPORT vnfd:description: A simple VNF descriptor w/ VM1 and VM2 vnfd:id: 287671e2-2858-48cf-a13c-b4cb1351aa9f vnfd:name: Ref_VNF_11 vnfd:short-name: Ref_VNF_11 vnfd:vdu: - vnfd:external-interface: - vnfd:name: iface10 vnfd:virtual-interface: vnfd:type: OM-MGMT vnfd:vnfd-connection-point-ref: mgmt0 vnfd:id: abd6831e-f811-4580-9aad-1de9c6424180 vnfd:image: ref_vm1.qcow2 vnfd:name: Ref_VM1 vnfd:vm-flavor: vnfd:memory-mb: '2048' vnfd:storage-gb: '8' vnfd:vcpu-count: '2' vnfd:vendor: ETSI vnfd:version: '1.0'
Reference VNF#21: Generator 1 port
Description in common language
- Name: Ref_VNF_21
- Component: Ref_VM5
- Memory: 1 GB
- CPU: 1 vCPU
- Storage: 16 GB
- Image: ref_vm21.qcow2
- Component: Ref_VM5
OSM VNF descriptor for VNF#21
vnfd:vnfd-catalog: vnfd:vnfd: - vnfd:connection-point: - vnfd:name: cp1 vnfd:type: VPORT vnfd:description: A simple VNF descriptor w/ one VDU vnfd:id: d6c25720-895a-40a2-b303-b2a98d10674c vnfd:name: Ref_Vnf_21 vnfd:short-name: Ref_Vnf_21 vnfd:vdu: - vnfd:external-interface: - vnfd:name: eth0 vnfd:virtual-interface: vnfd:type: VIRTIO vnfd:vnfd-connection-point-ref: cp1 vnfd:id: abd6831e-f811-4580-9aad-1de9c6424180 vnfd:image: ref_vm21.qcow2 vnfd:name: Ref_VM5 vnfd:vm-flavor: vnfd:memory-mb: '1024' vnfd:storage-gb: '16' vnfd:vcpu-count: '1' vnfd:vendor: ETSI vnfd:version: '1.0'
OSM NS descriptor for NS#1
File:Ref NS1.tar.gz NS1 Yaml descriptor
nsd:nsd-catalog: nsd:nsd: - nsd:constituent-vnfd: - nsd:member-vnf-index: '1' nsd:start-by-default: 'true' nsd:vnfd-id-ref: d6c25720-895a-40a2-b303-b2a98d10674c - nsd:member-vnf-index: '2' nsd:vnfd-id-ref: 287671e2-2858-48cf-a13c-b4cb1351aa9f nsd:description: Reference NS 1 nsd:id: 9b684262-ded5-4d43-82d3-5e2bf69b7446 nsd:name: Ref_NS_1 nsd:vendor: ETSI nsd:vld: - nsd:description: Mgmt VL nsd:id: 54c04 nsd:name: VL1 nsd:short-name: VL1 nsd:type: ELAN nsd:vendor: ETSI nsd:vnfd-connection-point-ref: - nsd:member-vnf-index-ref: '1' nsd:vnfd-connection-point-ref: mgmt nsd:vnfd-id-ref: d6c25720-895a-40a2-b303-b2a98d10674c - nsd:member-vnf-index-ref: '2' nsd:vnfd-connection-point-ref: mgmt0 nsd:vnfd-id-ref: 287671e2-2858-48cf-a13c-b4cb1351aa9f
Reference NS #2: Testing a middle point VNF
The following network service captures a more advanced test setup where the VNF under test is a middlepoint in the communication (e.g. router, EPC) and might require special conditions or resource allocation and connectivity foreseen in NFV ISG specs. In this case, the traffic generator VNF behaves as source and sink of traffic and might also require special resource allocation.
In this example, unless otherwise specified in the description, the following applies:
- Same defaults as in NS#1
- vCPUs must be pinned to dedicated physical CPUs, with no over subscription.
- CPUs, memory and interfaces (if applicable) to be assigned to a given VM should belong to the same socket (NUMA awareness).
- Memory assigned to VMs should be backed by host's huge pages memory.
- VL2 and VL3 are E-Line underlay connectivity. No DHCP is required.
Reference VNF#12: Middle point VNF
Description in common language
- Name: Ref_VNF_12
- Component: Ref_VM3
- Memory: 2 GB huge pages
- CPU: 2 vCPU (= CPU)
- Storage: 8 GB
- Image: ref_vm3.qcow2
- Component: Ref_VM4
- Memory: 4GB
- CPU: 2 vCPU
- Storage: 16GB
- Image: ref_vm4.qcow2
- Connection Point: iface42 (west)
- Type: Passthrough
- Connection Point: iface43 (east)
- Type: SR-IOV
- Component: Ref_VM3
OSM VNF descriptor for VNF#12
vnfd:vnfd-catalog: vnfd:vnfd: - vnfd:connection-point: - vnfd:name: mgmt0 vnfd:type: VPORT vnfd:description: A simple VNF descriptor w/ two VDU vnfd:id: abae3d33-36ec-4707-95aa-e48907bf2442 vnfd:name: Ref_Vnf_12 vnfd:short-name: Ref_Vnf_12 vnfd:vdu: - vnfd:description: Middlepoint vnfd:external-interface: - vnfd:name: iface30 vnfd:virtual-interface: vnfd:type: OM-MGMT vnfd:vnfd-connection-point-ref: mgmt0 vnfd:guest-epa: vnfd:cpu-pinning-policy: DEDICATED vnfd:id: abd6831e-f811-4580-9aad-1de9c6424180 vnfd:image: ref_vm3.qcow2 vnfd:internal-connection-point: - vnfd:id: 5f813 vnfd:name: icp0 vnfd:type: VPORT vnfd:internal-interface: - vnfd:name: iface31 vnfd:vdu-internal-connection-point-ref: 5f813 vnfd:virtual-interface: vnfd:type: VIRTIO vnfd:name: Ref_VM3 vnfd:vm-flavor: vnfd:memory-mb: '2048' vnfd:storage-gb: '8' vnfd:vcpu-count: '2' - vnfd:external-interface: - vnfd:name: iface42 vnfd:virtual-interface: vnfd:type: PCI-PASSTHROUGH - vnfd:name: iface43 vnfd:virtual-interface: vnfd:type: SR-IOV vnfd:guest-epa: vnfd:cpu-pinning-policy: DEDICATED vnfd:id: e526e vnfd:internal-connection-point: - vnfd:id: 9ec35 vnfd:name: icp0 vnfd:type: VPORT vnfd:internal-interface: - vnfd:name: iface41 vnfd:vdu-internal-connection-point-ref: 9ec35 vnfd:virtual-interface: vnfd:type: VIRTIO vnfd:vendor: ETSI vnfd:version: '1.0'
Reference VNF#22: Generator 2 ports
Description in common language
- Name: Ref_VNF_22
- Component: Ref_VM6
- Memory: 1 GB huge pages
- CPU: 1 vCPU (= CPU)
- Storage: 16 GB
- Image: ref_vm22.qcow2
- Connection Point: iface61 (west)
- Type: Passthrough
- Connection Point: iface62 (east)
- Type: SR-IOV
- Component: Ref_VM6
OSM VNF descriptor for VNF#22
vnfd:vnfd-catalog: vnfd:vnfd: - vnfd:connection-point: - vnfd:name: cp1 vnfd:type: VPORT vnfd:description: A simple VNF descriptor w/ one VDU vnfd:id: c993c90e-857f-499e-aad3-74f1667216d2 vnfd:name: Ref_VNF_22 vnfd:short-name: Ref_VNF_22 vnfd:vdu: - vnfd:external-interface: - vnfd:name: eth0 vnfd:virtual-interface: vnfd:type: VIRTIO vnfd:vnfd-connection-point-ref: cp1 - vnfd:name: iface61 vnfd:virtual-interface: vnfd:type: PCI-PASSTHROUGH - vnfd:name: iface62 vnfd:virtual-interface: vnfd:type: SR-IOV vnfd:id: abd6831e-f811-4580-9aad-1de9c6424180 vnfd:image: ref_vm22.qcow2 vnfd:name: Ref_VM6 vnfd:vm-flavor: vnfd:memory-mb: '1024' vnfd:storage-gb: '16' vnfd:vcpu-count: '1' vnfd:vendor: ETSI vnfd:version: '1.0'
OSM NS descriptor for NS#2
nsd:nsd-catalog: nsd:nsd: - nsd:constituent-vnfd: - nsd:member-vnf-index: '1' nsd:vnfd-id-ref: abae3d33-36ec-4707-95aa-e48907bf2442 - nsd:member-vnf-index: '2' nsd:vnfd-id-ref: c993c90e-857f-499e-aad3-74f1667216d2 nsd:description: Reference NS2 nsd:id: cbd6d406-57ff-40ee-8155-8013a40f6bad nsd:name: Ref_NS_2 nsd:vendor: ETSI nsd:vld: - nsd:id: '97465' nsd:name: Mgmt nsd:vnfd-connection-point-ref: - nsd:member-vnf-index-ref: '1' nsd:vnfd-connection-point-ref: mgmt0 nsd:vnfd-id-ref: abae3d33-36ec-4707-95aa-e48907bf2442 - nsd:member-vnf-index-ref: '2' nsd:vnfd-connection-point-ref: mgmt nsd:vnfd-id-ref: c993c90e-857f-499e-aad3-74f1667216d2 - nsd:id: f66e6 nsd:vnfd-connection-point-ref: - nsd:member-vnf-index-ref: '1' nsd:vnfd-connection-point-ref: east nsd:vnfd-id-ref: abae3d33-36ec-4707-95aa-e48907bf2442 - nsd:member-vnf-index-ref: '2' nsd:vnfd-connection-point-ref: east nsd:vnfd-id-ref: c993c90e-857f-499e-aad3-74f1667216d2