---
# Copyright 2017-present Open Networking Foundation
#
# 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.

# profile_manifests/ecord-global.yml
# Global E-CORD Profile Manifest
#
# Note: supports the `single` scenario, but not the virtual/physical scenarios
# (requires ONOS, but not MaaS/OpenStack)

# Site configuration
site_name: ecordglobal
site_humanname: "Global E-CORD"
site_suffix: "{{ site_name }}.cord.lab"
deployment_type: "global_ecord"

# Feature toggles
use_maas: True
use_apt_cache: True

# XOS config
xos_tosca_config_templates:
  - onos-global-service.yaml
  - xos-gui-extensions.yml
  - carrierethernet-global-app.yaml

xos_new_tosca_config_templates:
  - service-graph-constraints.yaml


xos_other_templates:
 - fabric-network-cfg.json

# GUI Config [new GUI]
gui_project_name: "Global E-CORD"
gui_background: "cord-bg.jpg" # TODO find ecord image
gui_payoff: "Your Enterprise Global VNF orchestrator"

enabled_gui_extensions:
  - name: vnaas
    path: orchestration/xos_services/vnaas/xos/gui
    extra_files:
      - app/style/style.css
      - mapconstants.js

# paths defined in manifest/default.xml
xos_services:
  - name: onos
    path: orchestration/xos_services/onos-service
  - name: vnaas
    path: orchestration/xos_services/vnaas

# service graph gui constraints
xos_gui_service_graph_constraints: '["vnaas"]'

# VTN network configuration
management_network_ip: 172.27.0.1/24
data_plane_ip: 10.168.0.253/24
