--- /dev/null
+---\r
+vnf:\r
+ name: TEMPLATE\r
+ description: This is a template to help in the creation of your own VNFs\r
+ # class: parent # Optional. Used to organize VNFs\r
+ external-connections:\r
+ - name: mgmt0\r
+ type: mgmt # "mgmt" (autoconnect to management net), "bridge", "data"\r
+ VNFC: TEMPLATE-VM # Virtual Machine this interface belongs to\r
+ local_iface_name: mgmt0 # interface name inside this Virtual Machine (must be defined in the VNFC section)\r
+ description: Management interface\r
+ - name: xe0\r
+ type: data\r
+ VNFC: TEMPLATE-VM\r
+ local_iface_name: xe0\r
+ description: Data interface 1\r
+ - name: xe1\r
+ type: data\r
+ VNFC: TEMPLATE-VM\r
+ local_iface_name: xe1\r
+ description: Data interface 2\r
+ - name: ge0\r
+ type: bridge\r
+ VNFC: TEMPLATE-VM\r
+ local_iface_name: ge0\r
+ description: Bridge interface\r
+ VNFC: # Virtual machine array \r
+ - name: TEMPLATE-VM # name of Virtual Machine\r
+ description: TEMPLATE description\r
+ VNFC image: /path/to/imagefolder/TEMPLATE-VM.qcow2\r
+ # image metadata: {"bus":"ide", "os_type":"windows", "use_incremental": "no" } #Optional\r
+ # processor: #Optional\r
+ # model: Intel(R) Xeon(R) CPU E5-4620 0 @ 2.20GHz\r
+ # features: ["64b", "iommu", "lps", "tlbps", "hwsv", "dioc", "ht"]\r
+ # hypervisor: #Optional\r
+ # type: QEMU-kvm\r
+ # version: "10002|12001|2.6.32-358.el6.x86_64"\r
+ # vcpus: 1 # Only for traditional cloud VMs. Number of virtual CPUs (oversubscription is allowed).\r
+ # ram: 1024 # Only for traditional cloud VMs. Memory in MBytes (not from hugepages, oversubscription is allowed)\r
+ # disk: 10 # disk size in GiB, by default 1\r
+ numas: \r
+ - paired-threads: 5 # "cores", "paired-threads", "threads"\r
+ paired-threads-id: [ [0,1], [2,3], [4,5], [6,7], [8,9] ] # By default follows incremental order\r
+ memory: 14 # GBytes\r
+ interfaces:\r
+ - name: xe0\r
+ vpci: "0000:00:11.0" \r
+ dedicated: "yes" # "yes"(passthrough), "no"(sriov with vlan tags), "yes:sriov"(sriovi, but exclusive and without vlan tag)\r
+ bandwidth: 10 Gbps\r
+ # mac_address: '20:33:45:56:77:44' #avoid this option if possible\r
+ - name: xe1\r
+ vpci: "0000:00:12.0"\r
+ dedicated: "yes"\r
+ bandwidth: 10 Gbps\r
+ # mac_address: '20:33:45:56:77:45' #avoid this option if possible\r
+ bridge-ifaces:\r
+ - name: mgmt0\r
+ vpci: "0000:00:09.0" # Optional. Virtual PCI address\r
+ bandwidth: 1 Mbps # Optional. Informative only\r
+ # mac_address: '20:33:45:56:77:46' #avoid this option if possible\r
+ # model: 'virtio' # ("virtio","e1000","ne2k_pci","pcnet","rtl8139") By default, it is automatically filled by libvirt\r
+ - name: ge0\r
+ vpci: "0000:00:10.0"\r
+ bandwidth: 1 Mbps\r
+ # mac_address: '20:33:45:56:77:47' #avoid this option if possible\r
+ # model: 'virtio' # ("virtio","e1000","ne2k_pci","pcnet","rtl8139") By default, it is automatically filled by libvirt\r
+ devices: # Optional, order determines device letter asignation (hda, hdb, ...)\r
+ - type: disk # "disk","cdrom","xml"\r
+ image: /path/to/imagefolder/SECOND-DISK.qcow2\r
+ # image metadata: {"bus":"ide", "os_type":"windows", "use_incremental": "no" }\r
+ # vpci: "0000:00:03.0" # Optional, not for disk or cdrom\r
+ - type: cdrom\r
+ image: /path/to/imagefolder/CDROM-IMAGE.qcow2\r
+ # image metadata: {"bus":"ide", "os_type":"windows", "use_incremental": "no" }\r
+ - type: xml\r
+ image: /path/to/imagefolder/ADDITIONAL-DISK.qcow2 # Optional, depending on the device type\r
+ image metadata: {"bus":"ide", "os_type":"windows", "use_incremental": "no" } # Optional, depending on the device type\r
+ vpci: "0000:00:03.0" # Optional, depending on the device type (not needed for disk or cdrom)\r
+ xml: ' xml text for XML described devices. Do not use single quotes inside\r
+ The following words, if found, will be replaced:\r
+ __file__ by image path, (image must be provided)\r
+ __format__ by qcow2 or raw (image must be provided)\r
+ __dev__ by device letter (b, c, d ...) \r
+ __vpci__ by vpci (vpci must be provided)\r
+ '\r
+ # Additional Virtual Machines would be included here\r
+\r