Let collectd manage repo and added unit test
If collectd is allowed to manage repo, it will need the epel module. This patch let collectd manage repo. It does not let to manage the repo by default, but it can be modified. I also adds the collectd unit test. Depends-On: I771b4f033ba5d6926e1ab9d9900af8bc81876295 Change-Id: I0576df2902cc44e7e9ff312214d609095132f2a4
This commit is contained in:
parent
0ac357cbcb
commit
0aef5a7190
|
@ -68,3 +68,8 @@ mod 'sensu',
|
|||
mod 'pacemaker',
|
||||
:git => 'https://github.com/openstack/puppet-pacemaker',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'collectd',
|
||||
:git => 'https://github.com/voxpupuli/puppet-collectd',
|
||||
:ref => 'master'
|
||||
|
||||
|
|
|
@ -137,6 +137,11 @@
|
|||
# (Optional) List of strings. A list of active services in this tripleo
|
||||
# deployment. This is used to look up service-specific plugins that
|
||||
# need to be installed.
|
||||
#
|
||||
# [*collectd_manage_repo*]
|
||||
# (Optional) Boolean. Whether let collectd enable manage repositories.
|
||||
# If it is set to true the epel repository will be used
|
||||
#
|
||||
class tripleo::profile::base::metrics::collectd (
|
||||
$step = Integer(hiera('step')),
|
||||
|
||||
|
@ -166,10 +171,13 @@ class tripleo::profile::base::metrics::collectd (
|
|||
$gnocchi_keystone_endpoint = undef,
|
||||
$gnocchi_resource_type = 'collectd',
|
||||
$gnocchi_batch_size = 10,
|
||||
$service_names = hiera('service_names', [])
|
||||
$service_names = hiera('service_names', []),
|
||||
$collectd_manage_repo = false
|
||||
) {
|
||||
if $step >= 3 {
|
||||
include ::collectd
|
||||
class {'::collectd':
|
||||
manage_repo => $collectd_manage_repo
|
||||
}
|
||||
if $enable_file_logging {
|
||||
include ::collectd::plugin::logfile
|
||||
}
|
||||
|
|
|
@ -0,0 +1,67 @@
|
|||
#
|
||||
# Copyright (C) 2017 Red Hat, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
#
|
||||
|
||||
require 'spec_helper'
|
||||
|
||||
describe 'tripleo::profile::base::metrics::collectd' do
|
||||
shared_examples_for 'tripleo::profile::base::metrics::collectd' do
|
||||
context 'with step less than 3' do
|
||||
let(:params) { { :step => 2 } }
|
||||
it 'should do nothing' do
|
||||
is_expected.to_not contain_class('collectd')
|
||||
is_expected.to_not contain_class('collectd::plugin::logfile')
|
||||
end
|
||||
end
|
||||
|
||||
context 'with defaults and step greater than 3' do
|
||||
let(:params) { { :step => 3 } }
|
||||
it 'only have the collectd' do
|
||||
is_expected.to compile.with_all_deps
|
||||
is_expected.to contain_class('collectd')
|
||||
is_expected.to_not contain_class('collectd::plugin::logfile')
|
||||
is_expected.to contain_class('collectd').with(
|
||||
:manage_repo => false,
|
||||
)
|
||||
is_expected.to contain_service('collectd').with(
|
||||
:ensure => 'running',
|
||||
:enable => true,
|
||||
)
|
||||
is_expected.to_not contain_class('epel')
|
||||
end
|
||||
end
|
||||
|
||||
context 'Enabled file_logging and step greater than 3' do
|
||||
let(:params) { {
|
||||
:step => 3,
|
||||
:enable_file_logging => true
|
||||
} }
|
||||
it 'Contains both' do
|
||||
is_expected.to compile.with_all_deps
|
||||
is_expected.to contain_class('collectd')
|
||||
is_expected.to contain_class('collectd::plugin::logfile')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
on_supported_os.each do |os, facts|
|
||||
context "on #{os}" do
|
||||
let (:facts) {
|
||||
facts
|
||||
}
|
||||
it_behaves_like 'tripleo::profile::base::metrics::collectd'
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue