---
# profile_manifests/opencloud.yml
# Generic OpenCloud Site

# site configuration
site_name: generic_opencloud
site_humanname: "Generic OpenCloud"
deployment_type: campus

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
use_openstack: True
use_fabric: False

headnode_name: head1

xos_tosca_config_templates:
  - vtn-service.yaml
  - management-net.yaml

build_xos_base_image: True

# GUI Branding
# Not neeeded, default is OpenCloud

# 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: onos-apps/apps/vtn
    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

profile_library: "rcord"

# SSL certificate generation
ssl_cert_subj_prefix: "/C=US/ST=California/L=Menlo Park/O=ON.Lab/OU={{ site_humanname }} Deployment"

server_certs:
  - cn: "keystone.{{ site_suffix }}"
    subj: "{{ ssl_cert_subj_prefix }}/CN=keystone.{{ site_suffix }}"
    altnames:
      - "DNS:keystone.{{ site_suffix }}"
      - "DNS:keystone"
  - cn: "xos-core.{{ site_suffix }}"
    subj: "{{ ssl_cert_subj_prefix }}/CN=xos-core.{{ site_suffix }}"
    altnames:
      - "DNS:xos-core.{{ site_suffix }}"

# docker registry users
docker_registry_users:
  - name: "{{ xos_admin_user }}"
    password: "{{ xos_admin_pass }}"

# Network/DNS settings
site_suffix: generic.infra.opencloud.us

dns_search:
  - "{{ site_suffix }}"

mgmt_ipv4_first_octets: "192.168.200"

dns_servers:
  - "{{ mgmt_ipv4_first_octets }}.1"

headnode_user: vagrant

# DNS settings for NSD/Unbound
nsd_zones:
  - name: "{{ site_suffix }}"
    ipv4_first_octets: "{{ mgmt_ipv4_first_octets }}"
    name_reverse_unbound: "168.192.in-addr.arpa"
    soa: ns1
    ns:
      - { name: ns1 }
    nodelists:
      - head_lxd_list
      - physical_node_list
    aliases:
      - { name: "apt-cache", dest: "head1" }
      - { name: "cordloghost", dest: "head1" }
      - { name: "docker", dest: "head1" }
      - { name: "ns", dest: "head1" }
      - { name: "ns1", dest: "head1" }
      - { name: "onos-cord", dest: "head1" }
      - { name: "xos", dest: "head1" }
      - { name: "xos-chameleon", dest: "head1" }
      - { name: "xos-rest-gw", dest: "head1" }
      - { name: "xos-spa-gui", dest: "head1" }

unbound_listen_all: True

unbound_interfaces:
  - "{{ mgmt_ipv4_first_octets }}.1/24"

dhcpd_subnets:
  - interface: mgmtbr
    cidr: "{{ mgmt_ipv4_first_octets }}.1/24"
    dhcp_first: 129
    dhcp_last: 254
    other_static:
      - physical_node_list
      - head_lxd_list

# network interface setup
mgmt_interface: eth1

physical_node_list:
  - name: head1
    ipv4_last_octet: 1
    aliases:
      - head
  - name: compute1
    ipv4_last_octet: 20
  - name: compute2
    ipv4_last_octet: 21

# 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

# External interface name on compute nodes
compute_external_interface: eth0

# ONOS version
onos_docker_image: "onosproject/onos:1.8.7"

on_maas: False
on_cloudlab: False

run_dist_upgrade: False

openstack_version: kilo

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

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

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

charm_versions:
  ceilometer-agent: "cs:trusty/ceilometer-agent-13"
  ceilometer: "cs:trusty/ceilometer-17"
  glance: "cs:trusty/glance-28"
  keystone: "cs:trusty/keystone-33"
  mongodb: "cs:trusty/mongodb-33"
  neutron-api: "cs:~cordteam/trusty/neutron-api-5"
  nova-compute: "cs:~cordteam/trusty/nova-compute-2"
  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: "http://www.vicci.org/opencloud/trusty-server-cloudimg-amd64-disk1.img"
    checksum: "sha256:c2d0ffc937aeb96016164881052a496658efeb98959dc68e73d9895c5d9920f7"

