fuel-plugin-lma-collector/deployment_scripts/puppet/modules/lma_collector/manifests/collectd/pacemaker.pp

55 lines
1.6 KiB
Puppet

# Copyright 2016 Mirantis, 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.
#
class lma_collector::collectd::pacemaker (
$resources,
$notify_resource = undef,
$hostname = undef,
) {
validate_hash($resources)
# Add quotes around the hash keys and values
$resources_keys = suffix(prefix(keys($resources), '"'), '"')
$resources_values = suffix(prefix(values($resources), '"'), '"')
$real_resources = hash(flatten(zip($resources_keys, $resources_values)))
if $hostname {
$_hostname = {'Hostname' => "\"${hostname}\""}
} else {
$_hostname = {}
}
if $notify_resource {
$_notify_resource = {'NotifyResource' => "\"${notify_resource}\""}
} else {
$_notify_resource = {}
}
lma_collector::collectd::python { 'collectd_pacemaker':
config => merge({'Resource' => $real_resources}, $_hostname, $_notify_resource)
}
# Remove configuration bits from versions < 1.0
collectd::plugin { 'target_notification':
ensure => absent
}
collectd::plugin { 'match_regex':
ensure => absent
}
class { 'collectd::plugin::chain':
ensure => absent
}
}