##
# Copyright 2015 Telefonica Investigacion 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

