---

# 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/opencloud.yml
# OpenCloud Profile Manifest

# Profile info located in orchestration/profiles/<cord_use_case>
cord_use_case: rcord

# Site configuration
site_name: generic-opencloud
site_humanname: "Generic OpenCloud"
site_suffix: "{{ site_name }}.opencloud.us"
deployment_type: campus

# Feature toggles
use_maas: False

# XOS config
xos_tosca_config_templates:
  - xos-gui-extensions.yml
  - vtn-service.yaml
  - management-net.yaml

# GUI Config [new GUI], used in app.config.js.j2 and style.config.js.j2
gui_project_name: "OpenCloud"
gui_favicon: "opencloud-favicon.png"
gui_background: "opencloud-bg.jpg"
gui_payoff: "A Value-Added Cloud for the Internet2 Community"
gui_logo: "opencloud-logo.png"

# paths defined in manifest/default.xml
xos_services:
  - name: vtn
    path: orchestration/xos_services/vtn-service
    keypair: vsg_rsa
  - name: openstack
    path: orchestration/xos_services/openstack
  - name: onos
    path: orchestration/xos_services/onos-service
    keypair: onos_rsa
  - name: vrouter
    path: orchestration/xos_services/vrouter

enabled_gui_extensions: []

# External interface name on compute nodes
compute_external_interface: eth0

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

# Juju setup
charm_versions:
  ceilometer-agent: "cs:trusty/ceilometer-agent-13"
  ceilometer: "cs:trusty/ceilometer-17"
  glance: "cs:trusty/glance-28"
  keystone: "cs:trusty/keystone-267"
  mongodb: "cs:trusty/mongodb-33"
  neutron-api: "cs:~cordteam/trusty/neutron-api-6"
  nova-cloud-controller: "cs:trusty/nova-cloud-controller-64"
  nova-compute: "cs:~cordteam/trusty/nova-compute-4"
  ntp: "cs:trusty/ntp-14"
  openstack-dashboard: "cs:trusty/openstack-dashboard-19"
  percona-cluster: "cs:trusty/percona-cluster-31"
  rabbitmq-server: "cs:trusty/rabbitmq-server-42"

head_lxd_list:
  - name: "juju-1"
    service: "juju"
    aliases:
       - "juju"
    ipv4_last_octet: 50

  - name: "ceilometer-1"
    service: "ceilometer"
    aliases:
      - "ceilometer"
    ipv4_last_octet: 51
    forwarded_ports:
      - { ext: 8777, int: 8777 }

  - name: "glance-1"
    service: "glance"
    aliases:
      - "glance"
    ipv4_last_octet: 52
    forwarded_ports:
      - { ext: 9292, int: 9292 }

  - name: "keystone-1"
    service: "keystone"
    aliases:
      - "keystone"
    ipv4_last_octet: 53
    forwarded_ports:
      - { ext: 35357, int: 35357 }
      - { ext: 4990, int: 4990 }
      - { ext: 5000, int: 5000 }

  - name: "percona-cluster-1"
    service: "percona-cluster"
    aliases:
      - "percona-cluster"
    ipv4_last_octet: 54

  - name: "neutron-api-1"
    service: "neutron-api"
    aliases:
      - "neutron-api"
    ipv4_last_octet: 55
    forwarded_ports:
      - { ext: 9696, int: 9696 }

  - name: "nova-cloud-controller-1"
    service: "nova-cloud-controller"
    aliases:
      - "nova-cloud-controller"
    ipv4_last_octet: 56
    forwarded_ports:
      - { ext: 8774, int: 8774 }

  - name: "openstack-dashboard-1"
    service: "openstack-dashboard"
    aliases:
      - "openstack-dashboard"
    ipv4_last_octet: 57
    forwarded_ports:
      - { ext: 8080, int: 80 }

  - name: "rabbitmq-server-1"
    service: "rabbitmq-server"
    aliases:
      - "rabbitmq-server"
    ipv4_last_octet: 58

  - name: "mongodb-1"
    service: "mongodb"
    aliases:
      - "mongodb"
    ipv4_last_octet: 59

lxd_service_list:
  - ceilometer
  - glance
  - keystone
  - mongodb
  - neutron-api
  - nova-cloud-controller
  - openstack-dashboard
  - percona-cluster
  - rabbitmq-server

standalone_service_list:
  - ceilometer-agent
  - ntp

service_relations:
  - name: keystone
    relations: [ "percona-cluster", ]

  - name: nova-cloud-controller
    relations: [ "percona-cluster", "rabbitmq-server", "glance", "keystone", ]

  - name: glance
    relations: [ "percona-cluster", "keystone", ]

  - name: neutron-api
    relations: [ "keystone", "percona-cluster", "rabbitmq-server", "nova-cloud-controller", ]

  - name: openstack-dashboard
    relations: [ "keystone", ]

  - name: ceilometer
    relations: [ "mongodb", "rabbitmq-server" ]

  - name: "ceilometer:identity-service"
    relations: [ "keystone:identity-service", ]

  - name: "ceilometer:ceilometer-service"
    relations: [ "ceilometer-agent:ceilometer-service", ]


compute_relations:
  - name: nova-compute
    relations: [ "ceilometer-agent", "glance", "nova-cloud-controller", ]

  - name: "nova-compute:shared-db"
    relations: [ "percona-cluster:shared-db", ]

  - name: "nova-compute:amqp"
    relations: [ "rabbitmq-server:amqp", ]

  - name: ntp
    relations: [ "nova-compute", ]


xos_images:
  - name: "trusty-server-multi-nic"
    url: "https://github.com/opencord/platform-install/releases/download/vms/trusty-server-cloudimg-amd64-disk1.img.20170201"
    checksum: "sha256:ebf007ba3ec1043b7cd011fc6668e2a1d1d4c69c41071e8513ab355df7a057cb"

