Module: Facter::Util::Xendomains
- Defined in:
- lib/facter/util/xendomains.rb
Overview
A module to gather running Xen Domains
Constant Summary collapse
- XEN_COMMANDS =
['/usr/sbin/xl', '/usr/sbin/xm']
Class Method Summary collapse
Class Method Details
.get_domains ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'lib/facter/util/xendomains.rb', line 19 def self.get_domains command = self.xen_command if command if domains_list = Facter::Util::Resolution.exec("#{command} list 2>/dev/null") domains = domains_list.split("\n").reject { |line| line =~ /^(Name|Domain-0)/ } domains.map { |line| line.split(/\s/)[0] }.join(',') end end end |
.xen_command ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/facter/util/xendomains.rb', line 6 def self.xen_command if File.file?('/usr/lib/xen-common/bin/xen-toolstack') xen_toolstack_cmd = Facter::Util::Resolution.exec('/usr/lib/xen-common/bin/xen-toolstack') if xen_toolstack_cmd xen_toolstack_cmd.chomp else nil end else XEN_COMMANDS.find { |cmd| Facter::Util::Resolution.which(cmd) } end end |