Introduce vitrage::persistor
Change-Id: I34b7c0d151bd94f5aac31dd166246accbbcb69c0
This commit is contained in:
parent
528d14b4c3
commit
2f61c54b8a
@ -18,6 +18,8 @@ class vitrage::params {
|
||||
$graph_service_name = 'openstack-vitrage-graph'
|
||||
$collector_package_name = 'openstack-vitrage-collector'
|
||||
$collector_service_name = 'openstack-vitrage-collector'
|
||||
$persistor_package_name = 'openstack-vitrage-persistor'
|
||||
$persistor_service_name = 'openstack-vitrage-persistor'
|
||||
$vitrage_wsgi_script_path = '/var/www/cgi-bin/vitrage'
|
||||
$vitrage_wsgi_script_source = '/usr/lib/python2.7/site-packages/vitrage/api/app.wsgi'
|
||||
}
|
||||
@ -31,6 +33,8 @@ class vitrage::params {
|
||||
$graph_service_name = 'vitrage-graph'
|
||||
$collector_package_name = 'vitrage-collector'
|
||||
$collector_service_name = 'vitrage-collector'
|
||||
$persistor_package_name = 'vitrage-persistor'
|
||||
$persistor_service_name = 'vitrage-persistor'
|
||||
$vitrage_wsgi_script_path = '/usr/lib/cgi-bin/vitrage'
|
||||
$vitrage_wsgi_script_source = '/usr/share/vitrage-common/app.wsgi'
|
||||
}
|
||||
|
50
manifests/persistor.pp
Normal file
50
manifests/persistor.pp
Normal file
@ -0,0 +1,50 @@
|
||||
# Installs the vitrage persistor service
|
||||
#
|
||||
# == Params
|
||||
# [*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'
|
||||
#
|
||||
class vitrage::persistor (
|
||||
$manage_service = true,
|
||||
$enabled = true,
|
||||
$package_ensure = 'present',
|
||||
) {
|
||||
|
||||
include ::vitrage::deps
|
||||
include ::vitrage::params
|
||||
|
||||
ensure_resource( 'package', [$::vitrage::params::persistor_package_name],
|
||||
{ ensure => $package_ensure,
|
||||
tag => ['openstack', 'vitrage-package'] }
|
||||
)
|
||||
|
||||
if $manage_service {
|
||||
if $enabled {
|
||||
$service_ensure = 'running'
|
||||
} else {
|
||||
$service_ensure = 'stopped'
|
||||
}
|
||||
}
|
||||
|
||||
vitrage_config {
|
||||
'persistor/persist_events': value => $enabled;
|
||||
}
|
||||
|
||||
service { 'vitrage-persistor':
|
||||
ensure => $service_ensure,
|
||||
name => $::vitrage::params::persistor_service_name,
|
||||
enable => $enabled,
|
||||
hasstatus => true,
|
||||
hasrestart => true,
|
||||
tag => 'vitrage-service',
|
||||
}
|
||||
}
|
5
releasenotes/notes/persistor-0cb9b81c46a8bf57.yaml
Normal file
5
releasenotes/notes/persistor-0cb9b81c46a8bf57.yaml
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
Add vitrage::persistor which allows to make events persistent with
|
||||
the Vitrage Persistor service.
|
101
spec/classes/vitrage_persistor_spec.rb
Normal file
101
spec/classes/vitrage_persistor_spec.rb
Normal file
@ -0,0 +1,101 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe 'vitrage::persistor' do
|
||||
|
||||
let :pre_condition do
|
||||
"class { '::vitrage': }"
|
||||
end
|
||||
|
||||
shared_examples_for 'vitrage-persistor' do
|
||||
|
||||
context 'when enabled' do
|
||||
it { is_expected.to contain_class('vitrage::deps') }
|
||||
it { is_expected.to contain_class('vitrage::params') }
|
||||
|
||||
it 'configures vitrage.conf' do
|
||||
is_expected.to contain_vitrage_config('persistor/persist_events').with_value('true')
|
||||
end
|
||||
|
||||
it 'installs vitrage-persistor package' do
|
||||
is_expected.to contain_package(platform_params[:persistor_package_name]).with(
|
||||
:ensure => 'present',
|
||||
:tag => ['openstack', 'vitrage-package']
|
||||
)
|
||||
end
|
||||
|
||||
it 'configures vitrage-persistor service' do
|
||||
is_expected.to contain_service('vitrage-persistor').with(
|
||||
:ensure => 'running',
|
||||
:name => platform_params[:persistor_service_name],
|
||||
:enable => true,
|
||||
:hasstatus => true,
|
||||
:hasrestart => true,
|
||||
:tag => 'vitrage-service',
|
||||
)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
context 'when disabled' do
|
||||
let :params do
|
||||
{ :enabled => false }
|
||||
end
|
||||
|
||||
it { is_expected.to compile }
|
||||
it 'configures vitrage-persistor service' do
|
||||
is_expected.to contain_service('vitrage-persistor').with(
|
||||
:ensure => 'stopped',
|
||||
:name => platform_params[:persistor_service_name],
|
||||
:enable => false,
|
||||
:hasstatus => true,
|
||||
:hasrestart => true,
|
||||
:tag => 'vitrage-service',
|
||||
)
|
||||
end
|
||||
it 'configures vitrage.conf' do
|
||||
is_expected.to contain_vitrage_config('persistor/persist_events').with_value('false')
|
||||
end
|
||||
end
|
||||
|
||||
context 'when service management is disabled' do
|
||||
let :params do
|
||||
{ :enabled => false,
|
||||
:manage_service => false }
|
||||
end
|
||||
|
||||
it 'configures vitrage-persistor service' do
|
||||
is_expected.to contain_service('vitrage-persistor').with(
|
||||
:ensure => nil,
|
||||
:name => platform_params[:persistor_service_name],
|
||||
:enable => false,
|
||||
:hasstatus => true,
|
||||
:hasrestart => true,
|
||||
:tag => 'vitrage-service',
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
on_supported_os({
|
||||
:supported_os => OSDefaults.get_supported_os
|
||||
}).each do |os,facts|
|
||||
context "on #{os}" do
|
||||
let (:facts) do
|
||||
facts.merge!(OSDefaults.get_facts())
|
||||
end
|
||||
|
||||
let(:platform_params) do
|
||||
case facts[:osfamily]
|
||||
when 'Debian'
|
||||
{ :persistor_package_name => 'vitrage-persistor',
|
||||
:persistor_service_name => 'vitrage-persistor' }
|
||||
when 'RedHat'
|
||||
{ :persistor_package_name => 'openstack-vitrage-persistor',
|
||||
:persistor_service_name => 'openstack-vitrage-persistor' }
|
||||
end
|
||||
end
|
||||
it_configures 'vitrage-persistor'
|
||||
end
|
||||
end
|
||||
|
||||
end
|
Loading…
Reference in New Issue
Block a user