Fix 1475 - Incorrect description in instantiating error
[osm/RO.git] / vnfs / vnf-template-2vm.yaml
1 ##
2 # Copyright 2015 Telefonica Investigacion y Desarrollo, S.A.U.
3 # This file is part of openmano
4 # All Rights Reserved.
5 #
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
9 #
10 #         http://www.apache.org/licenses/LICENSE-2.0
11 #
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
16 # under the License.
17 #
18 # For those usages not covered by the Apache License, Version 2.0 please
19 # contact with: nfvlabs@tid.es
20 ##
21 ---
22 vnf:
23     name: TEMPLATE-2VM
24     description: This is a template to help in the creation of multi-VM VNFs
25     # class: parent      # Optional. Used to organize VNFs
26     internal-connections:
27     -   name:        datanet
28         description: datanet
29         type:        data
30         elements:
31         -   VNFC:             VirtualMachine-1
32             local_iface_name: xe0
33         -   VNFC:             VirtualMachine-2
34             local_iface_name: xe0
35     -   name:        controlnet
36         description: controlnet
37         type:        bridge
38         elements:
39         -   VNFC:             VirtualMachine-1
40             local_iface_name: ge0
41         -   VNFC:             VirtualMachine-2
42             local_iface_name: ge0
43     external-connections:
44     -   name:              mgmt0
45         type:              mgmt              # "mgmt" (autoconnect to management net), "bridge", "data"
46         VNFC:              VirtualMachine-1  # Virtual Machine this interface belongs to
47         local_iface_name:  mgmt0             # interface name inside this Virtual Machine (must be defined in the VNFC section)
48         description:       Management interface 1
49     -   name:              mgmt1
50         type:              mgmt              # "mgmt" (autoconnect to management net), "bridge", "data"
51         VNFC:              VirtualMachine-2  # Virtual Machine this interface belongs to
52         local_iface_name:  mgmt0             # interface name inside this Virtual Machine (must be defined in the VNFC section)
53         description:       Management interface 2
54     -   name:              data0
55         type:              data              # "mgmt" (autoconnect to management net), "bridge", "data"
56         VNFC:              VirtualMachine-1  # Virtual Machine this interface belongs to
57         local_iface_name:  xe1               # interface name inside this Virtual Machine (must be defined in the VNFC section)
58         description:       Data interface 1
59     -   name:              data1
60         type:              data              # "mgmt" (autoconnect to management net), "bridge", "data"
61         VNFC:              VirtualMachine-2  # Virtual Machine this interface belongs to
62         local_iface_name:  xe1               # interface name inside this Virtual Machine (must be defined in the VNFC section)
63         description:       Data interface 2
64     VNFC:                              # Virtual machine array 
65     # First Virtual Machine
66     -   name:        VirtualMachine-1       # name of Virtual Machine
67         description: VM 1 in the MultiVM template
68         VNFC image: /path/to/imagefolder/TEMPLATE-2VM-VM1.qcow2
69         # image metadata: {"bus":"ide", "os_type":"windows", "use_incremental": "no" } #Optional
70         # processor:                     #Optional
71         #     model: Intel(R) Xeon(R) CPU E5-4620 0 @ 2.20GHz
72         #     features: ["64b", "iommu", "lps", "tlbps", "hwsv", "dioc", "ht"]
73         # hypervisor:                    #Optional
74         #     type: QEMU-kvm
75         #     version: "10002|12001|2.6.32-358.el6.x86_64"
76         # vcpus: 1          # Only for traditional cloud VMs. Number of virtual CPUs (oversubscription is allowed).
77         # ram: 1024         # Only for traditional cloud VMs. Memory in MBytes (not from hugepages, oversubscription is allowed)
78         # disk: 10          # disk size in GiB, by default 1
79         numas: 
80         -   paired-threads: 5          # "cores", "paired-threads", "threads"
81             paired-threads-id: [ [0,1], [2,3], [4,5], [6,7], [8,9] ] # By default follows incremental order
82             memory: 14                 # GBytes
83             interfaces:
84             -   name:      xe0
85                 vpci:      "0000:00:11.0"     
86                 dedicated: "yes"         # "yes"(passthrough), "no"(sriov with vlan tags), "yes:sriov"(sriovi, but exclusive and without vlan tag)
87                 bandwidth: 10 Gbps
88                 #mac_address: '20:33:45:56:77:44' #avoid this option if possible
89             -   name:      xe1
90                 vpci:      "0000:00:12.0"
91                 dedicated: "yes"
92                 bandwidth: 10 Gbps
93                 #mac_address: '20:33:45:56:77:45' #avoid this option if possible
94         bridge-ifaces:
95         -   name:      mgmt0
96             vpci:      "0000:00:09.0"  # Optional. Virtual PCI address 
97             bandwidth: 1 Mbps          # Optional. Informative only
98             # mac_address: '20:33:45:56:77:46' #avoid this option if possible
99             # model:       'virtio'      # ("virtio","e1000","ne2k_pci","pcnet","rtl8139") By default, it is automatically filled by libvirt
100         -   name:      ge0
101             vpci:      "0000:00:10.0"
102             bandwidth: 1 Mbps
103             # mac_address: '20:33:45:56:77:47' # avoid this option if possible
104             # model:       'virtio'            # ("virtio","e1000","ne2k_pci","pcnet","rtl8139") By default, it is automatically filled by libvirt
105         devices:                       # Optional, order determines device letter asignation (hda, hdb, ...)
106         -   type:      disk            # "disk","cdrom","xml"
107             image:     /path/to/imagefolder/SECOND-DISK.qcow2
108             # image metadata: {"bus":"ide", "os_type":"windows", "use_incremental": "no" }
109             # vpci:      "0000:00:03.0"   # Optional, not for disk or cdrom
110         -   type:      cdrom
111             image:     /path/to/imagefolder/CDROM-IMAGE.qcow2
112             # image metadata: {"bus":"ide", "os_type":"windows", "use_incremental": "no" }
113         -   type:      xml
114             image:     /path/to/imagefolder/ADDITIONAL-DISK.qcow2   # Optional, depending on the device type
115             image metadata: {"bus":"ide", "os_type":"windows", "use_incremental": "no" }  # Optional, depending on the device type
116             vpci:      "0000:00:03.0"                          # Optional, depending on the device type (not needed for disk or cdrom)
117             xml:   '   xml text for XML described devices. Do not use single quotes inside
118                        The following words, if found, will be replaced:
119                        __file__    by image path, (image must be provided)
120                        __format__  by qcow2 or raw (image must be provided)
121                        __dev__     by device letter (b, c, d ...) 
122                        __vpci__    by vpci (vpci must be provided)
123                    '
124     # Second Virtual Machine
125     -   name:        VirtualMachine-2       # name of Virtual Machine
126         description: VM 2 in the MultiVM template
127         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
128         # image metadata: {"bus":"ide", "os_type":"windows", "use_incremental": "no" } #Optional
129         # processor:                     #Optional
130         #     model: Intel(R) Xeon(R) CPU E5-4620 0 @ 2.20GHz
131         #     features: ["64b", "iommu", "lps", "tlbps", "hwsv", "dioc", "ht"]
132         # hypervisor:                    #Optional
133         #     type: QEMU-kvm
134         #     version: "10002|12001|2.6.32-358.el6.x86_64"
135         # vcpus: 1          # Only for traditional cloud VMs. Number of virtual CPUs (oversubscription is allowed).
136         # ram: 1024         # Only for traditional cloud VMs. Memory in MBytes (not from hugepages, oversubscription is allowed)
137         # disk: 10          # disk size in GiB, by default 1
138         numas:
139         -   paired-threads: 5          # "cores", "paired-threads", "threads"
140             paired-threads-id: [ [0,1], [2,3], [4,5], [6,7], [8,9] ] # By default follows incremental order
141             memory: 14                 # GBytes
142             interfaces:
143             -   name:      xe0
144                 vpci:      "0000:00:11.0"
145                 dedicated: "yes"         # "yes"(passthrough), "no"(sriov with vlan tags), "yes:sriov"(sriovi, but exclusive and without vlan tag)
146                 bandwidth: 10 Gbps
147                 #mac_address: '20:33:45:56:77:44' #avoid this option if possible
148             -   name:      xe1
149                 vpci:      "0000:00:12.0"
150                 dedicated: "yes"
151                 bandwidth: 10 Gbps
152                 #mac_address: '20:33:45:56:77:45' #avoid this option if possible
153         bridge-ifaces:
154         -   name:      mgmt0
155             vpci:      "0000:00:09.0"    # Optional
156             bandwidth: 1 Mbps          # Optional, informative only
157             # mac_address: '20:33:45:56:77:46' #avoid this option if possible
158             # model:       'virtio'      # ("virtio","e1000","ne2k_pci","pcnet","rtl8139") By default, it is automatically filled by libvirt
159         -   name:      ge0
160             vpci:      "0000:00:10.0"
161             bandwidth: 1 Mbps
162             # mac_address: '20:33:45:56:77:47' #avoid this option if possible
163             # model:       'virtio'      # ("virtio","e1000","ne2k_pci","pcnet","rtl8139") By default, it is automatically filled by libvirt
164         devices:                       # Optional, order determines device letter asignation (hda, hdb, ...)
165         -   type:      disk            # "disk","cdrom","xml"
166             image:     /path/to/imagefolder/SECOND-DISK.qcow2
167             # image metadata: {"bus":"ide", "os_type":"windows", "use_incremental": "no" }
168             # vpci:      "0000:00:03.0"   # Optional, not for disk or cdrom
169         -   type:      cdrom
170             image:     /path/to/imagefolder/CDROM-IMAGE.qcow2
171             #image metadata: {"bus":"ide", "os_type":"windows", "use_incremental": "no" }
172         -   type:      xml
173             image:     /path/to/imagefolder/ADDITIONAL-DISK.qcow2   # Optional, depending on the device type
174             image metadata: {"bus":"ide", "os_type":"windows", "use_incremental": "no" }  # Optional, depending on the device type
175             vpci:      "0000:00:03.0"                          # Optional, depending on the device type (not needed for disk or cdrom)
176             xml:   '   xml text for XML described devices. Do not use single quotes inside
177                        The following words, if found, will be replaced:
178                        __file__    by image path, (image must be provided)
179                        __format__  by qcow2 or raw (image must be provided)
180                        __dev__     by device letter (b, c, d ...)
181                        __vpci__    by vpci (vpci must be provided)
182                    '
183     # Additional Virtual Machines can be included here
184