diff options
author | Rein Henrichs <rein@puppetlabs.com> | 2010-10-18 15:45:54 -0700 |
---|---|---|
committer | Paul Berry <paul@puppetlabs.com> | 2010-11-09 17:08:43 -0800 |
commit | f007a9d5719cacf0538c9155cc90de86e69d65df (patch) | |
tree | 6f23167087541df48f804c8bbb375d66e8653ecd /lib | |
parent | d4df9634b94e498bdd63089f2cd95d49d4baa7f1 (diff) | |
download | facter-f007a9d5719cacf0538c9155cc90de86e69d65df.tar.gz facter-f007a9d5719cacf0538c9155cc90de86e69d65df.tar.xz facter-f007a9d5719cacf0538c9155cc90de86e69d65df.zip |
(#4989) Add xendomains fact
Parses `/usr/sbin/xm list` and returns a comma-separated list of
domains. Based on a patch submitted by Jonas Genannt.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/facter/util/xendomains.rb | 10 | ||||
-rw-r--r-- | lib/facter/xendomains.rb | 10 |
2 files changed, 20 insertions, 0 deletions
diff --git a/lib/facter/util/xendomains.rb b/lib/facter/util/xendomains.rb new file mode 100644 index 0000000..4f590a8 --- /dev/null +++ b/lib/facter/util/xendomains.rb @@ -0,0 +1,10 @@ +# A module to gather running Xen Domains +# +module Facter::Util::Xendomains + def self.get_domains + if xm_list = Facter::Util::Resolution.exec('/usr/sbin/xm list') + domains = xm_list.split("\n").reject { |line| line =~ /^(Name|Domain-0)/ } + domains.map { |line| line.split(/\s/)[0] }.join(',') + end + end +end diff --git a/lib/facter/xendomains.rb b/lib/facter/xendomains.rb new file mode 100644 index 0000000..972ac90 --- /dev/null +++ b/lib/facter/xendomains.rb @@ -0,0 +1,10 @@ +require 'facter/util/xendomains' + +Facter.add("xendomains") do + confine :kernel => %w{Linux FreeBSD OpenBSD SunOS} + confine :virtual => 'xen0' + + setcode do + Facter::Util::Xendomains.get_domains + end +end |