equal
deleted
inserted
replaced
|
1 Patch for FACT-662 Extend ldom.rb to indicate whether ldom creation is supported |
|
2 Upstream bug: https://tickets.puppetlabs.com/browse/FACT-662 |
|
3 --- facter-2.1.0/lib/facter/ldom.rb.orig 2014-08-20 10:20:46.279840866 -0600 |
|
4 +++ facter-2.1.0/lib/facter/ldom.rb 2014-08-20 10:25:26.560542193 -0600 |
|
5 @@ -46,4 +46,37 @@ |
|
6 end |
|
7 end |
|
8 end |
|
9 + |
|
10 + |
|
11 + # |
|
12 + # Resolution: Provides the following logical_domain information. |
|
13 + # current: The current environment is logical domain. |
|
14 + # supported: The current environment is control domain which can have logical |
|
15 + # domain |
|
16 + # unsupported: Logical domain is not supported on the environment |
|
17 + # |
|
18 + Facter.add("logical_domain") do |
|
19 + setcode do |
|
20 + virtinfo = %x{/sbin/virtinfo list -H -o class logical-domain 2>/dev/null} |
|
21 + virtinfo = virtinfo.split("\n") |
|
22 + virtinfo = virtinfo[0] # Doesn't need to check each logical-domain class |
|
23 + |
|
24 + case virtinfo |
|
25 + when "supported" |
|
26 + virtinfo |
|
27 + when "current" |
|
28 + # Even control domain can have "logical_domain => current" |
|
29 + # To verify, control-role property should be examined. |
|
30 + ctrl_role = %x{virtinfo -c current get -Ho value control-role logical-domain 2> /dev/null} |
|
31 + case ctrl_role.chomp! |
|
32 + when "true" |
|
33 + "supported" |
|
34 + when "false" |
|
35 + virtinfo |
|
36 + end |
|
37 + else |
|
38 + "unsupported" |
|
39 + end |
|
40 + end |
|
41 + end |
|
42 end |