openmano first code upload
[osm/RO.git] / vnfs / vnf-template.yaml
1 ---\r
2 vnf:\r
3     name: TEMPLATE\r
4     description: This is a template to help in the creation of your own VNFs\r
5     # class: parent      # Optional. Used to organize VNFs\r
6     external-connections:\r
7     -   name:              mgmt0\r
8         type:              mgmt        # "mgmt" (autoconnect to management net), "bridge", "data"\r
9         VNFC:              TEMPLATE-VM # Virtual Machine this interface belongs to\r
10         local_iface_name:  mgmt0       # interface name inside this Virtual Machine (must be defined in the VNFC section)\r
11         description:       Management interface\r
12     -   name:              xe0\r
13         type:              data\r
14         VNFC:              TEMPLATE-VM\r
15         local_iface_name:  xe0\r
16         description:       Data interface 1\r
17     -   name:              xe1\r
18         type:              data\r
19         VNFC:              TEMPLATE-VM\r
20         local_iface_name:  xe1\r
21         description:       Data interface 2\r
22     -   name:              ge0\r
23         type:              bridge\r
24         VNFC:              TEMPLATE-VM\r
25         local_iface_name:  ge0\r
26         description:       Bridge interface\r
27     VNFC:                              # Virtual machine array \r
28     -   name:        TEMPLATE-VM       # name of Virtual Machine\r
29         description: TEMPLATE description\r
30         VNFC image: /path/to/imagefolder/TEMPLATE-VM.qcow2\r
31         # image metadata: {"bus":"ide", "os_type":"windows", "use_incremental": "no" } #Optional\r
32         # processor:                     #Optional\r
33         #     model: Intel(R) Xeon(R) CPU E5-4620 0 @ 2.20GHz\r
34         #     features: ["64b", "iommu", "lps", "tlbps", "hwsv", "dioc", "ht"]\r
35         # hypervisor:                    #Optional\r
36         #     type: QEMU-kvm\r
37         #     version: "10002|12001|2.6.32-358.el6.x86_64"\r
38         # vcpus: 1          # Only for traditional cloud VMs. Number of virtual CPUs (oversubscription is allowed).\r
39         # ram: 1024         # Only for traditional cloud VMs. Memory in MBytes (not from hugepages, oversubscription is allowed)\r
40         # disk: 10          # disk size in GiB, by default 1\r
41         numas: \r
42         -   paired-threads: 5          # "cores", "paired-threads", "threads"\r
43             paired-threads-id: [ [0,1], [2,3], [4,5], [6,7], [8,9] ] # By default follows incremental order\r
44             memory: 14                 # GBytes\r
45             interfaces:\r
46             -   name:      xe0\r
47                 vpci:      "0000:00:11.0"     \r
48                 dedicated: "yes"         # "yes"(passthrough), "no"(sriov with vlan tags), "yes:sriov"(sriovi, but exclusive and without vlan tag)\r
49                 bandwidth: 10 Gbps\r
50                 # mac_address: '20:33:45:56:77:44' #avoid this option if possible\r
51             -   name:      xe1\r
52                 vpci:      "0000:00:12.0"\r
53                 dedicated: "yes"\r
54                 bandwidth: 10 Gbps\r
55                 # mac_address: '20:33:45:56:77:45' #avoid this option if possible\r
56         bridge-ifaces:\r
57         -   name:      mgmt0\r
58             vpci:      "0000:00:09.0"    # Optional. Virtual PCI address\r
59             bandwidth: 1 Mbps            # Optional. Informative only\r
60             # mac_address: '20:33:45:56:77:46' #avoid this option if possible\r
61             # model:       'virtio'      # ("virtio","e1000","ne2k_pci","pcnet","rtl8139") By default, it is automatically filled by libvirt\r
62         -   name:      ge0\r
63             vpci:      "0000:00:10.0"\r
64             bandwidth: 1 Mbps\r
65             # mac_address: '20:33:45:56:77:47' #avoid this option if possible\r
66             # model:       'virtio'      # ("virtio","e1000","ne2k_pci","pcnet","rtl8139") By default, it is automatically filled by libvirt\r
67         devices:                       # Optional, order determines device letter asignation (hda, hdb, ...)\r
68         -   type:      disk            # "disk","cdrom","xml"\r
69             image:     /path/to/imagefolder/SECOND-DISK.qcow2\r
70             # image metadata: {"bus":"ide", "os_type":"windows", "use_incremental": "no" }\r
71             # vpci:      "0000:00:03.0"   # Optional, not for disk or cdrom\r
72         -   type:      cdrom\r
73             image:     /path/to/imagefolder/CDROM-IMAGE.qcow2\r
74             # image metadata: {"bus":"ide", "os_type":"windows", "use_incremental": "no" }\r
75         -   type:      xml\r
76             image:     /path/to/imagefolder/ADDITIONAL-DISK.qcow2   # Optional, depending on the device type\r
77             image metadata: {"bus":"ide", "os_type":"windows", "use_incremental": "no" }  # Optional, depending on the device type\r
78             vpci:      "0000:00:03.0"                          # Optional, depending on the device type (not needed for disk or cdrom)\r
79             xml:   '   xml text for XML described devices. Do not use single quotes inside\r
80                        The following words, if found, will be replaced:\r
81                        __file__    by image path, (image must be provided)\r
82                        __format__  by qcow2 or raw (image must be provided)\r
83                        __dev__     by device letter (b, c, d ...) \r
84                        __vpci__    by vpci (vpci must be provided)\r
85                    '\r
86     # Additional Virtual Machines would be included here\r
87 \r