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:
- connection-point:
- name: mgmt0
type: VPORT
description: A simple VNF descriptor w/ VM1 and VM2
id: 287671e2-2858-48cf-a13c-b4cb1351aa9f
name: Ref_VNF_11
short-name: Ref_VNF_11
vdu:
- external-interface:
- name: iface10
virtual-interface:
type: OM-MGMT
vnfd-connection-point-ref: mgmt0
id: abd6831e-f811-4580-9aad-1de9c6424180
image: ref_vm1.qcow2
name: Ref_VM1
vm-flavor:
memory-mb: '2048'
storage-gb: '8'
vcpu-count: '2'
vendor: ETSI
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:
- connection-point:
- name: cp1
type: VPORT
description: A simple VNF descriptor w/ one VDU
id: d6c25720-895a-40a2-b303-b2a98d10674c
name: Ref_Vnf_21
short-name: Ref_Vnf_21
vdu:
- external-interface:
- name: eth0
virtual-interface:
type: VIRTIO
vnfd-connection-point-ref: cp1
id: abd6831e-f811-4580-9aad-1de9c6424180
image: ref_vm21.qcow2
name: Ref_VM5
vm-flavor:
memory-mb: '1024'
storage-gb: '16'
vcpu-count: '1'
vendor: ETSI
version: '1.0'
OSM NS descriptor for NS#1
nsd:nsd-catalog:
nsd:
- constituent-vnfd:
- member-vnf-index: '1'
start-by-default: 'true'
vnfd-id-ref: d6c25720-895a-40a2-b303-b2a98d10674c
- member-vnf-index: '2'
vnfd-id-ref: 287671e2-2858-48cf-a13c-b4cb1351aa9f
description: Reference NS 1
id: 9b684262-ded5-4d43-82d3-5e2bf69b7446
name: Ref_NS_1
vendor: ETSI
vld:
- description: Mgmt VL
id: 54c04
name: VL1
short-name: VL1
type: ELAN
vendor: ETSI
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: mgmt
vnfd-id-ref: d6c25720-895a-40a2-b303-b2a98d10674c
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: mgmt0
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:
- connection-point:
- name: mgmt0
type: VPORT
description: A simple VNF descriptor w/ two VDU
id: abae3d33-36ec-4707-95aa-e48907bf2442
name: Ref_Vnf_12
short-name: Ref_Vnf_12
vdu:
- description: Middlepoint
external-interface:
- name: iface30
virtual-interface:
type: OM-MGMT
vnfd-connection-point-ref: mgmt0
guest-epa:
cpu-pinning-policy: DEDICATED
id: abd6831e-f811-4580-9aad-1de9c6424180
image: ref_vm3.qcow2
internal-connection-point:
- id: 5f813
name: icp0
type: VPORT
internal-interface:
- name: iface31
vdu-internal-connection-point-ref: 5f813
virtual-interface:
type: VIRTIO
name: Ref_VM3
vm-flavor:
memory-mb: '2048'
storage-gb: '8'
vcpu-count: '2'
- external-interface:
- name: iface42
virtual-interface:
type: PCI-PASSTHROUGH
- name: iface43
virtual-interface:
type: SR-IOV
guest-epa:
cpu-pinning-policy: DEDICATED
id: e526e
internal-connection-point:
- id: 9ec35
name: icp0
type: VPORT
internal-interface:
- name: iface41
vdu-internal-connection-point-ref: 9ec35
virtual-interface:
type: VIRTIO
vendor: ETSI
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:
- connection-point:
- name: cp1
type: VPORT
description: A simple VNF descriptor w/ one VDU
id: c993c90e-857f-499e-aad3-74f1667216d2
name: Ref_VNF_22
short-name: Ref_VNF_22
vdu:
- external-interface:
- name: eth0
virtual-interface:
type: VIRTIO
vnfd-connection-point-ref: cp1
- name: iface61
virtual-interface:
type: PCI-PASSTHROUGH
- name: iface62
virtual-interface:
type: SR-IOV
id: abd6831e-f811-4580-9aad-1de9c6424180
image: ref_vm22.qcow2
name: Ref_VM6
vm-flavor:
memory-mb: '1024'
storage-gb: '16'
vcpu-count: '1'
vendor: ETSI
version: '1.0'
OSM NS descriptor for NS#2
nsd:nsd-catalog:
nsd:
- constituent-vnfd:
- member-vnf-index: '1'
vnfd-id-ref: abae3d33-36ec-4707-95aa-e48907bf2442
- member-vnf-index: '2'
vnfd-id-ref: c993c90e-857f-499e-aad3-74f1667216d2
description: Reference NS2
id: cbd6d406-57ff-40ee-8155-8013a40f6bad
name: Ref_NS_2
vendor: ETSI
vld:
- id: '97465'
name: Mgmt
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: mgmt0
vnfd-id-ref: abae3d33-36ec-4707-95aa-e48907bf2442
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: mgmt
vnfd-id-ref: c993c90e-857f-499e-aad3-74f1667216d2
- id: f66e6
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: east
vnfd-id-ref: abae3d33-36ec-4707-95aa-e48907bf2442
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: east
vnfd-id-ref: c993c90e-857f-499e-aad3-74f1667216d2