# (optional) Whether the service should be managed by Puppet.
# Defaults to true.
#
+# [*package_ensure*]
+# (optional) ensure state for package.
+# Defaults to 'present'
+#
+
class ceilometer::agent::central (
- $manage_service = true,
- $enabled = true,
+ $manage_service = true,
+ $enabled = true,
+ $package_ensure = 'present',
) {
include ceilometer::params
Package['ceilometer-agent-central'] -> Service['ceilometer-agent-central']
package { 'ceilometer-agent-central':
- ensure => installed,
+ ensure => $package_ensure,
name => $::ceilometer::params::agent_central_package_name,
}
-# The ceilometer::agent::compute class installs the ceilometer compute agent
+#The ceilometer::agent::compute class installs the ceilometer compute agent
# Include this class on all nova compute nodes
#
# == Parameters
# (optional) Whether the service should be managed by Puppet.
# Defaults to true.
#
+# [*package_ensure*]
+# (optional) ensure state for package.
+# Defaults to 'present'
+#
class ceilometer::agent::compute (
- $manage_service = true,
- $enabled = true,
+ $manage_service = true,
+ $enabled = true,
+ $package_ensure = 'present',
) inherits ceilometer {
include ceilometer::params
Package['ceilometer-agent-compute'] -> Service['ceilometer-agent-compute']
package { 'ceilometer-agent-compute':
- ensure => installed,
+ ensure => $package_ensure,
name => $::ceilometer::params::agent_compute_package_name,
}
# (optional) Save event details.
# Defaults to false
#
+# [*package_ensure*]
+# (optional) ensure state for package.
+# Defaults to 'present'
+#
class ceilometer::agent::notification (
$manage_service = true,
$enabled = true,
$ack_on_event_error = true,
- $store_events = false
+ $store_events = false,
+ $package_ensure = 'present',
) {
include ceilometer::params
Ceilometer_config<||> ~> Service['ceilometer-agent-notification']
- Package[$::ceilometer::params::agent_notification_package_name] -> Service['ceilometer-agent-notification']
- ensure_packages([$::ceilometer::params::agent_notification_package_name])
+ Package[$::ceilometer::params::agent_notification_package_name] ->
+ Service['ceilometer-agent-notification']
+
+ ensure_resource('package', [$::ceilometer::params::agent_notification_package_name],
+ { ensure => $package_ensure }
+ )
if $manage_service {
if $enabled {
# (optional) The ceilometer api port.
# Defaults to 8777
#
+# [*package_ensure*]
+# (optional) ensure state for package.
+# Defaults to 'present'
+#
class ceilometer::api (
$manage_service = true,
$enabled = true,
+ $package_ensure = 'present',
$keystone_host = '127.0.0.1',
$keystone_port = '35357',
$keystone_auth_admin_prefix = false,
Package['ceilometer-api'] -> Ceilometer_config<||>
Package['ceilometer-api'] -> Service['ceilometer-api']
package { 'ceilometer-api':
- ensure => installed,
+ ensure => $package_ensure,
name => $::ceilometer::params::api_package_name,
}
# (optional) Whether the service should be managed by Puppet.
# Defaults to true.
#
+# [*package_ensure*]
+# (optional) ensure state for package.
+# Defaults to 'present'
+#
class ceilometer::collector (
$manage_service = true,
$enabled = true,
+ $package_ensure = 'present',
) {
include ceilometer::params
Ceilometer_config<||> ~> Service['ceilometer-collector']
Package[$::ceilometer::params::collector_package_name] -> Service['ceilometer-collector']
- ensure_packages([$::ceilometer::params::collector_package_name])
+ ensure_resource( 'package', [$::ceilometer::params::collector_package_name],
+ { ensure => $package_ensure }
+ )
if $manage_service {
if $enabled {
let :params do
{ :enabled => true,
- :manage_service => true }
+ :manage_service => true,
+ :package_ensure => 'latest' }
end
shared_examples_for 'ceilometer-agent-central' do
it 'installs ceilometer-agent-central package' do
should contain_package('ceilometer-agent-central').with(
- :ensure => 'installed',
+ :ensure => 'latest',
:name => platform_params[:agent_package_name],
:before => 'Service[ceilometer-agent-central]'
)
end
let :params do
- { :enabled => true,
- :manage_service => true }
+ { :enabled => true,
+ :manage_service => true,
+ :package_ensure => 'installed' }
end
shared_examples_for 'ceilometer-agent-compute' do
it { should contain_class('ceilometer::params') }
it 'installs ceilometer agent notification package' do
- should contain_package(platform_params[:agent_notification_package_name])
+ should contain_package(platform_params[:agent_notification_package_name]).with(
+ :ensure => 'present'
+ )
end
it 'configures notifications parameters in ceilometer.conf' do
:keystone_password => 'ceilometer-passw0rd',
:keystone_tenant => 'services',
:host => '0.0.0.0',
- :port => '8777'
+ :port => '8777',
+ :package_ensure => 'latest',
}
end
it 'installs ceilometer-api package' do
should contain_package('ceilometer-api').with(
- :ensure => 'installed',
+ :ensure => 'latest',
:name => platform_params[:api_package_name]
)
end
it { should contain_class('ceilometer::params') }
it 'installs ceilometer-collector package' do
- should contain_package(platform_params[:collector_package_name])
+ should contain_package(platform_params[:collector_package_name]).with(
+ :ensure => 'present'
+ )
end
it 'configures ceilometer-collector service' do