Puppet Class: ceilometer::agent::compute
- Inherits:
- ceilometer
- Defined in:
- manifests/agent/compute.pp
Overview
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.
[*manage_service*]
(optional) Whether the service should be managed by Puppet.
Defaults to true.
- package_ensure
-
(optional) ensure state for package. Defaults to ‘present’
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'manifests/agent/compute.pp', line 17
class ceilometer::agent::compute (
$manage_service = true,
$enabled = true,
$package_ensure = 'present',
) inherits ceilometer {
include ceilometer::params
Ceilometer_config<||> ~> Service['ceilometer-agent-compute']
Package['ceilometer-agent-compute'] -> Service['ceilometer-agent-compute']
package { 'ceilometer-agent-compute':
ensure => $package_ensure,
name => $::ceilometer::params::agent_compute_package_name,
}
if $::ceilometer::params::libvirt_group {
User['ceilometer'] {
groups => ['nova', $::ceilometer::params::libvirt_group]
}
} else {
User['ceilometer'] {
groups => ['nova']
}
}
if $manage_service {
if $enabled {
$service_ensure = 'running'
} else {
$service_ensure = 'stopped'
}
}
Package['nova-common'] -> Package['ceilometer-common'] -> Service['ceilometer-agent-compute']
service { 'ceilometer-agent-compute':
ensure => $service_ensure,
name => $::ceilometer::params::agent_compute_service_name,
enable => $enabled,
hasstatus => true,
hasrestart => true,
}
#NOTE(dprince): This is using a custom (inline) file_line provider
# until this lands upstream:
# https://github.com/puppetlabs/puppetlabs-stdlib/pull/174
Nova_config<| |> {
before +> File_line_after[
'nova-notification-driver-common',
'nova-notification-driver-ceilometer'
],
}
file_line_after {
'nova-notification-driver-common':
line =>
'notification_driver=nova.openstack.common.notifier.rpc_notifier',
path => '/etc/nova/nova.conf',
after => '^\s*\[DEFAULT\]',
notify => Service['nova-compute'];
'nova-notification-driver-ceilometer':
line => 'notification_driver=ceilometer.compute.nova_notifier',
path => '/etc/nova/nova.conf',
after => '^\s*\[DEFAULT\]',
notify => Service['nova-compute'];
}
}
|