+# == Class: ceilometer::agent::auth
+#
# The ceilometer::agent::auth class helps configure common
# auth settings for the agents.
#
-# == Parameters
-# [*auth_url*]
-# the keystone public endpoint
-# Optional. Defaults to 'http://localhost:5000/v2.0'
+# === Parameters:
+#
+# [*auth_url*]
+# (Optional) the keystone public endpoint
+# Defaults to 'http://localhost:5000/v2.0'.
#
-# [*auth_region*]
-# the keystone region of this node
-# Optional. Defaults to 'RegionOne'
+# [*auth_region*]
+# (Optional) the keystone region of this node
+# Defaults to 'RegionOne'.
#
-# [*auth_user*]
-# the keystone user for ceilometer services
-# Optional. Defaults to 'ceilometer'
+# [*auth_user*]
+# (Optional) the keystone user for ceilometer services
+# Defaults to 'ceilometer'.
#
-# [*auth_password*]
-# the keystone password for ceilometer services
-# Required.
+# [*auth_password*]
+# (Required) the keystone password for ceilometer services
#
-# [*auth_tenant_name*]
-# the keystone tenant name for ceilometer services
-# Optional. Defaults to 'services'
+# [*auth_tenant_name*]
+# (Optional) the keystone tenant name for ceilometer services
+# Defaults to 'services'.
#
-# [*auth_tenant_id*]
-# the keystone tenant id for ceilometer services.
-# Optional. Defaults to undef.
+# [*auth_tenant_id*]
+# (Optional) the keystone tenant id for ceilometer services.
+# Defaults to undef.
#
-# [*auth_cacert*]
-# Certificate chain for SSL validation. Optional; Defaults to 'None'
+# [*auth_cacert*]
+# (Optional) Certificate chain for SSL validation.
+# Defaults to 'None'.
#
-# [*auth_endpoint_type*]
-# Type of endpoint in Identity service catalog to use for
-# communication with OpenStack services.
-# Optional. Defaults to undef.
+# [*auth_endpoint_type*]
+# (Optional) Type of endpoint in Identity service catalog to use for
+# communication with OpenStack services.
+# Defaults to undef.
#
class ceilometer::agent::auth (
$auth_password,
+# == Class: ceilometer::agent::central
+#
# Installs/configures the ceilometer central agent
#
-# == Parameters
-# [*enabled*]
-# (optional) Should the service be enabled.
-# Defaults to true.
+# === Parameters:
+#
+# [*enabled*]
+# (Optional) Should the service be enabled.
+# Defaults to true.
#
-# [*manage_service*]
-# (optional) Whether the service should be managed by Puppet.
-# Defaults to true.
+# [*manage_service*]
+# (Optional) Whether the service should be managed by Puppet.
+# Defaults to true.
#
-# [*package_ensure*]
-# (optional) ensure state for package.
-# Defaults to 'present'
+# [*package_ensure*]
+# (Optional) ensure state for package.
+# Defaults to 'present'.
#
-# [*coordination_url*]
-# (optional) The url to use for distributed group membership coordination.
-# Defaults to undef.
+# [*coordination_url*]
+# (Optional) The url to use for distributed group membership coordination.
+# Defaults to undef.
#
class ceilometer::agent::central (
-#The ceilometer::agent::compute class installs the ceilometer compute agent
+# == Class: ceilometer::agent::compute
+#
+# The ceilometer::agent::compute class installs the ceilometer compute agent
# Include this class on all nova compute nodes
#
-# == Parameters
-# [*enabled*]
-# (optional) Should the service be enabled.
-# Defaults to true.
+# === Parameters:
+#
+# [*enabled*]
+# (Optional) Should the service be enabled.
+# Defaults to true.
#
-# [*manage_service*]
-# (optional) Whether the service should be managed by Puppet.
-# Defaults to true.
+# [*manage_service*]
+# (Optional) Whether the service should be managed by Puppet.
+# Defaults to true.
#
# [*package_ensure*]
-# (optional) ensure state for package.
-# Defaults to 'present'
+# (Optional) ensure state for package.
+# Defaults to 'present'.
#
class ceilometer::agent::compute (
$manage_service = true,
# about configuring the agents that must also run and share a config
# file with the OVS plugin if both are on the same machine.
#
-# === Parameters
+# === Parameters:
+#
# [*enabled*]
-# (optional) Should the service be enabled.
+# (Optional) Should the service be enabled.
# Defaults to true.
#
# [*manage_service*]
-# (optional) Whether the service should be managed by Puppet.
+# (Optional) Whether the service should be managed by Puppet.
# Defaults to true.
#
# [*ack_on_event_error*]
-# (optional) Acknowledge message when event persistence fails.
-# Defaults to true
+# (Optional) Acknowledge message when event persistence fails.
+# Defaults to true.
#
# [*store_events*]
-# (optional) Save event details.
-# Defaults to false
+# (Optional) Save event details.
+# Defaults to false.
#
# [*disable_non_metric_meters*]
-# (optional) Disable or enable the collection of non-metric meters.
-# Default to $::os_service_default
+# (Optional) Disable or enable the collection of non-metric meters.
+# Default to $::os_service_default.
+#
# [*notification_workers*]
-# (optional) Number of workers for notification service (integer value).
-# Defaults to $::os_service_default
+# (Optional) Number of workers for notification service (integer value).
+# Defaults to $::os_service_default.
#
-# [*package_ensure*]
-# (optional) ensure state for package.
-# Defaults to 'present'
+# [*package_ensure*]
+# (Optional) ensure state for package.
+# Defaults to 'present'.
#
class ceilometer::agent::notification (
$manage_service = true,
+# == Class: ceilometer::agent::polling
+#
# Installs/configures the ceilometer polling agent
#
-# == Parameters
-# [*enabled*]
-# (optional) Should the service be enabled.
-# Defaults to true.
+# === Parameters:
#
-# [*manage_service*]
-# (optional) Whether the service should be managed by Puppet.
-# Defaults to true.
+# [*enabled*]
+# (Optional) Should the service be enabled.
+# Defaults to true.
#
-# [*package_ensure*]
-# (optional) ensure state for package.
-# Defaults to 'present'
+# [*manage_service*]
+# (Optional) Whether the service should be managed by Puppet.
+# Defaults to true.
#
-# [*central_namespace*]
-# (optional) Use central namespace for polling agent.
-# Defaults to true.
+# [*package_ensure*]
+# (Optional) ensure state for package.
+# Defaults to 'present'
#
-# [*compute_namespace*]
-# (optional) Use compute namespace for polling agent.
-# Defaults to true.
+# [*central_namespace*]
+# (Optional) Use central namespace for polling agent.
+# Defaults to true.
#
-# [*ipmi_namespace*]
-# (optional) Use ipmi namespace for polling agent.
-# Defaults to true.
+# [*compute_namespace*]
+# (Optional) Use compute namespace for polling agent.
+# Defaults to true.
#
-# [*coordination_url*]
-# (optional) The url to use for distributed group membership coordination.
-# Defaults to undef.
+# [*ipmi_namespace*]
+# (Optional) Use ipmi namespace for polling agent.
+# Defaults to true.
+#
+# [*coordination_url*]
+# (Optional) The url to use for distributed group membership coordination.
+# Defaults to undef.
#
-
class ceilometer::agent::polling (
$manage_service = true,
$enabled = true,
+# == Class: ceilometer::alarm::evaluator
+#
# Installs the ceilometer alarm evaluator service
#
-# == Params
-# [*enabled*]
-# (optional) Should the service be enabled.
-# Defaults to true.
+# === Parameters:
+#
+# [*enabled*]
+# (Optional) Should the service be enabled.
+# Defaults to true.
#
-# [*manage_service*]
-# (optional) Whether the service should be managed by Puppet.
-# Defaults to true.
+# [*manage_service*]
+# (Optional) Whether the service should be managed by Puppet.
+# Defaults to true.
#
-# [*evaluation_interval*]
-# (optional) Define the time interval for the alarm evaluator
-# Defaults to 60.
+# [*evaluation_interval*]
+# (Optional) Define the time interval for the alarm evaluator
+# Defaults to 60.
#
-# [*evaluation_service*]
-# (optional) Define which service use for the evaluator
-# Defaults to 'ceilometer.alarm.service.SingletonAlarmService'.
+# [*evaluation_service*]
+# (Optional) Define which service use for the evaluator
+# Defaults to 'ceilometer.alarm.service.SingletonAlarmService'.
#
-# [*partition_rpc_topic*]
-# (optional) Define which topic the alarm evaluator should access
-# Defaults to 'alarm_partition_coordination'.
+# [*partition_rpc_topic*]
+# (Optional) Define which topic the alarm evaluator should access
+# Defaults to 'alarm_partition_coordination'.
#
-# [*record_history*]
-# (optional) Record alarm change events
-# Defaults to true.
+# [*record_history*]
+# (Optional) Record alarm change events
+# Defaults to true.
#
-# [*coordination_url*]
-# (optional) The url to use for distributed group membership coordination.
-# Defaults to undef.
+# [*coordination_url*]
+# (Optional) The url to use for distributed group membership coordination.
+# Defaults to undef.
#
class ceilometer::alarm::evaluator (
$manage_service = true,
+# == Class: ceilometer::alarm::notifier
+#
# Installs the ceilometer alarm notifier service
#
-# == Params
-# [*enabled*]
-# (optional) Should the service be enabled.
-# Defaults to true.
+# === Parameters:
+#
+# [*enabled*]
+# (Optional) Should the service be enabled.
+# Defaults to true.
#
-# [*manage_service*]
-# (optional) Whether the service should be managed by Puppet.
-# Defaults to true.
+# [*manage_service*]
+# (Optional) Whether the service should be managed by Puppet.
+# Defaults to true.
#
-# [*notifier_rpc_topic*]
-# (optional) Define on which topic the notifier will have access.
-# Defaults to undef.
+# [*notifier_rpc_topic*]
+# (Optional) Define on which topic the notifier will have access.
+# Defaults to undef.
#
-# [*rest_notifier_certificate_key*]
-# (optional) Define the certificate key for the rest service.
-# Defaults to undef.
+# [*rest_notifier_certificate_key*]
+# (Optional) Define the certificate key for the rest service.
+# Defaults to undef.
#
-# [*rest_notifier_certificate_file*]
-# (optional) Define the certificate file for the rest service.
-# Defaults to undef.
+# [*rest_notifier_certificate_file*]
+# (optional) Define the certificate file for the rest service.
+# Defaults to undef.
#
-# [*rest_notifier_ssl_verify*]
-# (optional) Should the ssl verify parameter be enabled.
-# Defaults to true.
+# [*rest_notifier_ssl_verify*]
+# (optional) Should the ssl verify parameter be enabled.
+# Defaults to true.
#
class ceilometer::alarm::notifier (
$manage_service = true,
-# Installs & configure the ceilometer api service
+# == Class: ceilometer::api
#
-# == Parameters
+# Installs & configure the Ceilometer api service
#
-# [*enabled*]
-# (optional) Should the service be enabled.
-# Defaults to true
+# === Parameters
#
-# [*manage_service*]
-# (optional) Whether the service should be managed by Puppet.
-# Defaults to true.
+# [*enabled*]
+# (Optional) Should the service be enabled.
+# Defaults to true.
+#
+# [*manage_service*]
+# (Optional) Whether the service should be managed by Puppet.
+# Defaults to true.
#
# [*keystone_user*]
# (optional) The name of the auth user
-# Defaults to ceilometer
+# Defaults to ceilometer.
#
-# [*keytone_user*]
-# (optional) User to authenticate with.
-# Defaults to 'ceilometer'.
+# [*keytone_user*]
+# (Optional) User to authenticate with.
+# Defaults to 'ceilometer'.
#
-# [*keystone_tenant*]
-# (optional) Tenant to authenticate with.
-# Defaults to 'services'.
+# [*keystone_tenant*]
+# (Optional) Tenant to authenticate with.
+# Defaults to 'services'.
#
-# [*keystone_password*]
-# Password to authenticate with.
-# Mandatory.
+# [*keystone_password*]
+# (Required) Password to authenticate with.
#
# [*keystone_auth_uri*]
-# (optional) Public Identity API endpoint.
+# (Optional) Public Identity API endpoint.
# Defaults to 'http://127.0.0.1:5000/'.
#
# [*keystone_identity_uri*]
-# (optional) Complete admin Identity API endpoint.
-# Defaults to: 'http://127.0.0.1:35357/'
+# (Optional) Complete admin Identity API endpoint.
+# Defaults to 'http://127.0.0.1:35357/'.
#
-# [*host*]
-# (optional) The ceilometer api bind address.
-# Defaults to 0.0.0.0
+# [*host*]
+# (Optional) The ceilometer api bind address.
+# Defaults to '0.0.0.0'.
#
-# [*port*]
-# (optional) The ceilometer api port.
-# Defaults to 8777
+# [*port*]
+# (Optional) The ceilometer api port.
+# Defaults to 8777.
#
-# [*package_ensure*]
-# (optional) ensure state for package.
-# Defaults to 'present'
+# [*package_ensure*]
+# (Optional) ensure state for package.
+# Defaults to 'present'.
#
# [*service_name*]
-# (optional) Name of the service that will be providing the
+# (Optional) Name of the service that will be providing the
# server functionality of ceilometer-api.
# If the value is 'httpd', this means ceilometer-api will be a web
# service, and you must use another class to configure that
# web service. For example, use class { 'ceilometer::wsgi::apache'...}
# to make ceilometer-api be a web app using apache mod_wsgi.
-# Defaults to '$::ceilometer::params::api_service_name'
+# Defaults to '$::ceilometer::params::api_service_name'.
#
# [*api_workers*]
-# (optional) Number of workers for Ceilometer API server (integer value).
-# Defaults to $::os_service_default
+# (Optional) Number of workers for Ceilometer API server (integer value).
+# Defaults to $::os_service_default.
#
class ceilometer::api (
$manage_service = true,
+# == Class: ceilometer::client
#
# Installs the ceilometer python library.
#
-# == parameters
-# [*ensure*]
-# ensure state for pachage.
+# === Parameters:
+#
+# [*ensure*]
+# (Optional) Ensure state for pachage.
+# Defaults to 'present'.
#
class ceilometer::client (
$ensure = 'present'
+# == Class: ceilometer::params
+#
# Installs the ceilometer collector service
#
-# == Params
-# [*enabled*]
-# (optional) Should the service be enabled.
-# Defaults to true.
+# === Parameters:
+#
+# [*enabled*]
+# (Optional) Should the service be enabled.
+# Defaults to true.
#
-# [*manage_service*]
-# (optional) Whether the service should be managed by Puppet.
-# Defaults to true.
+# [*manage_service*]
+# (Optional) Whether the service should be managed by Puppet.
+# Defaults to true.
#
-# [*package_ensure*]
-# (optional) ensure state for package.
-# Defaults to 'present'
+# [*package_ensure*]
+# (Optional) ensure state for package.
+# Defaults to 'present'.
#
-# [*udp_address*]
-# (optional) the ceilometer collector udp bind address.
-# Set it empty to disable the collector listener.
-# Defaults to '0.0.0.0'
+# [*udp_address*]
+# (Optional) the ceilometer collector udp bind address.
+# Set it empty to disable the collector listener.
+# Defaults to '0.0.0.0'.
#
-# [*udp_port*]
-# (optional) the ceilometer collector udp bind port.
-# Defaults to '4952'
+# [*udp_port*]
+# (Optional) the ceilometer collector udp bind port.
+# Defaults to '4952'.
#
-# [*meter_dispatcher*]
-# (optional) dispatcher driver(s) to process meter data.
-# Can be an array or a string.
-# Defaults to 'database'
+# [*meter_dispatcher*]
+# (Optional) dispatcher driver(s) to process meter data.
+# Can be an array or a string.
+# Defaults to 'database'.
#
-# [*event_dispatcher*]
-# (optional) dispatcher driver(s) to process event data.
-# Can be an array or a string.
-# Defaults to 'database'
+# [*event_dispatcher*]
+# (Optional) dispatcher driver(s) to process event data.
+# Can be an array or a string.
+# Defaults to 'database'.
#
-# [*collector_workers*]
-# (optional) Number of workers for collector service (integer value).
-# Defaults to $::os_service_default
+# [*collector_workers*]
+# (Optional) Number of workers for collector service (integer value).
+# Defaults to $::os_service_default.
#
class ceilometer::collector (
$manage_service = true,
# This class will install the required libraries depending on the driver
# specified in the connection_string parameter
#
-# == Parameters
-
+# === Parameters:
+#
# [*database_connection*]
-# Url used to connect to database.
-# (Optional) Defaults to 'mysql://ceilometer:ceilometer@localhost/ceilometer'.
+# (Optional) Url used to connect to database.
+# Defaults to 'mysql://ceilometer:ceilometer@localhost/ceilometer'.
#
# [*database_idle_timeout*]
-# Timeout when db connections should be reaped.
-# (Optional) Defaults to $::os_service_default
+# (Optional) Timeout when db connections should be reaped.
+# Defaults to $::os_service_default.
#
# [*database_min_pool_size*]
-# Minimum number of SQL connections to keep open in a pool.
-# (Optional) Defaults to $::os_service_default
+# (Optional) Minimum number of SQL connections to keep open in a pool.
+# Defaults to $::os_service_default.
#
# [*database_max_pool_size*]
-# Maximum number of SQL connections to keep open in a pool.
-# (Optional) Defaults to $::os_service_default
+# (Optional) Maximum number of SQL connections to keep open in a pool.
+# Defaults to $::os_service_default.
#
# [*database_max_retries*]
-# Maximum db connection retries during startup.
+# (Optional) Maximum db connection retries during startup.
# Setting -1 implies an infinite retry count.
-# (Optional) Defaults to $::os_service_default
+# Defaults to $::os_service_default.
#
# [*database_retry_interval*]
-# Interval between retries of opening a sql connection.
-# (Optional) Defaults to $::os_service_default
+# (Optional) Interval between retries of opening a sql connection.
+# Defaults to $::os_service_default.
#
# [*database_max_overflow*]
-# If set, use this value for max_overflow with sqlalchemy.
-# (Optional) Defaults to $::os_service_default
+# (Optional) If set, use this value for max_overflow with sqlalchemy.
+# Defaults to $::os_service_default.
#
# [*mongodb_replica_set*]
-# DEPRECATED. The name of the replica set which is used to connect to MongoDB
+# (Optional) DEPRECATED. The name of the replica set which is used to connect to MongoDB
# database. If it is set, MongoReplicaSetClient will be used instead
# of MongoClient.
-# (Optional) Defaults to undef (string value).
+# Defaults to undef (string value).
#
-# [*sync_db*]
-# enable dbsync.
+# [*sync_db*]
+# (Optional) enable dbsync.
+# Defaults to true.
#
class ceilometer::db (
$database_connection = 'mysql://ceilometer:ceilometer@localhost/ceilometer',
+# == Class: ceilometer::db::mysql
+#
# The ceilometer::db::mysql class creates a MySQL database for ceilometer.
# It must be used on the MySQL server
#
-# == Parameters
+# === Parameters:
#
-# [*password*]
-# password to connect to the database. Mandatory.
+# [*password*]
+# (Required) password to connect to the database.
#
-# [*dbname*]
-# name of the database. Optional. Defaults to ceilometer.
+# [*dbname*]
+# (Optional) name of the database.
+# Defaults to ceilometer.
#
-# [*user*]
-# user to connect to the database. Optional. Defaults to ceilometer.
+# [*user*]
+# (Optional) user to connect to the database.
+# Defaults to ceilometer.
#
-# [*host*]
-# the default source host user is allowed to connect from.
-# Optional. Defaults to 'localhost'
+# [*host*]
+# (Optional) the default source host user is allowed to connect from.
+# Defaults to '127.0.0.1'.
#
-# [*allowed_hosts*]
-# other hosts the user is allowd to connect from.
-# Optional. Defaults to undef.
+# [*allowed_hosts*]
+# (Optional) other hosts the user is allowd to connect from.
+# Defaults to undef.
#
-# [*charset*]
-# the database charset. Optional. Defaults to 'utf8'
+# [*charset*]
+# (Optional) the database charset.
+# Defaults to 'utf8'.
#
-# [*collate*]
-# the database collation. Optional. Defaults to 'utf8_general_ci'
+# [*collate*]
+# (Optional) the database collation.
+# Defaults to 'utf8_general_ci'.
#
class ceilometer::db::mysql(
$password = false,
# Class that configures postgresql for ceilometer
# Requires the Puppetlabs postgresql module.
#
-# === Parameters
+# === Parameters:
#
# [*password*]
# (Required) Password to connect to the database.
# (Optional) User to connect to the database.
# Defaults to 'ceilometer'.
#
-# [*encoding*]
-# (Optional) The charset to use for the database.
-# Default to undef.
+# [*encoding*]
+# (Optional) The charset to use for the database.
+# Default to undef.
#
-# [*privileges*]
-# (Optional) Privileges given to the database user.
-# Default to 'ALL'
+# [*privileges*]
+# (Optional) Privileges given to the database user.
+# Default to 'ALL'.
#
class ceilometer::db::postgresql(
$password,
+# == Class: ceilometer::db::sync
#
# Class to execute ceilometer dbsync
#
-# == Parameters
+# === Parameters:
#
# [*extra_params*]
-# (optional) String of extra command line parameters
+# (Optional) String of extra command line parameters
# to append to the ceilometer-dbsync command.
-# Defaults to undef
+# Defaults to undef.
#
class ceilometer::db::sync(
$extra_params = undef,
+# == Class: ceilometer::alarm::notifier
+#
# Configure Gnocchi dispatcher for Ceilometer
#
-# == Params
+# === Parameters:
#
-# [*filter_service_activity*]
-# (optional) Filter out samples generated by Gnocchi service activity.
-# Defaults to $::os_service_default.
+# [*filter_service_activity*]
+# (Optional) Filter out samples generated by Gnocchi service activity.
+# Defaults to $::os_service_default.
#
-# [*filter_project*]
-# (optional) Gnocchi project used to filter out samples
-# generated by Gnocchi service activity
-# Defaults to $::os_service_default.
+# [*filter_project*]
+# (Optional) Gnocchi project used to filter out samples
+# generated by Gnocchi service activity
+# Defaults to $::os_service_default.
#
-# [*url*]
-# (optional) Gnocchi URL
-# Defaults to $::os_service_default.
+# [*url*]
+# (Optional) Gnocchi URL
+# Defaults to $::os_service_default.
#
-# [*archive_policy*]
-# (optional) The archive policy to use when the dispatcher
-# Defaults to $::os_service_default.
+# [*archive_policy*]
+# (Optional) The archive policy to use when the dispatcher
+# Defaults to $::os_service_default.
#
-# [*resources_definition_file*]
-# (optional) The Yaml file that defines mapping between samples
-# and gnocchi resources/metrics.
-# Defaults to $::os_service_default.
+# [*resources_definition_file*]
+# (Optional) The Yaml file that defines mapping between samples
+# and gnocchi resources/metrics.
+# Defaults to $::os_service_default.
#
class ceilometer::dispatcher::gnocchi (
$filter_service_activity = $::os_service_default,
-# Class ceilometer
+# == Class: ceilometer
#
-# ceilometer base package & configuration
+# This class is used to specify configuration parameters that are common
+# across all ceilometer services.
#
-# == parameters
+# === Parameters:
#
# [*http_timeout*]
-# timeout seconds for HTTP requests
-# Defaults to 600
+# (Optional) Timeout seconds for HTTP requests.
+# Defaults to 600.
+#
# [*event_time_to_live*]
-# number of seconds that events are kept in the database for
+# (Optional) Number of seconds that events are kept in the database for
# (<= 0 means forever)
-# Defaults to -1
+# Defaults to -1.
+#
# [*metering_time_to_live*]
-# number of seconds that samples are kept in the database for
+# (Optional) Number of seconds that samples are kept in the database for
# (<= 0 means forever)
-# Defaults to -1
+# Defaults to -1.
+#
# [*alarm_history_time_to_live*]
-# number of seconds that alarm histories are kept in the database for
+# (Optional) Number of seconds that alarm histories are kept in the database for
# (<= 0 means forever)
-# Defaults to -1
+# Defaults to -1.
+#
# [*metering_secret*]
-# secret key for signing messages. Mandatory.
+# (Required) Secret key for signing messages.
+#
# [*notification_topics*]
-# AMQP topic used for OpenStack notifications (list value)
-# Defaults to 'notifications'
+# (Optional) AMQP topic used for OpenStack notifications (list value)
+# Defaults to 'notifications'.
+#
# [*package_ensure*]
-# ensure state for package. Optional. Defaults to 'present'
+# (Optional) ensure state for package.
+# Defaults to 'present'.
+#
# [*debug*]
-# should the daemons log debug messages. Optional. Defaults to undef
+# (Optional) Should the daemons log debug messages.
+# Defaults to undef.
+#
# [*log_dir*]
-# (optional) directory to which ceilometer logs are sent.
+# (Optional) Directory to which ceilometer logs are sent.
# If set to boolean false, it will not log to any directory.
-# Defaults to undef
+# Defaults to undef.
+#
# [*verbose*]
-# should the daemons log verbose messages. Optional. Defaults to undef
+# (Optional) should the daemons log verbose messages.
+# Defaults to undef.
+#
# [*use_syslog*]
-# (optional) Use syslog for logging
-# Defaults to undef
+# (Optional) Use syslog for logging
+# Defaults to undef.
+#
# [*use_stderr*]
-# (optional) Use stderr for logging
-# Defaults to undef
+# (Optional) Use stderr for logging
+# Defaults to undef.
+#
# [*log_facility*]
-# (optional) Syslog facility to receive log lines.
-# Defaults to undef
-# [*rpc_backend*]
-# (optional) what rpc/queuing service to use
-# Defaults to 'rabbit'
+# (Optional) Syslog facility to receive log lines.
+# Defaults to undef.
+#
+# [*rpc_backend*]
+# (Optional) what rpc/queuing service to use
+# Defaults to 'rabbit'.
+#
# [*rabbit_host*]
-# ip or hostname of the rabbit server. Optional. Defaults to '127.0.0.1'
+# (Optional) ip or hostname of the rabbit server.
+# Defaults to '127.0.0.1'.
+#
# [*rabbit_port*]
-# port of the rabbit server. Optional. Defaults to 5672.
+# (Optional) port of the rabbit server.
+# Defaults to 5672.
+#
# [*rabbit_hosts*]
-# array of host:port (used with HA queues). Optional. Defaults to undef.
+# (Optional) array of host:port (used with HA queues).
# If defined, will remove rabbit_host & rabbit_port parameters from config
+# Defaults to undef.
+#
# [*rabbit_userid*]
-# user to connect to the rabbit server. Optional. Defaults to 'guest'
+# (Optional) user to connect to the rabbit server.
+# Defaults to 'guest'.
+#
# [*rabbit_password*]
-# password to connect to the rabbit_server. Optional. Defaults to empty.
+# (Optional) password to connect to the rabbit_server.
+# Defaults to empty.
+#
# [*rabbit_virtual_host*]
-# virtualhost to use. Optional. Defaults to '/'
+# (Optional) virtualhost to use.
+# Defaults to '/'.
#
# [*rabbit_heartbeat_timeout_threshold*]
-# (optional) Number of seconds after which the RabbitMQ broker is considered
+# (Optional) Number of seconds after which the RabbitMQ broker is considered
# down if the heartbeat keepalive fails. Any value >0 enables heartbeats.
# Heartbeating helps to ensure the TCP connection to RabbitMQ isn't silently
# closed, resulting in missed or lost messages from the queue.
# (Requires kombu >= 3.0.7 and amqp >= 1.4.0)
-# Defaults to 0
+# Defaults to 0.
#
# [*rabbit_heartbeat_rate*]
-# (optional) How often during the rabbit_heartbeat_timeout_threshold period to
+# (Optional) How often during the rabbit_heartbeat_timeout_threshold period to
# check the heartbeat on RabbitMQ connection. (i.e. rabbit_heartbeat_rate=2
# when rabbit_heartbeat_timeout_threshold=60, the heartbeat will be checked
# every 30 seconds.
-# Defaults to 2
+# Defaults to 2.
#
# [*rabbit_use_ssl*]
-# (optional) Connect over SSL for RabbitMQ
-# Defaults to false
+# (Optional) Connect over SSL for RabbitMQ
+# Defaults to false.
+#
# [*kombu_ssl_ca_certs*]
-# (optional) SSL certification authority file (valid only if SSL enabled).
-# Defaults to undef
+# (Optional) SSL certification authority file (valid only if SSL enabled).
+# Defaults to undef.
+#
# [*kombu_ssl_certfile*]
-# (optional) SSL cert file (valid only if SSL enabled).
-# Defaults to undef
+# (Optional) SSL cert file (valid only if SSL enabled).
+# Defaults to undef.
+#
# [*kombu_ssl_keyfile*]
-# (optional) SSL key file (valid only if SSL enabled).
-# Defaults to undef
+# (Optional) SSL key file (valid only if SSL enabled).
+# Defaults to undef.
+#
# [*kombu_ssl_version*]
-# (optional) SSL version to use (valid only if SSL enabled).
+# (Optional) SSL version to use (valid only if SSL enabled).
# Valid values are TLSv1, SSLv23 and SSLv3. SSLv2 may be
# available on some distributions.
-# Defaults to 'TLSv1'
+# Defaults to 'TLSv1'.
+#
# [*memcached_servers*]
-# (optional) A list of memcached server(s) to use for caching.
-# Defaults to undef
+# (Optional) A list of memcached server(s) to use for caching.
+# Defaults to undef.
#
-# DEPRECATED PARAMETERS
+# === DEPRECATED PARAMETERS:
#
# [*qpid_hostname*]
# [*qpid_port*]
#
# Configures Ceilometer user, service and endpoint in Keystone.
#
-# === Parameters
+# === Parameters:
#
# [*password*]
-# Password for Ceilometer user. Required.
+# (Required) Password for Ceilometer user.
#
# [*email*]
-# Email for Ceilometer user. Optional. Defaults to 'ceilometer@localhost'.
+# (Optional) Email for Ceilometer user.
+# Defaults to 'ceilometer@localhost'.
#
# [*auth_name*]
-# Username for Ceilometer service. Optional. Defaults to 'ceilometer'.
+# (Optional) Username for Ceilometer service.
+# Defaults to 'ceilometer'.
#
# [*configure_endpoint*]
-# Should Ceilometer endpoint be configured? Optional. Defaults to 'true'.
+# (Optional) Should Ceilometer endpoint be configured.
+# Defaults to true.
#
# [*configure_user*]
-# Should Ceilometer service user be configured? Optional. Defaults to 'true'.
+# (Optional) Should Ceilometer service user be configured?
+# Defaults to true.
#
# [*configure_user_role*]
-# Should roles be configured on Ceilometer service user? Optional. Defaults to 'true'.
+# (Optional) Should roles be configured on Ceilometer service user?
+# Defaults to true.
#
# [*service_name*]
-# Name of the service. Optional. Defaults to value of auth_name.
+# (Optional) Name of the service.
+# Defaults to value of auth_name.
#
# [*service_type*]
-# Type of service. Optional. Defaults to 'metering'.
+# (Optional) Type of service. Optional.
+# Defaults to 'metering'.
#
# [*service_description*]
-# Description for keystone service. Optional. Defaults to 'Openstack Metering Service'.
+# (Optional) Description for keystone service.
+# Defaults to 'Openstack Metering Service'.
#
# [*region*]
-# Region for endpoint. Optional. Defaults to 'RegionOne'.
+# (Optional) Region for endpoint.
+# Defaults to 'RegionOne'.
#
# [*tenant*]
-# Tenant for Ceilometer user. Optional. Defaults to 'services'.
+# (Optional) Tenant for Ceilometer user.
+# Defaults to 'services'.
#
# [*public_url*]
-# (optional) The endpoint's public url. (Defaults to 'http://127.0.0.1:8777')
+# (Optional) The endpoint's public url.
# This url should *not* contain any trailing '/'.
+# Defaults to 'http://127.0.0.1:8777'.
#
# [*admin_url*]
-# (optional) The endpoint's admin url. (Defaults to 'http://127.0.0.1:8777')
+# (Optional) The endpoint's admin url.
# This url should *not* contain any trailing '/'.
+# Defaults to 'http://127.0.0.1:8777'.
#
# [*internal_url*]
-# (optional) The endpoint's internal url. (Defaults to 'http://127.0.0.1:8777')
+# (Optional) The endpoint's internal url.
# This url should *not* contain any trailing '/'.
+# Defaults to 'http://127.0.0.1:8777'.
#
# [*port*]
-# (optional) DEPRECATED: Use public_url, internal_url and admin_url instead.
-# Default port for endpoints. (Defaults to 8777)
+# (Optional) DEPRECATED: Use public_url, internal_url and admin_url instead.
# Setting this parameter overrides public_url, internal_url and admin_url parameters.
+# Default port for endpoints.
+# Defaults to 8777.
#
# [*public_protocol*]
-# (optional) DEPRECATED: Use public_url instead.
-# Protocol for public endpoint. (Defaults to 'http')
+# (Optional) DEPRECATED: Use public_url instead.
+# Protocol for public endpoint.
# Setting this parameter overrides public_url parameter.
+# Defaults to 'http'.
#
# [*public_address*]
-# (optional) DEPRECATED: Use public_url instead.
-# Public address for endpoint. (Defaults to '127.0.0.1')
+# (Optional) DEPRECATED: Use public_url instead.
+# Public address for endpoint.
# Setting this parameter overrides public_url parameter.
+# Defaults to '127.0.0.1'.
#
# [*internal_protocol*]
-# (optional) DEPRECATED: Use internal_url instead.
-# Protocol for internal endpoint. (Defaults to 'http')
+# (Optional) DEPRECATED: Use internal_url instead.
+# Protocol for internal endpoint.
# Setting this parameter overrides internal_url parameter.
+# Defaults to 'http'.
#
# [*internal_address*]
-# (optional) DEPRECATED: Use internal_url instead.
-# Internal address for endpoint. (Defaults to '127.0.0.1')
+# (Optional) DEPRECATED: Use internal_url instead.
+# Internal address for endpoint.
# Setting this parameter overrides internal_url parameter.
+# Defaults to '127.0.0.1'.
#
# [*admin_protocol*]
-# (optional) DEPRECATED: Use admin_url instead.
-# Protocol for admin endpoint. (Defaults to 'http')
+# (Optional) DEPRECATED: Use admin_url instead.
+# Protocol for admin endpoint.
# Setting this parameter overrides admin_url parameter.
+# Defaults to 'http'.
#
# [*admin_address*]
-# (optional) DEPRECATED: Use admin_url instead.
-# Admin address for endpoint. (Defaults to '127.0.0.1')
+# (Optional) DEPRECATED: Use admin_url instead.
+# Admin address for endpoint.
# Setting this parameter overrides admin_url parameter.
+# Defaults to '127.0.0.1'.
#
-# === Deprecation notes
+# === Deprecation notes:
#
# If any value is provided for public_protocol, public_address or port parameters,
# public_url will be completely ignored. The same applies for internal and admin parameters.
#
-# === Examples
+# === Examples:
#
# class { 'ceilometer::keystone::auth':
# public_url => 'https://10.0.0.10:8777',
-# Class ceilometer::logging
-#
-# ceilometer logging configuration
-#
-# == parameters
-#
-# [*verbose*]
-# (Optional) Should the daemons log verbose messages
-# Defaults to $::os_service_default
-#
-# [*debug*]
-# (Optional) Should the daemons log debug messages
-# Defaults to $::os_service_default
-#
-# [*use_syslog*]
-# (Optional) Use syslog for logging.
-# Defaults to $::os_service_default
-#
-# [*use_stderr*]
-# (optional) Use stderr for logging
-# Defaults to $::os_service_default
-#
-# [*log_facility*]
-# (Optional) Syslog facility to receive log lines.
-# Defaults to $::os_service_default
-#
-# [*log_dir*]
-# (optional) Directory where logs should be stored.
-# If set to boolean false, it will not log to any directory.
-# Defaults to '/var/log/ceilometer'
-#
-# [*logging_context_format_string*]
-# (optional) Format string to use for log messages with context.
-# Defaults to $::os_service_default
-# Example: '%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s\
-# [%(request_id)s %(user_identity)s] %(instance)s%(message)s'
-#
-# [*logging_default_format_string*]
-# (optional) Format string to use for log messages without context.
-# Defaults to $::os_service_default
-# Example: '%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s\
-# [-] %(instance)s%(message)s'
-#
-# [*logging_debug_format_suffix*]
-# (optional) Formatted data to append to log format when level is DEBUG.
-# Defaults to $::os_service_default
-# Example: '%(funcName)s %(pathname)s:%(lineno)d'
-#
-# [*logging_exception_prefix*]
-# (optional) Prefix each line of exception output with this format.
-# Defaults to $::os_service_default
-# Example: '%(asctime)s.%(msecs)03d %(process)d TRACE %(name)s %(instance)s'
-#
-# [*log_config_append*]
-# The name of an additional logging configuration file.
-# Defaults to $::os_service_default
-# See https://docs.python.org/2/howto/logging.html
-#
-# [*default_log_levels*]
-# (optional) Hash of logger (keys) and level (values) pairs.
-# Defaults to $::os_service_default
-# Example:
-# { 'amqp' => 'WARN', 'amqplib' => 'WARN', 'boto' => 'WARN',
-# 'qpid' => 'WARN', 'sqlalchemy' => 'WARN', 'suds' => 'INFO',
-# 'iso8601' => 'WARN',
-# 'requests.packages.urllib3.connectionpool' => 'WARN' }
-#
-# [*publish_errors*]
-# (optional) Publish error events (boolean value).
-# Defaults to $::os_service_default
-#
-# [*fatal_deprecations*]
-# (optional) Make deprecations fatal (boolean value)
-# Defaults to $::os_service_default
-#
-# [*instance_format*]
-# (optional) If an instance is passed with the log message, format it
-# like this (string value).
-# Defaults to $::os_service_default
-# Example: '[instance: %(uuid)s] '
-#
-# [*instance_uuid_format*]
-# (optional) If an instance UUID is passed with the log message, format
-# it like this (string value).
-# Defaults to $::os_service_default
-# Example: instance_uuid_format='[instance: %(uuid)s] '
-#
-# [*log_date_format*]
-# (optional) Format string for %%(asctime)s in log records.
-# Defaults to $::os_service_default
-# Example: 'Y-%m-%d %H:%M:%S'
-
+# == Class: ceilometer::logging
+#
+# ceilometer logging configuration
+#
+# === Parameters:
+#
+# [*verbose*]
+# (Optional) Should the daemons log verbose messages
+# Defaults to $::os_service_default.
+#
+# [*debug*]
+# (Optional) Should the daemons log debug messages
+# Defaults to $::os_service_default.
+#
+# [*use_syslog*]
+# (Optional) Use syslog for logging.
+# Defaults to $::os_service_default.
+#
+# [*use_stderr*]
+# (Optional) Use stderr for logging
+# Defaults to $::os_service_default.
+#
+# [*log_facility*]
+# (Optional) Syslog facility to receive log lines.
+# Defaults to $::os_service_default.
+#
+# [*log_dir*]
+# (Optional) Directory where logs should be stored.
+# If set to boolean false, it will not log to any directory.
+# Defaults to '/var/log/ceilometer'.
+#
+# [*logging_context_format_string*]
+# (Optional) Format string to use for log messages with context.
+# Defaults to $::os_service_default.
+# Example: '%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s\
+# [%(request_id)s %(user_identity)s] %(instance)s%(message)s'
+#
+# [*logging_default_format_string*]
+# (Optional) Format string to use for log messages without context.
+# Defaults to $::os_service_default.
+# Example: '%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s\
+# [-] %(instance)s%(message)s'
+#
+# [*logging_debug_format_suffix*]
+# (Optional) Formatted data to append to log format when level is DEBUG.
+# Defaults to $::os_service_default.
+# Example: '%(funcName)s %(pathname)s:%(lineno)d'
+#
+# [*logging_exception_prefix*]
+# (Optional) Prefix each line of exception output with this format.
+# Defaults to $::os_service_default.
+# Example: '%(asctime)s.%(msecs)03d %(process)d TRACE %(name)s %(instance)s'
+#
+# [*log_config_append*]
+# (Optional) The name of an additional logging configuration file.
+# Defaults to $::os_service_default.
+# Example: https://docs.python.org/2/howto/logging.html
+#
+# [*default_log_levels*]
+# (Optional) Hash of logger (keys) and level (values) pairs.
+# Defaults to $::os_service_default.
+# Example:
+# { 'amqp' => 'WARN', 'amqplib' => 'WARN', 'boto' => 'WARN',
+# 'qpid' => 'WARN', 'sqlalchemy' => 'WARN', 'suds' => 'INFO',
+# 'iso8601' => 'WARN',
+# 'requests.packages.urllib3.connectionpool' => 'WARN' }
+#
+# [*publish_errors*]
+# (Optional) Publish error events (boolean value).
+# Defaults to $::os_service_default.
+#
+# [*fatal_deprecations*]
+# (Optional) Make deprecations fatal (boolean value)
+# Defaults to $::os_service_default.
+#
+# [*instance_format*]
+# (Optional) If an instance is passed with the log message, format it
+# like this (string value).
+# Defaults to $::os_service_default.
+# Example: '[instance: %(uuid)s] '
+#
+# [*instance_uuid_format*]
+# (Optional) If an instance UUID is passed with the log message, format
+# it like this (string value).
+# Defaults to $::os_service_default.
+# Example: instance_uuid_format='[instance: %(uuid)s] '
+#
+# [*log_date_format*]
+# (Optional) Format string for %%(asctime)s in log records.
+# Defaults to $::os_service_default.
+# Example: 'Y-%m-%d %H:%M:%S'
+#
class ceilometer::logging(
$use_syslog = $::os_service_default,
$use_stderr = $::os_service_default,
-# Parameters for puppet-ceilometer
+# == Class: ceilometer::params
+#
+# These parameters need to be accessed from several locations and
+# should be considered to be constant
#
class ceilometer::params {
#
# Configure the ceilometer policies
#
-# === Parameters
+# === Parameters:
#
# [*policies*]
-# (optional) Set of policies to configure for ceilometer
+# (Optional) Set of policies to configure for ceilometer
# Example : { 'ceilometer-context_is_admin' => {'context_is_admin' => 'true'}, 'ceilometer-default' => {'default' => 'rule:admin_or_owner'} }
# Defaults to empty hash.
#
# [*policy_path*]
-# (optional) Path to the ceilometer policy.json file
+# (Optional) Path to the ceilometer policy.json file
# Defaults to /etc/ceilometer/policy.json
#
class ceilometer::policy (
# License for the specific language governing permissions and limitations
# under the License.
#
+# == Class: ceilometer::wsgi::apache
+#
# Class to serve Ceilometer API with apache mod_wsgi in place of ceilometer-api service.
#
# Serving Ceilometer API from apache is the recommended way to go for production
#
# When using this class you should disable your ceilometer-api service.
#
-# == Parameters
+# === Parameters:
#
-# [*servername*]
-# The servername for the virtualhost.
-# Optional. Defaults to $::fqdn
+# [*servername*]
+# (Optional) The servername for the virtualhost.
+# Defaults to $::fqdn.
#
-# [*port*]
-# The port.
-# Optional. Defaults to 8777
+# [*port*]
+# (Optional) The port.
+# Defaults to 8777.
#
-# [*bind_host*]
-# The host/ip address Apache will listen on.
-# Optional. Defaults to undef (listen on all ip addresses).
+# [*bind_host*]
+# (Optional) The host/ip address Apache will listen on.
+# Defaults to undef (listen on all ip addresses).
#
-# [*path*]
-# The prefix for the endpoint.
-# Optional. Defaults to '/'
+# [*path*]
+# (Optional) The prefix for the endpoint.
+# Defaults to '/'.
#
-# [*ssl*]
-# Use ssl ? (boolean)
-# Optional. Defaults to true
+# [*ssl*]
+# (Optional) Use ssl ? (boolean)
+# Defaults to true.
#
-# [*workers*]
-# Number of WSGI workers to spawn.
-# Optional. Defaults to 1
+# [*workers*]
+# (Optional) Number of WSGI workers to spawn.
+# Defaults to 1.
#
-# [*priority*]
-# (optional) The priority for the vhost.
-# Defaults to '10'
+# [*priority*]
+# (Optional) The priority for the vhost.
+# Defaults to '10'.
#
-# [*threads*]
-# (optional) The number of threads for the vhost.
-# Defaults to $::processorcount
+# [*threads*]
+# (Optional) The number of threads for the vhost.
+# Defaults to $::processorcount.
#
-# [*ssl_cert*]
-# [*ssl_key*]
-# [*ssl_chain*]
-# [*ssl_ca*]
-# [*ssl_crl_path*]
-# [*ssl_crl*]
-# [*ssl_certs_dir*]
-# apache::vhost ssl parameters.
-# Optional. Default to apache::vhost 'ssl_*' defaults.
+# [*ssl_cert*]
+# [*ssl_key*]
+# [*ssl_chain*]
+# [*ssl_ca*]
+# [*ssl_crl_path*]
+# [*ssl_crl*]
+# [*ssl_certs_dir*]
+# (Optional) apache::vhost ssl parameters.
+# Default to apache::vhost 'ssl_*' defaults.
#
-# == Dependencies
+# === Dependencies:
#
# requires Class['apache'] & Class['ceilometer']
#
-# == Examples
+# === Examples:
#
# include apache
#