Files
puppet-gnocchi/manifests/init.pp
Takashi Kajinami ad1bfa0242 coordination: Expose parameters for package management
Change-Id: I7fc4340fe96be7b2bf3364eb47e2a0f2620549fd
Signed-off-by: Takashi Kajinami <kajinamit@oss.nttdata.com>
2025-10-02 17:37:18 +09:00

61 lines
1.8 KiB
Puppet

# == Class: gnocchi
#
# Full description of class gnocchi here.
#
# === Parameters
#
# [*package_ensure*]
# (optional) The state of gnocchi packages
# Defaults to 'present'
#
# [*coordination_url*]
# (optional) The url to use for distributed group membership coordination.
# Defaults to $facts['os_service_default'].
#
# [*purge_config*]
# (optional) Whether to set only the specified config options
# in the gnocchi config.
# Defaults to false.
#
# [*manage_backend_package*]
# (Optional) Whether to install the backend package.
# Defaults to true.
#
# [*backend_package_ensure*]
# (Optional) ensure state for backend package.
# Defaults to 'present'
#
class gnocchi (
Stdlib::Ensure::Package $package_ensure = 'present',
$coordination_url = $facts['os_service_default'],
Boolean $purge_config = false,
Boolean $manage_backend_package = true,
Stdlib::Ensure::Package $backend_package_ensure = present,
) inherits gnocchi::params {
include gnocchi::deps
package { 'gnocchi':
ensure => $package_ensure,
name => $gnocchi::params::common_package_name,
tag => ['openstack', 'gnocchi-package'],
}
resources { 'gnocchi_config':
purge => $purge_config,
}
oslo::coordination { 'gnocchi_config':
backend_url => $coordination_url,
manage_backend_package => $manage_backend_package,
package_ensure => $backend_package_ensure,
manage_config => false,
}
gnocchi_config {
'DEFAULT/coordination_url' : value => $coordination_url, secret => true;
}
# all coordination settings should be applied and all packages should be
# installed before service startup
Oslo::Coordination['gnocchi_config'] -> Anchor['gnocchi::service::begin']
}