Files
cookbook-openstack-compute/recipes/libvirt-monitoring.rb
2012-06-18 13:27:37 -05:00

61 lines
1.9 KiB
Ruby

#
# Cookbook Name:: nova
# Recipe:: libvirt-monitoring
#
# Copyright 2009, Rackspace Hosting, 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.
#
########################################
# BEGIN COLLECTD SECTION
# Allow for enable/disable of collectd
if get_settings_by_role("collectd-server", "roles") and node["roles"].include?("collectd-client")
include_recipe "collectd-graphite::collectd-client"
# Figure out which connection type to use for libvirt
nova = get_settings_by_role("single-compute", "nova")
if nova["libvirt"]["virt_type"] == "qemu"
virt_conn = "qemu:///system"
else
# TODO(shep): Not sure this is the right one
virt_conn = "kvm:///"
end
collectd_plugin "libvirt" do
template "collectd-plugin-libvirt.conf.erb"
cookbook "nova"
options(
"Connection"=>virt_conn,
"HostnameFormat"=>"name",
"RefreshInterval"=>60
)
end
end
########################################
########################################
# BEGIN MONIT SECTION
# Allow for enable/disable of monit
if node["enable_monit"]
include_recipe "monit::server"
platform_options = node["nova"]["platform"]
monit_procmon "libvirt-bin" do
process_name "libvirtd"
start_cmd "/usr/sbin/service " + platform_options["libvirt_service"] + " start"
stop_cmd "/usr/sbin/service " + platform_options["libvirt_service"] + " stop"
end
end
########################################