Fix service subscriptions and definitions, add package overrides
Some things were a little off wrt. the way we usually do stuff. This change fixes the following: - package resources take the override settings from node attributes - all services subscribe to their config file - the service definitions include restart and status actions, and enable services Change-Id: I3d4a2f9247dda34a35897fdfe08d9e8cf27556b8 Closes-Bug: #1303777
This commit is contained in:
parent
0bc923e107
commit
5c557b7153
@ -69,7 +69,8 @@ when 'suse' # :pragma-foodcritic: ~FC024 - won't fix this
|
||||
'api_service' => 'openstack-ceilometer-api',
|
||||
'client_packages' => ['python-ceilometerclient'],
|
||||
'collector_packages' => ['openstack-ceilometer-collector'],
|
||||
'collector_service' => 'openstack-ceilometer-collector'
|
||||
'collector_service' => 'openstack-ceilometer-collector',
|
||||
'package_overrides' => ''
|
||||
}
|
||||
|
||||
when 'fedora', 'redhat', 'centos'
|
||||
@ -92,7 +93,8 @@ when 'fedora', 'redhat', 'centos'
|
||||
'api_service' => 'openstack-ceilometer-api',
|
||||
'client_packages' => ['python-ceilometerclient'],
|
||||
'collector_packages' => ['openstack-ceilometer-collector'],
|
||||
'collector_service' => 'openstack-ceilometer-collector'
|
||||
'collector_service' => 'openstack-ceilometer-collector',
|
||||
'package_overrides' => ''
|
||||
}
|
||||
|
||||
when 'ubuntu'
|
||||
@ -114,6 +116,7 @@ when 'ubuntu'
|
||||
'api_service' => 'ceilometer-api',
|
||||
'client_packages' => ['python-ceilometerclient'],
|
||||
'collector_packages' => ['ceilometer-collector', 'python-mysqldb'],
|
||||
'collector_service' => 'ceilometer-collector'
|
||||
'collector_service' => 'ceilometer-collector',
|
||||
'package_overrides' => "-o Dpkg::Options::='--force-confold' -o Dpkg::Options::='--force-confdef'"
|
||||
}
|
||||
end
|
||||
|
@ -23,9 +23,15 @@ include_recipe 'openstack-telemetry::common'
|
||||
|
||||
platform = node['openstack']['telemetry']['platform']
|
||||
platform['agent_central_packages'].each do |pkg|
|
||||
package pkg
|
||||
package pkg do
|
||||
options platform['package_overrides']
|
||||
end
|
||||
end
|
||||
|
||||
service platform['agent_central_service'] do
|
||||
action :start
|
||||
service 'ceilometer-agent-central' do
|
||||
service_name platform['agent_central_service']
|
||||
supports status: true, restart: true
|
||||
subscribes :restart, "template[#{node['openstack']['telemetry']['conf']}]"
|
||||
|
||||
action [:enable, :start]
|
||||
end
|
||||
|
@ -23,7 +23,9 @@ include_recipe 'openstack-telemetry::common'
|
||||
|
||||
platform = node['openstack']['telemetry']['platform']
|
||||
platform['agent_compute_packages'].each do |pkg|
|
||||
package pkg
|
||||
package pkg do
|
||||
options platform['package_overrides']
|
||||
end
|
||||
end
|
||||
|
||||
# temp fix for compute-agent init not installing properly ubuntu
|
||||
@ -36,6 +38,10 @@ if node['platform'] == 'ubuntu'
|
||||
end
|
||||
end
|
||||
|
||||
service platform['agent_compute_service'] do
|
||||
action :start
|
||||
service 'ceilometer-agent-compute' do
|
||||
service_name platform['agent_compute_service']
|
||||
supports status: true, restart: true
|
||||
subscribes :restart, "template[#{node['openstack']['telemetry']['conf']}]"
|
||||
|
||||
action [:enable, :start]
|
||||
end
|
||||
|
@ -22,10 +22,15 @@ include_recipe 'openstack-telemetry::common'
|
||||
|
||||
platform = node['openstack']['telemetry']['platform']
|
||||
platform['agent_notification_packages'].each do |pkg|
|
||||
package pkg
|
||||
package pkg do
|
||||
options platform['package_overrides']
|
||||
end
|
||||
end
|
||||
|
||||
service platform['agent_notification_service'] do
|
||||
service 'ceilometer-agent-notification' do
|
||||
service_name platform['agent_notification_service']
|
||||
supports status: true, restart: true
|
||||
action :start
|
||||
subscribes :restart, "template[#{node['openstack']['telemetry']['conf']}]"
|
||||
|
||||
action [:enable, :start]
|
||||
end
|
||||
|
@ -22,10 +22,15 @@ include_recipe 'openstack-telemetry::common'
|
||||
|
||||
platform = node['openstack']['telemetry']['platform']
|
||||
platform['alarm_evaluator_packages'].each do |pkg|
|
||||
package pkg
|
||||
package pkg do
|
||||
options platform['package_overrides']
|
||||
end
|
||||
end
|
||||
|
||||
service platform['alarm_evaluator_service'] do
|
||||
service 'ceilometer-agent-evaluator' do
|
||||
service_name platform['alarm_evaluator_service']
|
||||
supports status: true, restart: true
|
||||
action :start
|
||||
subscribes :restart, "template[#{node['openstack']['telemetry']['conf']}]"
|
||||
|
||||
action [:enable, :start]
|
||||
end
|
||||
|
@ -22,10 +22,15 @@ include_recipe 'openstack-telemetry::common'
|
||||
|
||||
platform = node['openstack']['telemetry']['platform']
|
||||
platform['alarm_notifier_packages'].each do |pkg|
|
||||
package pkg
|
||||
package pkg do
|
||||
options platform['package_overrides']
|
||||
end
|
||||
end
|
||||
|
||||
service platform['alarm_notifier_service'] do
|
||||
service 'ceilometer-alarm-notifier' do
|
||||
service_name platform['alarm_notifier_service']
|
||||
supports status: true, restart: true
|
||||
action :start
|
||||
subscribes :restart, "template[#{node['openstack']['telemetry']['conf']}]"
|
||||
|
||||
action [:enable, :start]
|
||||
end
|
||||
|
@ -30,9 +30,15 @@ end
|
||||
|
||||
platform = node['openstack']['telemetry']['platform']
|
||||
platform['api_packages'].each do |pkg|
|
||||
package pkg
|
||||
package pkg do
|
||||
options platform['package_overrides']
|
||||
end
|
||||
end
|
||||
|
||||
service platform['api_service'] do
|
||||
action :start
|
||||
service 'ceilometer-api' do
|
||||
service_name platform['api_service']
|
||||
supports status: true, restart: true
|
||||
subscribes :restart, "template[#{node['openstack']['telemetry']['conf']}]"
|
||||
|
||||
action [:enable, :start]
|
||||
end
|
||||
|
@ -22,10 +22,10 @@ class ::Chef::Recipe # rubocop:disable Documentation
|
||||
include ::Openstack
|
||||
end
|
||||
|
||||
platform_options = node['openstack']['telemetry']['platform']
|
||||
platform_options['client_packages'].each do |pkg|
|
||||
platform = node['openstack']['telemetry']['platform']
|
||||
platform['client_packages'].each do |pkg|
|
||||
package pkg do
|
||||
options platform_options['package_overrides']
|
||||
options platform['package_overrides']
|
||||
|
||||
action :upgrade
|
||||
end
|
||||
|
@ -32,7 +32,9 @@ end
|
||||
|
||||
platform = node['openstack']['telemetry']['platform']
|
||||
platform['collector_packages'].each do |pkg|
|
||||
package pkg
|
||||
package pkg do
|
||||
options platform['package_overrides']
|
||||
end
|
||||
end
|
||||
|
||||
# temp fix for collector init not installing properly ubuntu
|
||||
@ -45,6 +47,10 @@ if node['platform'] == 'ubuntu'
|
||||
end
|
||||
end
|
||||
|
||||
service platform['collector_service'] do
|
||||
action :start
|
||||
service 'ceilometer-collector' do
|
||||
service_name platform['collector_service']
|
||||
supports status: true, restart: true
|
||||
subscribes :restart, "template[#{node['openstack']['telemetry']['conf']}]"
|
||||
|
||||
action [:enable, :start]
|
||||
end
|
||||
|
@ -38,7 +38,9 @@ platform["#{db_type}_python_packages"].each do |pkg|
|
||||
end
|
||||
|
||||
platform['common_packages'].each do |pkg|
|
||||
package pkg
|
||||
package pkg do
|
||||
options platform['package_overrides']
|
||||
end
|
||||
end
|
||||
|
||||
mq_service_type = node['openstack']['mq']['telemetry']['service_type']
|
||||
|
@ -15,8 +15,15 @@ describe 'openstack-telemetry::agent-central' do
|
||||
expect(chef_run).to install_package 'ceilometer-agent-central'
|
||||
end
|
||||
|
||||
it 'starts agent-central service' do
|
||||
it 'starts and enables the agent-central service' do
|
||||
expect(chef_run).to enable_service('ceilometer-agent-central')
|
||||
expect(chef_run).to start_service('ceilometer-agent-central')
|
||||
end
|
||||
|
||||
describe 'ceilometer-agent-central' do
|
||||
it 'subscribes to its config file' do
|
||||
expect(chef_run.service('ceilometer-agent-central')).to subscribe_to('template[/etc/ceilometer/ceilometer.conf]').delayed
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -15,8 +15,15 @@ describe 'openstack-telemetry::agent-compute' do
|
||||
expect(chef_run).to install_package 'ceilometer-agent-compute'
|
||||
end
|
||||
|
||||
it 'starts ceilometer-agent-compute service' do
|
||||
it 'enables and starts the ceilometer-agent-compute service' do
|
||||
expect(chef_run).to enable_service('ceilometer-agent-compute')
|
||||
expect(chef_run).to start_service('ceilometer-agent-compute')
|
||||
end
|
||||
|
||||
describe 'ceilometer-agent-compute' do
|
||||
it 'subscribes to its config file' do
|
||||
expect(chef_run.service('ceilometer-agent-compute')).to subscribe_to('template[/etc/ceilometer/ceilometer.conf]').delayed
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -15,8 +15,15 @@ describe 'openstack-telemetry::agent-notification' do
|
||||
expect(chef_run).to install_package 'ceilometer-agent-notification'
|
||||
end
|
||||
|
||||
it 'starts ceilometer-agent-notification service' do
|
||||
it 'enables and starts ceilometer-agent-notification service' do
|
||||
expect(chef_run).to enable_service('ceilometer-agent-notification')
|
||||
expect(chef_run).to start_service('ceilometer-agent-notification')
|
||||
end
|
||||
|
||||
describe 'ceilometer-agent-notification' do
|
||||
it 'subscribes to its config file' do
|
||||
expect(chef_run.service('ceilometer-agent-notification')).to subscribe_to('template[/etc/ceilometer/ceilometer.conf]').delayed
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -15,8 +15,15 @@ describe 'openstack-telemetry::alarm-evaluator' do
|
||||
expect(chef_run).to install_package 'ceilometer-alarm-evaluator'
|
||||
end
|
||||
|
||||
it 'starts alarm-evaluator service' do
|
||||
it 'starts and enables the alarm-evaluator service' do
|
||||
expect(chef_run).to enable_service('ceilometer-alarm-evaluator')
|
||||
expect(chef_run).to start_service('ceilometer-alarm-evaluator')
|
||||
end
|
||||
|
||||
describe 'ceilometer-alarm-evaluator' do
|
||||
it 'subscribes to its config file' do
|
||||
expect(chef_run.service('ceilometer-alarm-evaluator')).to subscribe_to('template[/etc/ceilometer/ceilometer.conf]').delayed
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -15,8 +15,15 @@ describe 'openstack-telemetry::alarm-notifier' do
|
||||
expect(chef_run).to install_package 'ceilometer-alarm-notifier'
|
||||
end
|
||||
|
||||
it 'starts alarm-notifier service' do
|
||||
it 'starts and enables the alarm-notifier service' do
|
||||
expect(chef_run).to enable_service('ceilometer-alarm-notifier')
|
||||
expect(chef_run).to start_service('ceilometer-alarm-notifier')
|
||||
end
|
||||
|
||||
describe 'ceilometer-alarm-notifier' do
|
||||
it 'subscribes to its config file' do
|
||||
expect(chef_run.service('ceilometer-alarm-notifier')).to subscribe_to('template[/etc/ceilometer/ceilometer.conf]').delayed
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -19,12 +19,19 @@ describe 'openstack-telemetry::api' do
|
||||
)
|
||||
end
|
||||
|
||||
it 'starts api service' do
|
||||
it 'installs the api package' do
|
||||
expect(chef_run).to install_package 'ceilometer-api'
|
||||
end
|
||||
|
||||
it 'enables and starts the api service' do
|
||||
expect(chef_run).to enable_service('ceilometer-api')
|
||||
expect(chef_run).to start_service('ceilometer-api')
|
||||
end
|
||||
|
||||
it 'starts api service' do
|
||||
expect(chef_run).to start_service('ceilometer-api')
|
||||
describe 'ceilometer-api' do
|
||||
it 'subscribes to its config file' do
|
||||
expect(chef_run.service('ceilometer-api')).to subscribe_to('template[/etc/ceilometer/ceilometer.conf]').delayed
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -11,6 +11,10 @@ describe 'openstack-telemetry::collector' do
|
||||
include_context 'telemetry-stubs'
|
||||
include_examples 'expect-runs-common-recipe'
|
||||
|
||||
it 'installs the collector package' do
|
||||
expect(chef_run).to install_package 'ceilometer-collector'
|
||||
end
|
||||
|
||||
it 'executes ceilometer dbsync' do
|
||||
command = 'ceilometer-dbsync --config-file /etc/ceilometer/ceilometer.conf'
|
||||
expect(chef_run).to run_execute command
|
||||
@ -26,8 +30,15 @@ describe 'openstack-telemetry::collector' do
|
||||
expect(chef_run).to install_package('python-mysqldb')
|
||||
end
|
||||
|
||||
it 'starts collector service' do
|
||||
it 'starts and enables the collector service' do
|
||||
expect(chef_run).to enable_service('ceilometer-collector')
|
||||
expect(chef_run).to start_service('ceilometer-collector')
|
||||
end
|
||||
|
||||
describe 'ceilometer-collector' do
|
||||
it 'subscribes to its config file' do
|
||||
expect(chef_run.service('ceilometer-collector')).to subscribe_to('template[/etc/ceilometer/ceilometer.conf]').delayed
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user