heat_template_version: 2016-04-08

description: >
  Gnocchi service configured with Puppet

parameters:
  ServiceNetMap:
    default: {}
    description: Mapping of service_name -> network name. Typically set
                 via parameter_defaults in the resource registry.  This
                 mapping overrides those in ServiceNetMapDefaults.
    type: json
  DefaultPasswords:
    default: {}
    type: json
  EndpointMap:
    default: {}
    description: Mapping of service endpoint -> protocol. Typically set
                 via parameter_defaults in the resource registry.
    type: json
  GnocchiIndexerBackend:
    default: 'mysql'
    description: The short name of the Gnocchi indexer backend to use.
    type: string
  GnocchiPassword:
    description: The password for the gnocchi service and db account.
    type: string
    hidden: true
  GnocchiRbdPoolName:
    default: metrics
    type: string
  CephClientUserName:
    default: openstack
    type: string
  KeystoneRegion:
    type: string
    default: 'regionOne'
    description: Keystone region for endpoint
  RedisPassword:
    description: The password for the redis service account.
    type: string
    hidden: true
  Debug:
    type: string
    default: ''
    description: Set to True to enable debugging on all services.

outputs:
  aux_parameters:
    description: Additional parameters referenced outside the base file
    value:
      gnocchi_indexer_backend: {get_param: GnocchiIndexerBackend}
  role_data:
    description: Shared role data for the Heat services.
    value:
      service_name: gnocchi_base
      config_settings:
        #Gnocchi engine
        gnocchi_redis_password: {get_param: RedisPassword}
        gnocchi::debug: {get_param: Debug}
        gnocchi::db::database_connection:
          list_join:
            - ''
            - - {get_param: [EndpointMap, MysqlInternal, protocol]}
              - '://gnocchi:'
              - {get_param: GnocchiPassword}
              - '@'
              - {get_param: [EndpointMap, MysqlInternal, host]}
              - '/gnocchi'
        gnocchi::db::sync::extra_opts: '--skip-storage --create-legacy-resource-types'
        gnocchi::storage::swift::swift_user: 'service:gnocchi'
        gnocchi::storage::swift::swift_auth_version: 2
        gnocchi::storage::swift::swift_key: {get_param: GnocchiPassword}
        gnocchi::storage::ceph::ceph_pool: {get_param: GnocchiRbdPoolName}
        gnocchi::storage::ceph::ceph_username: {get_param: CephClientUserName}
        gnocchi::storage::ceph::ceph_keyring:
          list_join:
          - '.'
          - - '/etc/ceph/ceph'
            - 'client'
            - {get_param: CephClientUserName}
            - 'keyring'
        #Gnocchi statsd
        gnocchi::statsd::resource_id: '0a8b55df-f90f-491c-8cb9-7cdecec6fc26'
        gnocchi::statsd::user_id: '27c0d3f8-e7ee-42f0-8317-72237d1c5ae3'
        gnocchi::statsd::project_id: '6c38cd8d-099a-4cb2-aecf-17be688e8616'
        gnocchi::statsd::flush_delay: 10
        gnocchi::statsd::archive_policy_name: 'low'
