| ## | |
| # Copyright 2015 Telefónica Investigación y Desarrollo, S.A.U. | |
| # This file is part of openmano | |
| # All Rights Reserved. | |
| # | |
| # Licensed under the Apache License, Version 2.0 (the "License"); you may | |
| # not use this file except in compliance with the License. You may obtain | |
| # a copy of the License at | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, software | |
| # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | |
| # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | |
| # License for the specific language governing permissions and limitations | |
| # under the License. | |
| # | |
| # For those usages not covered by the Apache License, Version 2.0 please | |
| # contact with: nfvlabs@tid.es | |
| ## | |
| --- | |
| vnf: | |
| name: TEMPLATE-2VM | |
| description: This is a template to help in the creation of multi-VM VNFs | |
| # class: parent # Optional. Used to organize VNFs | |
| internal-connections: | |
| - name: datanet | |
| description: datanet | |
| type: data | |
| elements: | |
| - VNFC: VirtualMachine-1 | |
| local_iface_name: xe0 | |
| - VNFC: VirtualMachine-2 | |
| local_iface_name: xe0 | |
| - name: controlnet | |
| description: controlnet | |
| type: bridge | |
| elements: | |
| - VNFC: VirtualMachine-1 | |
| local_iface_name: ge0 | |
| - VNFC: VirtualMachine-2 | |
| local_iface_name: ge0 | |
| external-connections: | |
| - name: mgmt0 | |
| type: mgmt # "mgmt" (autoconnect to management net), "bridge", "data" | |
| VNFC: VirtualMachine-1 # Virtual Machine this interface belongs to | |
| local_iface_name: mgmt0 # interface name inside this Virtual Machine (must be defined in the VNFC section) | |
| description: Management interface 1 | |
| - name: mgmt1 | |
| type: mgmt # "mgmt" (autoconnect to management net), "bridge", "data" | |
| VNFC: VirtualMachine-2 # Virtual Machine this interface belongs to | |
| local_iface_name: mgmt0 # interface name inside this Virtual Machine (must be defined in the VNFC section) | |
| description: Management interface 2 | |
| - name: data0 | |
| type: data # "mgmt" (autoconnect to management net), "bridge", "data" | |
| VNFC: VirtualMachine-1 # Virtual Machine this interface belongs to | |
| local_iface_name: xe1 # interface name inside this Virtual Machine (must be defined in the VNFC section) | |
| description: Data interface 1 | |
| - name: data1 | |
| type: data # "mgmt" (autoconnect to management net), "bridge", "data" | |
| VNFC: VirtualMachine-2 # Virtual Machine this interface belongs to | |
| local_iface_name: xe1 # interface name inside this Virtual Machine (must be defined in the VNFC section) | |
| description: Data interface 2 | |
| VNFC: # Virtual machine array | |
| # First Virtual Machine | |
| - name: VirtualMachine-1 # name of Virtual Machine | |
| description: VM 1 in the MultiVM template | |
| VNFC image: /path/to/imagefolder/TEMPLATE-2VM-VM1.qcow2 | |
| # image metadata: {"bus":"ide", "os_type":"windows", "use_incremental": "no" } #Optional | |
| # processor: #Optional | |
| # model: Intel(R) Xeon(R) CPU E5-4620 0 @ 2.20GHz | |
| # features: ["64b", "iommu", "lps", "tlbps", "hwsv", "dioc", "ht"] | |
| # hypervisor: #Optional | |
| # type: QEMU-kvm | |
| # version: "10002|12001|2.6.32-358.el6.x86_64" | |
| # vcpus: 1 # Only for traditional cloud VMs. Number of virtual CPUs (oversubscription is allowed). | |
| # ram: 1024 # Only for traditional cloud VMs. Memory in MBytes (not from hugepages, oversubscription is allowed) | |
| # disk: 10 # disk size in GiB, by default 1 | |
| numas: | |
| - paired-threads: 5 # "cores", "paired-threads", "threads" | |
| paired-threads-id: [ [0,1], [2,3], [4,5], [6,7], [8,9] ] # By default follows incremental order | |
| memory: 14 # GBytes | |
| interfaces: | |
| - name: xe0 | |
| vpci: "0000:00:11.0" | |
| dedicated: "yes" # "yes"(passthrough), "no"(sriov with vlan tags), "yes:sriov"(sriovi, but exclusive and without vlan tag) | |
| bandwidth: 10 Gbps | |
| #mac_address: '20:33:45:56:77:44' #avoid this option if possible | |
| - name: xe1 | |
| vpci: "0000:00:12.0" | |
| dedicated: "yes" | |
| bandwidth: 10 Gbps | |
| #mac_address: '20:33:45:56:77:45' #avoid this option if possible | |
| bridge-ifaces: | |
| - name: mgmt0 | |
| vpci: "0000:00:09.0" # Optional. Virtual PCI address | |
| bandwidth: 1 Mbps # Optional. Informative only | |
| # mac_address: '20:33:45:56:77:46' #avoid this option if possible | |
| # model: 'virtio' # ("virtio","e1000","ne2k_pci","pcnet","rtl8139") By default, it is automatically filled by libvirt | |
| - name: ge0 | |
| vpci: "0000:00:10.0" | |
| bandwidth: 1 Mbps | |
| # mac_address: '20:33:45:56:77:47' # avoid this option if possible | |
| # model: 'virtio' # ("virtio","e1000","ne2k_pci","pcnet","rtl8139") By default, it is automatically filled by libvirt | |
| devices: # Optional, order determines device letter asignation (hda, hdb, ...) | |
| - type: disk # "disk","cdrom","xml" | |
| image: /path/to/imagefolder/SECOND-DISK.qcow2 | |
| # image metadata: {"bus":"ide", "os_type":"windows", "use_incremental": "no" } | |
| # vpci: "0000:00:03.0" # Optional, not for disk or cdrom | |
| - type: cdrom | |
| image: /path/to/imagefolder/CDROM-IMAGE.qcow2 | |
| # image metadata: {"bus":"ide", "os_type":"windows", "use_incremental": "no" } | |
| - type: xml | |
| image: /path/to/imagefolder/ADDITIONAL-DISK.qcow2 # Optional, depending on the device type | |
| image metadata: {"bus":"ide", "os_type":"windows", "use_incremental": "no" } # Optional, depending on the device type | |
| vpci: "0000:00:03.0" # Optional, depending on the device type (not needed for disk or cdrom) | |
| xml: ' xml text for XML described devices. Do not use single quotes inside | |
| The following words, if found, will be replaced: | |
| __file__ by image path, (image must be provided) | |
| __format__ by qcow2 or raw (image must be provided) | |
| __dev__ by device letter (b, c, d ...) | |
| __vpci__ by vpci (vpci must be provided) | |
| ' | |
| # Second Virtual Machine | |
| - name: VirtualMachine-2 # name of Virtual Machine | |
| description: VM 2 in the MultiVM template | |
| VNFC image: /path/to/imagefolder/TEMPLATE-2VM-VM1.qcow2 # In this case, it is the same as VirtualMachine-1, but it could have been different | |
| # image metadata: {"bus":"ide", "os_type":"windows", "use_incremental": "no" } #Optional | |
| # processor: #Optional | |
| # model: Intel(R) Xeon(R) CPU E5-4620 0 @ 2.20GHz | |
| # features: ["64b", "iommu", "lps", "tlbps", "hwsv", "dioc", "ht"] | |
| # hypervisor: #Optional | |
| # type: QEMU-kvm | |
| # version: "10002|12001|2.6.32-358.el6.x86_64" | |
| # vcpus: 1 # Only for traditional cloud VMs. Number of virtual CPUs (oversubscription is allowed). | |
| # ram: 1024 # Only for traditional cloud VMs. Memory in MBytes (not from hugepages, oversubscription is allowed) | |
| # disk: 10 # disk size in GiB, by default 1 | |
| numas: | |
| - paired-threads: 5 # "cores", "paired-threads", "threads" | |
| paired-threads-id: [ [0,1], [2,3], [4,5], [6,7], [8,9] ] # By default follows incremental order | |
| memory: 14 # GBytes | |
| interfaces: | |
| - name: xe0 | |
| vpci: "0000:00:11.0" | |
| dedicated: "yes" # "yes"(passthrough), "no"(sriov with vlan tags), "yes:sriov"(sriovi, but exclusive and without vlan tag) | |
| bandwidth: 10 Gbps | |
| #mac_address: '20:33:45:56:77:44' #avoid this option if possible | |
| - name: xe1 | |
| vpci: "0000:00:12.0" | |
| dedicated: "yes" | |
| bandwidth: 10 Gbps | |
| #mac_address: '20:33:45:56:77:45' #avoid this option if possible | |
| bridge-ifaces: | |
| - name: mgmt0 | |
| vpci: "0000:00:09.0" # Optional | |
| bandwidth: 1 Mbps # Optional, informative only | |
| # mac_address: '20:33:45:56:77:46' #avoid this option if possible | |
| # model: 'virtio' # ("virtio","e1000","ne2k_pci","pcnet","rtl8139") By default, it is automatically filled by libvirt | |
| - name: ge0 | |
| vpci: "0000:00:10.0" | |
| bandwidth: 1 Mbps | |
| # mac_address: '20:33:45:56:77:47' #avoid this option if possible | |
| # model: 'virtio' # ("virtio","e1000","ne2k_pci","pcnet","rtl8139") By default, it is automatically filled by libvirt | |
| devices: # Optional, order determines device letter asignation (hda, hdb, ...) | |
| - type: disk # "disk","cdrom","xml" | |
| image: /path/to/imagefolder/SECOND-DISK.qcow2 | |
| # image metadata: {"bus":"ide", "os_type":"windows", "use_incremental": "no" } | |
| # vpci: "0000:00:03.0" # Optional, not for disk or cdrom | |
| - type: cdrom | |
| image: /path/to/imagefolder/CDROM-IMAGE.qcow2 | |
| #image metadata: {"bus":"ide", "os_type":"windows", "use_incremental": "no" } | |
| - type: xml | |
| image: /path/to/imagefolder/ADDITIONAL-DISK.qcow2 # Optional, depending on the device type | |
| image metadata: {"bus":"ide", "os_type":"windows", "use_incremental": "no" } # Optional, depending on the device type | |
| vpci: "0000:00:03.0" # Optional, depending on the device type (not needed for disk or cdrom) | |
| xml: ' xml text for XML described devices. Do not use single quotes inside | |
| The following words, if found, will be replaced: | |
| __file__ by image path, (image must be provided) | |
| __format__ by qcow2 or raw (image must be provided) | |
| __dev__ by device letter (b, c, d ...) | |
| __vpci__ by vpci (vpci must be provided) | |
| ' | |
| # Additional Virtual Machines can be included here | |