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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
# File 'manifests/agents/metering.pp', line 54
class neutron::agents::metering (
$package_ensure = present,
$enabled = true,
$manage_service = true,
$debug = false,
$interface_driver = 'neutron.agent.linux.interface.OVSInterfaceDriver',
$use_namespaces = true,
$measure_interval = '30',
$report_interval = '300'
) {
include neutron::params
Neutron_config<||> ~> Service['neutron-metering-service']
Neutron_metering_agent_config<||> ~> Service['neutron-metering-service']
# The metering agent loads both neutron.ini and its own file.
# This only lists config specific to the agent. neutron.ini supplies
# the rest.
neutron_metering_agent_config {
'DEFAULT/debug': value => $debug;
'DEFAULT/interface_driver': value => $interface_driver;
'DEFAULT/use_namespaces': value => $use_namespaces;
'DEFAULT/measure_interval': value => $measure_interval;
'DEFAULT/report_interval': value => $report_interval;
}
if $::neutron::params::metering_agent_package {
Package['neutron'] -> Package['neutron-metering-agent']
Package['neutron-metering-agent'] -> Neutron_config<||>
Package['neutron-metering-agent'] -> Neutron_metering_agent_config<||>
package { 'neutron-metering-agent':
ensure => $package_ensure,
name => $::neutron::params::metering_agent_package,
}
} else {
# Default dependency if the system does not provide a neutron metering agent package.
Package['neutron'] -> Neutron_metering_agent_config<||>
}
if $manage_service {
if $enabled {
$service_ensure = 'running'
} else {
$service_ensure = 'stopped'
}
}
service { 'neutron-metering-service':
ensure => $service_ensure,
name => $::neutron::params::metering_agent_service,
enable => $enabled,
require => Class['neutron'],
}
}
|