summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorPaul Berry <paul@puppetlabs.com>2010-11-09 17:11:39 -0800
committerPaul Berry <paul@puppetlabs.com>2010-11-09 17:11:39 -0800
commit06fb622e293100b214ac0de4f9d09d06dcbdb36e (patch)
tree6f23167087541df48f804c8bbb375d66e8653ecd /lib
parentd4df9634b94e498bdd63089f2cd95d49d4baa7f1 (diff)
parentf007a9d5719cacf0538c9155cc90de86e69d65df (diff)
Merge branch 'ticket/next/4989' into next
Diffstat (limited to 'lib')
-rw-r--r--lib/facter/util/xendomains.rb10
-rw-r--r--lib/facter/xendomains.rb10
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