##
# 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.3"
scenario:
  name:          complex3
  description:   Complex network scenario consisting of 2 VNFs interconnected and IP profiles in the networks
  public:        false
  vnfs:
    VNF2vms:                            # vnf name in the scenario
      vnf_name:  dataplaneVNF_2VMs_v02  # openmano vnf name
      internal_connections:
        datanet:
          ip-profile: Null
    VNF3:
      vnf_name:  dataplaneVNF3
  networks:
    dataconn1:
      type: e-lan
      implementation: underlay
      ip-profile:
        ip-version:       IPv4
        subnet-address:   10.1.1.0/24
        gateway-address:  10.1.1.1
        dns-address:      8.8.8.8
        dhcp:
          enabled:       true
          start-address: 10.1.1.100
          count:         150
      interfaces:
      -   vnf:           VNF2vms
          vnf_interface: in
          ip_address:    10.1.1.2
      -   vnf:           VNF3
          vnf_interface: data0
          ip_address:    10.1.1.3
    dataconn2:
      type: e-line
      implementation: underlay
      ip-profile:
        ip-version:       IPv4
        subnet-address:   10.1.2.0/24
        gateway-address:  10.1.2.1
        dns-address:      8.8.8.8
        dhcp:
          enabled:       true
          start-address: 10.1.2.100
          count:         150
      interfaces:
      -   vnf:           VNF2vms
          vnf_interface: out
          ip_address:    10.1.2.2
      -   vnf:           VNF3
          vnf_interface: data1
          ip_address:    10.1.2.3
    default:
      type: e-lan
      implementation: overlay
      ip-profile:
        ip-version:       IPv4
        subnet-address:   10.1.3.0/24
        gateway-address:  10.1.3.1
        dns-address:      8.8.8.8
        dhcp:
          enabled:       true
          start-address: 10.1.3.100
          count:         150
      interfaces:
      -   vnf:           VNF2vms
          vnf_interface: control0
          ip_address:    10.1.3.2
      -   vnf:           VNF2vms
          vnf_interface: control1
          ip_address:    10.1.3.3
      -   vnf:           VNF3
          vnf_interface: mgmt
          ip_address:    10.1.3.4

