---
# profile_manifests/ecord.yaml
# Configures an E-CORD global pod

# site configuration
site_name: mysite
site_humanname: MySite
deployment_type: MyDeployment

credentials_dir: "{{ playbook_dir }}/credentials"
xos_admin_user: "xosadmin@opencord.org"
xos_admin_pass: "{{ lookup('password', credentials_dir ~ '/xosadmin@opencord.org chars=ascii_letters,digits') }}"
xos_admin_first: XOS
xos_admin_last: Admin

xos_users: []

use_vtn: True

xos_tosca_config_templates:
  - openstack.yaml
  - vtn-service.yaml
  - fabric-service.yaml
  - vnodglobal-service.yaml

xos_other_templates:
 - fabric-network-cfg.json

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

# GUI branding
gui_branding_name: "ECORD"
gui_branding_icon: "/static/cord-logo.png"
gui_branding_favicon: "/static/cord-favicon.png"
gui_branding_bg: "/static/cord-bg.jpg"

enabled_gui_extensions: []

# paths defined in manifest/default.xml
xos_services:
  - name: vtn
    path: onos-apps/apps/vtn
  - name: openstack
    path: orchestration/xos_services/openstack
  - name: fabric
    path: orchestration/xos_services/fabric
  - name: onos
    path: orchestration/xos_services/onos-service
  - name: metronetwork
    path: orchestration/xos_services/metro-net

xos_service_sshkeys:
  - name: onos_rsa
    source_path: "~/.ssh/id_rsa"
  - name: onos_rsa.pub
    source_path: "~/.ssh/id_rsa.pub"

# VM networks/bridges on head
virt_nets:
  - name: mgmtbr
    ipv4_prefix: 192.168.122
    head_vms: true

# site domain suffix
site_suffix: cord.lab

# resolv.conf settings
dns_search:
  - "{{ site_suffix }}"

# SSL server certificate generation
server_certs:
  - cn: "keystone.{{ site_suffix }}"
    subj: "/C=US/ST=California/L=Menlo Park/O=ON.Lab/OU=Test Deployment/CN=keystone.{{ site_suffix }}"
    altnames:
      - "DNS:keystone.{{ site_suffix }}"
      - "DNS:keystone"
  - cn: "xos-core.{{ site_suffix }}"
    subj: "/C=US/ST=California/L=Menlo Park/O=ON.Lab/OU=Test Deployment/CN=xos-core.{{ site_suffix }}"
    altnames:
      - "DNS:xos-core.{{ site_suffix }}"

# NSD/Unbound settings
nsd_zones:
  - name: "{{ site_suffix }}"
    ipv4_first_octets: 192.168.122
    name_reverse_unbound: "168.192.in-addr.arpa"
    soa: ns1
    ns:
      - { name: ns1 }
    nodelist: head_vm_list
    aliases:
      - { name: "ns1" , dest: "head" }
      - { name: "ns" , dest: "head" }
      - { name: "apt-cache" , dest: "head" }

name_on_public_interface: head

# 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


# CORD ONOS app version
cord_app_version: 1.2-SNAPSHOT

# If true, unbound listens on the head node's `ansible_default_ipv4` interface
unbound_listen_on_default: True

# turn this on, or override it when running the playbook with --extra-vars="on_cloudlab=True"
on_cloudlab: False

# turn this off, or override when running playbook with --extra-vars="on_maas=False"
on_maas: True

run_dist_upgrade: False

maas_node_key: /etc/maas/ansible/id_rsa

openstack_version: kilo

juju_config_name: cord

juju_config_path: /usr/local/src/juju_config.yml

keystone_admin_password: "{{ lookup('password', 'credentials/cord_keystone_admin chars=ascii_letters,digits') }}"

deployment_flavors:
  - m1.small
  - m1.medium
  - m1.large
  - m1.xlarge

charm_versions:
  ceilometer: "cs:trusty/ceilometer-17"
  ceilometer-agent: "cs:trusty/ceilometer-agent-13"
  glance: "cs:trusty/glance-28"
  keystone: "cs:trusty/keystone-33"
  mongodb: "cs:trusty/mongodb-33"
  percona-cluster: "cs:trusty/percona-cluster-31"
  nagios: "cs:trusty/nagios-10"
  neutron-api: "cs:~cordteam/trusty/neutron-api-5"
  nova-cloud-controller: "cs:trusty/nova-cloud-controller-64"
  nova-compute: "cs:~cordteam/trusty/nova-compute-2"
  nrpe: "cs:trusty/nrpe-4"
  ntp: "cs:trusty/ntp-14"
  openstack-dashboard: "cs:trusty/openstack-dashboard-19"
  rabbitmq-server: "cs:trusty/rabbitmq-server-42"

head_vm_list: []

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

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

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

  - name: "keystone-1"
    service: "keystone"
    aliases:
      - "keystone"
    ipv4_last_octet: 40
    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: 50

  - name: "nagios-1"
    service: "nagios"
    aliases:
      - "nagios"
    ipv4_last_octet: 60
    forwarded_ports:
      - { ext: 3128, int: 80 }

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

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

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

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

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

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

standalone_service_list:
  - ntp
  - nrpe
  - ceilometer-agent


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

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

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

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

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

  - name: nagios
    relations: [ "nrpe", ]

  - name: "percona-cluster:juju-info"
    relations: [ "nrpe:general-info", ]

  - name: rabbitmq-server
    relations: [ "nrpe", ]

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

  - 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", "nagios", "nrpe", ]

  - 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: "http://www.vicci.org/opencloud/trusty-server-cloudimg-amd64-disk1.img.20170201"
    checksum: "sha256:ebf007ba3ec1043b7cd011fc6668e2a1d1d4c69c41071e8513ab355df7a057cb"

  - name: "ceilometer-trusty-server-multi-nic"
    url: "http://www.vicci.org/cord/ceilometer-trusty-server-multi-nic.compressed.qcow2"
    checksum: "sha256:b77ef8d692b640568dea13df99fe1dfcb1f4bb4ac05408db9ff77399b34f754f"

  - name: "ceilometer-service-trusty-server-multi-nic"
    url: "http://www.vicci.org/cord/ceilometer-service-trusty-server-multi-nic.compressed.qcow2.20170131"
    checksum: "sha256:f0341e283f0f2cb8f70cd1a6347e0081c9c8492ef34eb6397c657ef824800d4f"
