Reference VNF and NS Descriptors (Release ONE): Difference between revisions

From OSM Public Wiki
Jump to: navigation, search
(Updated descriptors for scenario 1)
(Updated descriptors for scenario 2)
Line 182: Line 182:
  <nowiki>
  <nowiki>
vnfd:vnfd-catalog:
vnfd:vnfd-catalog:
     vnfd:vnfd:
     vnfd:
     -  vnfd:connection-point:
     -  connection-point:
         -  vnfd:name: mgmt0
         -  name: mgmt0
             vnfd:type: VPORT
             type: VPORT
         vnfd:description: A simple VNF descriptor w/ two VDU
         description: A simple VNF descriptor w/ two VDU
         vnfd:id: abae3d33-36ec-4707-95aa-e48907bf2442
         id: abae3d33-36ec-4707-95aa-e48907bf2442
         vnfd:name: Ref_Vnf_12
         name: Ref_Vnf_12
         vnfd:short-name: Ref_Vnf_12
         short-name: Ref_Vnf_12
         vnfd:vdu:
         vdu:
         -  vnfd:description: Middlepoint
         -  description: Middlepoint
             vnfd:external-interface:
             external-interface:
             -  vnfd:name: iface30
             -  name: iface30
                 vnfd:virtual-interface:
                 virtual-interface:
                     vnfd:type: OM-MGMT
                     type: OM-MGMT
                 vnfd:vnfd-connection-point-ref: mgmt0
                 vnfd-connection-point-ref: mgmt0
             vnfd:guest-epa:
             guest-epa:
                 vnfd:cpu-pinning-policy: DEDICATED
                 cpu-pinning-policy: DEDICATED
             vnfd:id: abd6831e-f811-4580-9aad-1de9c6424180
             id: abd6831e-f811-4580-9aad-1de9c6424180
             vnfd:image: ref_vm3.qcow2
             image: ref_vm3.qcow2
             vnfd:internal-connection-point:
             internal-connection-point:
             -  vnfd:id: 5f813
             -  id: 5f813
                 vnfd:name: icp0
                 name: icp0
                 vnfd:type: VPORT
                 type: VPORT
             vnfd:internal-interface:
             internal-interface:
             -  vnfd:name: iface31
             -  name: iface31
                 vnfd:vdu-internal-connection-point-ref: 5f813
                 vdu-internal-connection-point-ref: 5f813
                 vnfd:virtual-interface:
                 virtual-interface:
                     vnfd:type: VIRTIO
                     type: VIRTIO
             vnfd:name: Ref_VM3
             name: Ref_VM3
             vnfd:vm-flavor:
             vm-flavor:
                 vnfd:memory-mb: '2048'
                 memory-mb: '2048'
                 vnfd:storage-gb: '8'
                 storage-gb: '8'
                 vnfd:vcpu-count: '2'
                 vcpu-count: '2'
         -  vnfd:external-interface:
         -  external-interface:
             -  vnfd:name: iface42
             -  name: iface42
                 vnfd:virtual-interface:
                 virtual-interface:
                     vnfd:type: PCI-PASSTHROUGH
                     type: PCI-PASSTHROUGH
             -  vnfd:name: iface43
             -  name: iface43
                 vnfd:virtual-interface:
                 virtual-interface:
                     vnfd:type: SR-IOV
                     type: SR-IOV
             vnfd:guest-epa:
             guest-epa:
                 vnfd:cpu-pinning-policy: DEDICATED
                 cpu-pinning-policy: DEDICATED
             vnfd:id: e526e
             id: e526e
             vnfd:internal-connection-point:
             internal-connection-point:
             -  vnfd:id: 9ec35
             -  id: 9ec35
                 vnfd:name: icp0
                 name: icp0
                 vnfd:type: VPORT
                 type: VPORT
             vnfd:internal-interface:
             internal-interface:
             -  vnfd:name: iface41
             -  name: iface41
                 vnfd:vdu-internal-connection-point-ref: 9ec35
                 vdu-internal-connection-point-ref: 9ec35
                 vnfd:virtual-interface:
                 virtual-interface:
                     vnfd:type: VIRTIO
                     type: VIRTIO
         vnfd:vendor: ETSI
         vendor: ETSI
         vnfd:version: '1.0'
         version: '1.0'
</nowiki>  
</nowiki>  


Line 258: Line 258:
  <nowiki>
  <nowiki>
