Added libvirt facter plugin

This commit is contained in:
Ossi Salmi 2012-07-24 15:33:56 +03:00
parent b3a507720a
commit 898d80e2dc
2 changed files with 44 additions and 0 deletions

View file

@ -0,0 +1,40 @@
Facter.add(:libvirt_activedomains) do
confine :kernel => :linux
setcode do
begin
require 'libvirt'
conn = Libvirt::open_read_only('qemu:///system')
doms = Array.new
conn.list_domains.each do |domid|
dom = conn.lookup_domain_by_id(domid)
doms << dom.name
end
conn.close
doms.sort.join(',')
rescue LoadError
Facter.debug('ruby-libvirt not available')
rescue Exception
Facter.debug('libvirt connection failed')
end
end
end
Facter.add(:libvirt_inactivedomains) do
confine :kernel => :linux
setcode do
begin
require 'libvirt'
conn = Libvirt::open_read_only('qemu:///system')
doms = Array.new
conn.list_defined_domains.each do |domname|
doms << domname
end
conn.close
doms.sort.join(',')
rescue LoadError
Facter.debug('ruby-libvirt not available')
rescue Exception
Facter.debug('libvirt connection failed')
end
end
end

View file

@ -80,5 +80,9 @@ class libvirt::kvm inherits libvirt::client {
enable => true, enable => true,
} }
package { "ruby-libvirt":
ensure => installed,
}
} }