##
# 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:  2
scenario:
  name:          complex
  description:   Complex network scenario consisting of 4 VNFs interconnected
  vnfs: 
    linux1:                   # vnf/net name in the scenario
      vnf_name:  linux        # VNF name as introduced in OPENMANO DB
    node1:
      vnf_name:  dataplaneVNF1
    node2:
      vnf_name:  dataplaneVNF2
    node3:
      vnf_name:  dataplaneVNF2
  networks: 
    dataconn1:
      interfaces: 
      - node1:   xe0
      - node2:   xe0
    dataconn2:
      interfaces: 
      - node1:   xe1
      - node2:   xe1
    dataconn3:
      interfaces: 
      - node1:   xe2
      - node3:   xe0
    dataconn4:
      interfaces: 
      - node1:   xe3
      - node3:   xe1
    data-sriov1:
      interfaces: 
      - node2:   xe2
      - node3:   xe2
    bridge1:
      interfaces: 
      - linux1:  eth0
      - node2:   control
      - node3:   control
    default:
      external:  true
      interfaces: 
      - node1:   mgmt
      - node2:   mgmt
      - node3:   mgmt

