##############################################################################
# Copyright (c) 2017 Mirantis Inc., Enea AB and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
---
classes:
  - system.linux.system.lowmem
  - system.linux.system.repo.mcp.openstack
  - system.linux.system.repo.mcp.extra
  - service.nfs.server
  - system.mongodb.server.single
  - system.mongodb.server.database.ceilometer
  - system.ceilometer.client
  - system.ceilometer.client.neutron
  - system.memcached.server.single
  - system.rabbitmq.server.single
  - system.rabbitmq.server.vhost.openstack
  - system.keystone.server.wsgi
  - system.keystone.server.single
  - system.keystone.client.single
  - system.keystone.client.service.nova21
  - system.keystone.client.service.nova-placement
  - system.keystone.client.service.glare
  - system.keystone.client.service.cinder3
  - system.keystone.client.service.ceilometer
  - system.keystone.client.service.aodh
  - system.glance.control.single
  - system.nova.control.single
  - system.cinder.control.single
  - system.cinder.control.backend.lvm
  - system.heat.server.single
  - service.mysql.server.single
  - system.galera.server.database.cinder
  - system.galera.server.database.glance
  - system.galera.server.database.grafana
  - system.galera.server.database.heat
  - system.galera.server.database.keystone
  - system.galera.server.database.nova
  - system.galera.server.database.ceilometer
  - system.galera.server.database.aodh
  - service.ceilometer.server.single
  - system.aodh.server.single
  - system.horizon.server.single
  - service.haproxy.proxy.single
  - cluster.virtual-mcp-ocata-common.haproxy_openstack_api
parameters:
  _param:
    linux_system_codename: xenial
  linux:
    system:
      package:
        python-msgpack:
          version: latest
    network:
      interface:
        single_int:
          enabled: true
          name: ${_param:opnfv_fn_vm_secondary_interface}
          type: eth
          proto: static
          address: ${_param:single_address}
          netmask: 255.255.255.0
        public_int:
          enabled: true
          name: ${_param:opnfv_fn_vm_quaternary_interface}
          type: eth
          proto: static
          address: ${_param:cluster_public_host}
          netmask: 255.255.255.0
  keystone:
    server:
      admin_email: ${_param:admin_email}
      pkgs:
        - keystone
        - python-keystone
        - python-keystoneclient
        - python-psycopg2
        - python-mysqldb
        - python-six
        - python-memcache
        - python-openstackclient
        - gettext-base
        - python-pycadf
  glance:
    server:
      storage:
        engine: file
      images: []
      workers: 1
  nova:
    controller:
      networking: dvr
      cpu_allocation: 54
      metadata:
        password: ${_param:metadata_password}
      bind:
        private_address: ${_param:cluster_local_address}
        public_address: ${_param:cluster_vip_address}
        novncproxy_port: 6080
      vncproxy_url: http://${_param:cluster_vip_address}:6080
      workers: 1
  heat:
    server:
      bind:
        api_cfn:
          address: ${_param:single_address}
        api_cloudwatch:
          address: ${_param:single_address}
  mysql:
    server:
      version: '5.7'
      bind:
        address: ${_param:cluster_local_address}
      key_buffer: 8
      max_allowed_packet: 128
      max_connections: 2048
      thread_stack: 512
      thread_cache_size: 12
      query_cache_limit: 2
      query_cache_size: 0
  mongodb:
    server:
      bind:
        address: ${_param:cluster_local_address},127.0.0.1
      logging:
        verbose: v
  nfs:
    server:
      share:
        nova_instances:
          path: /srv/nova/instances
          host:
            nova:
              host: ${_param:single_address}/24
              params:
                - rw
                - no_root_squash
                - async