vnfd:vnfd-catalog:
vnfd:vnfd-catalog:
     vnfd:vnfd:
     vnfd:
     -  vnfd:connection-point:
     -  connection-point:
         -  vnfd:name: cp1
         -  name: cp1
             vnfd:type: VPORT
             type: VPORT
         vnfd:description: A simple VNF descriptor w/ one VDU
         description: A simple VNF descriptor w/ one VDU
         vnfd:id: c993c90e-857f-499e-aad3-74f1667216d2
         id: c993c90e-857f-499e-aad3-74f1667216d2
         vnfd:name: Ref_VNF_22
         name: Ref_VNF_22
         vnfd:short-name: Ref_VNF_22
         short-name: Ref_VNF_22
         vnfd:vdu:
         vdu:
         -  vnfd:external-interface:
         -  external-interface:
             -  vnfd:name: eth0
             -  name: eth0
                 vnfd:virtual-interface:
                 virtual-interface:
                     vnfd:type: VIRTIO
                     type: VIRTIO
                 vnfd:vnfd-connection-point-ref: cp1
                 vnfd-connection-point-ref: cp1
             -  vnfd:name: iface61
             -  name: iface61
                 vnfd:virtual-interface:
                 virtual-interface:
                     vnfd:type: PCI-PASSTHROUGH
                     type: PCI-PASSTHROUGH
             -  vnfd:name: iface62
             -  name: iface62
                 vnfd:virtual-interface:
                 virtual-interface:
                     vnfd:type: SR-IOV
                     type: SR-IOV
             vnfd:id: abd6831e-f811-4580-9aad-1de9c6424180
             id: abd6831e-f811-4580-9aad-1de9c6424180
             vnfd:image: ref_vm22.qcow2
             image: ref_vm22.qcow2
             vnfd:name: Ref_VM6
             name: Ref_VM6
             vnfd:vm-flavor:
             vm-flavor:
                 vnfd:memory-mb: '1024'
                 memory-mb: '1024'
                 vnfd:storage-gb: '16'
                 storage-gb: '16'
                 vnfd:vcpu-count: '1'
                 vcpu-count: '1'
         vnfd:vendor: ETSI
         vendor: ETSI
         vnfd:version: '1.0'
         version: '1.0'
</nowiki>  
</nowiki>  


Line 293: Line 293:
  <nowiki>
  <nowiki>
nsd:nsd-catalog:
nsd:nsd-catalog:
     nsd:nsd:
     nsd:
     -  nsd:constituent-vnfd:
     -  constituent-vnfd:
         -  nsd:member-vnf-index: '1'
         -  member-vnf-index: '1'
             nsd:vnfd-id-ref: abae3d33-36ec-4707-95aa-e48907bf2442
             vnfd-id-ref: abae3d33-36ec-4707-95aa-e48907bf2442
         -  nsd:member-vnf-index: '2'
         -  member-vnf-index: '2'
             nsd:vnfd-id-ref: c993c90e-857f-499e-aad3-74f1667216d2
             vnfd-id-ref: c993c90e-857f-499e-aad3-74f1667216d2
         nsd:description: Reference NS2
         description: Reference NS2
         nsd:id: cbd6d406-57ff-40ee-8155-8013a40f6bad
         id: cbd6d406-57ff-40ee-8155-8013a40f6bad
         nsd:name: Ref_NS_2
         name: Ref_NS_2
         nsd:vendor: ETSI
         vendor: ETSI
         nsd:vld:
         vld:
         -  nsd:id: '97465'
         -  id: '97465'
             nsd:name: Mgmt
             name: Mgmt
             nsd:vnfd-connection-point-ref:
             vnfd-connection-point-ref:
             -  nsd:member-vnf-index-ref: '1'
             -  member-vnf-index-ref: '1'
                 nsd:vnfd-connection-point-ref: mgmt0
                 vnfd-connection-point-ref: mgmt0
                 nsd:vnfd-id-ref: abae3d33-36ec-4707-95aa-e48907bf2442
                 vnfd-id-ref: abae3d33-36ec-4707-95aa-e48907bf2442
             -  nsd:member-vnf-index-ref: '2'
             -  member-vnf-index-ref: '2'
                 nsd:vnfd-connection-point-ref: mgmt
                 vnfd-connection-point-ref: mgmt
                 nsd:vnfd-id-ref: c993c90e-857f-499e-aad3-74f1667216d2
                 vnfd-id-ref: c993c90e-857f-499e-aad3-74f1667216d2
         -  nsd:id: f66e6
         -  id: f66e6
             nsd:vnfd-connection-point-ref:
             vnfd-connection-point-ref:
             -  nsd:member-vnf-index-ref: '1'
             -  member-vnf-index-ref: '1'
                 nsd:vnfd-connection-point-ref: east
                 vnfd-connection-point-ref: east
                 nsd:vnfd-id-ref: abae3d33-36ec-4707-95aa-e48907bf2442
                 vnfd-id-ref: abae3d33-36ec-4707-95aa-e48907bf2442
             -  nsd:member-vnf-index-ref: '2'
             -  member-vnf-index-ref: '2'
                 nsd:vnfd-connection-point-ref: east
                 vnfd-connection-point-ref: east
                 nsd:vnfd-id-ref: c993c90e-857f-499e-aad3-74f1667216d2
                 vnfd-id-ref: c993c90e-857f-499e-aad3-74f1667216d2
</nowiki>
</nowiki>

Revision as of 16:28, 1 March 2017

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.

Reference NS #1: Testing an endpoint VNF

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

Reference VNF#11: Endpoint

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.

OSM VNF descriptor for VNF#11

File:Ref VNF 11.tar.gz

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

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

OSM VNF descriptor for VNF#21

File:Ref VNF 21.tar.gz

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

File:Ref NS1.tar.gz

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

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

Reference VNF#12: Middle point

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

OSM VNF descriptor for VNF#12

File:Ref VNF 12.tar.gz

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

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

OSM VNF descriptor for VNF#22

File:Ref VNF 22.tar.gz

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

File:Ref NS 2.tar.gz

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