##
# 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
##
---
schema_version: "0.2"
vnf:
    name:        dataplaneVNF_2VMs_v02
    description: "Example of a dataplane VNF consisting of two VMs for data plane workloads with one internal network"
    # class: parent      # Optional. Used to organize VNFs
    internal-connections:
    -   name:        datanet
        description: datanet
        type:        e-lan
        implementation: underlay
        ip-profile:
            ip-version:       IPv4
            subnet-address:   192.168.1.0/24
            gateway-address:  192.168.1.1
            dns-address:      8.8.8.8
            dhcp:
                enabled: true
                start-address: 192.168.1.100
                count: 100
        elements:
        -   VNFC:             VNF_2VMs-VM1
            local_iface_name: xe0
            ip_address:       192.168.1.2
        -   VNFC:             VNF_2VMs-VM2
            local_iface_name: xe0
            ip_address:       192.168.1.3
    external-connections:
    -   name:              control0
        type:              mgmt
        VNFC:              VNF_2VMs-VM1
        local_iface_name:  eth0
        description:       control interface VM1
    -   name:              control1
        type:              mgmt
        VNFC:              VNF_2VMs-VM2
        local_iface_name:  eth0
        description:       control interface VM2
    -   name:              in
        type:              data
        VNFC:              VNF_2VMs-VM1
        local_iface_name:  xe1
        description:       Dataplane interface input
    -   name:              out
        type:              data
        VNFC:              VNF_2VMs-VM2
        local_iface_name:  xe1
        description:       Dataplane interface output
    VNFC:
    -   name:        VNF_2VMs-VM1
        description: "Dataplane VM1 with 4 threads, 2 GB hugepages, 2 SR-IOV interface"
        #Copy the image to a compute path and edit this path
        VNFC image:  /path/to/imagefolder/dataplaneVNF_2VMs.qcow2
        disk: 10
        numas: 
        -   paired-threads: 2         # "cores", "paired-threads", "threads"
            memory: 2                 # GBytes
            interfaces:
            -   name:      xe0
                vpci:      "0000:00:11.0"
                dedicated: "no"         # "yes"(passthrough), "no"(sriov with vlan tags), "yes:sriov"(sriovi, but exclusive and without vlan tag)
                bandwidth: 1 Gbps
            -   name:      xe1
                vpci:      "0000:00:12.0"
                dedicated: "no"
                bandwidth: 1 Gbps
        bridge-ifaces:
        -   name:      eth0
            vpci:      "0000:00:09.0"
            bandwidth: 1 Mbps          # Optional, informative only

    -   name:        VNF_2VMs-VM2
        description: "Dataplane VM1 with 2 threads, 2 GB hugepages, 2 SR-IOV interface"
        #Copy the image to a compute path and edit this path
        VNFC image:  /path/to/imagefolder/dataplaneVNF_2VMs.qcow2
        disk: 10
        numas: 
        -   paired-threads: 1         # "cores", "paired-threads", "threads"
            memory: 2                 # GBytes
            interfaces:
            -   name:      xe0
                vpci:      "0000:00:11.0"
                dedicated: "no"         # "yes"(passthrough), "no"(sriov with vlan tags), "yes:sriov"(sriovi, but exclusive and without vlan tag)
                bandwidth: 1 Gbps
            -   name:      xe1
                vpci:      "0000:00:12.0"
                dedicated: "no"
                bandwidth: 1 Gbps
        bridge-ifaces:
        -   name:      eth0
            vpci:      "0000:00:09.0"
            bandwidth: 1 Mbps          # Optional, informative only

