2 # Copyright 2015 Telefonica Investigacion y Desarrollo, S.A.U.
3 # This file is part of openmano
6 # Licensed under the Apache License, Version 2.0 (the "License"); you may
7 # not use this file except in compliance with the License. You may obtain
8 # a copy of the License at
10 # http://www.apache.org/licenses/LICENSE-2.0
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15 # License for the specific language governing permissions and limitations
18 # For those usages not covered by the Apache License, Version 2.0 please
19 # contact with: nfvlabs@tid.es
24 description: This is a template to help in the creation of your own VNFs
25 # class: parent # Optional. Used to organize VNFs
28 type: mgmt # "mgmt" (autoconnect to management net), "bridge", "data"
29 VNFC: TEMPLATE-VM # Virtual Machine this interface belongs to
30 local_iface_name: mgmt0 # interface name inside this Virtual Machine (must be defined in the VNFC section)
31 description: Management interface
36 description: Data interface 1
41 description: Data interface 2
46 description: Bridge interface
47 VNFC: # Virtual machine array
48 - name: TEMPLATE-VM # name of Virtual Machine
49 # count: 1 #by default 1
50 description: TEMPLATE description
51 VNFC image: /path/to/imagefolder/TEMPLATE-VM.qcow2
52 # image metadata: {"bus":"ide", "os_type":"windows", "use_incremental": "no" } #Optional
53 # processor: #Optional
54 # model: Intel(R) Xeon(R) CPU E5-4620 0 @ 2.20GHz
55 # features: ["64b", "iommu", "lps", "tlbps", "hwsv", "dioc", "ht"]
56 # hypervisor: #Optional
58 # version: "10002|12001|2.6.32-358.el6.x86_64"
59 # vcpus: 1 # Only for traditional cloud VMs. Number of virtual CPUs (oversubscription is allowed).
60 # ram: 1024 # Only for traditional cloud VMs. Memory in MBytes (not from hugepages, oversubscription is allowed)
61 # disk: 10 # disk size in GiB, by default 1
63 - paired-threads: 5 # "cores", "paired-threads", "threads"
64 paired-threads-id: [ [0,1], [2,3], [4,5], [6,7], [8,9] ] # By default follows incremental order
69 dedicated: "yes" # "yes"(passthrough), "no"(sriov with vlan tags), "yes:sriov"(sriovi, but exclusive and without vlan tag)
71 # mac_address: '20:33:45:56:77:44' #avoid this option if possible
76 # mac_address: '20:33:45:56:77:45' #avoid this option if possible
79 vpci: "0000:00:09.0" # Optional. Virtual PCI address
80 bandwidth: 1 Mbps # Optional. Informative only
81 # mac_address: '20:33:45:56:77:46' #avoid this option if possible
82 # model: 'virtio' # ("virtio","e1000","ne2k_pci","pcnet","rtl8139") By default, it is automatically filled by libvirt
86 # mac_address: '20:33:45:56:77:47' #avoid this option if possible
87 # model: 'virtio' # ("virtio","e1000","ne2k_pci","pcnet","rtl8139") By default, it is automatically filled by libvirt
88 devices: # Optional, order determines device letter asignation (hda, hdb, ...)
89 - type: disk # "disk","cdrom","xml"
90 image: /path/to/imagefolder/SECOND-DISK.qcow2
91 # image metadata: {"bus":"ide", "os_type":"windows", "use_incremental": "no" }
92 # vpci: "0000:00:03.0" # Optional, not for disk or cdrom
94 image: /path/to/imagefolder/CDROM-IMAGE.qcow2
95 # image metadata: {"bus":"ide", "os_type":"windows", "use_incremental": "no" }
97 image: /path/to/imagefolder/ADDITIONAL-DISK.qcow2 # Optional, depending on the device type
98 image metadata: {"bus":"ide", "os_type":"windows", "use_incremental": "no" } # Optional, depending on the device type
99 vpci: "0000:00:03.0" # Optional, depending on the device type (not needed for disk or cdrom)
100 xml: ' xml text for XML described devices. Do not use single quotes inside
101 The following words, if found, will be replaced:
102 __file__ by image path, (image must be provided)
103 __format__ by qcow2 or raw (image must be provided)
104 __dev__ by device letter (b, c, d ...)
105 __vpci__ by vpci (vpci must be provided)
107 # Additional Virtual Machines would be included here