facter 4.0.32 → 4.0.33
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/facter/facts/linux/virtual.rb +17 -0
- data/lib/facter/facts/macosx/virtual.rb +1 -1
- data/lib/facter/facts/solaris/memory/swap/available.rb +22 -0
- data/lib/facter/facts/solaris/memory/swap/available_bytes.rb +22 -0
- data/lib/facter/facts/solaris/memory/swap/capacity.rb +20 -0
- data/lib/facter/facts/solaris/memory/swap/total.rb +22 -0
- data/lib/facter/facts/solaris/memory/swap/total_bytes.rb +22 -0
- data/lib/facter/facts/solaris/memory/swap/used.rb +21 -0
- data/lib/facter/facts/solaris/memory/swap/used_bytes.rb +19 -0
- data/lib/facter/facts/solaris/memory/system/available.rb +22 -0
- data/lib/facter/facts/solaris/memory/system/available_bytes.rb +22 -0
- data/lib/facter/facts/solaris/memory/system/capacity.rb +20 -0
- data/lib/facter/facts/solaris/memory/system/total.rb +22 -0
- data/lib/facter/facts/solaris/memory/system/total_bytes.rb +22 -0
- data/lib/facter/facts/solaris/memory/system/used.rb +21 -0
- data/lib/facter/facts/solaris/memory/system/used_bytes.rb +19 -0
- data/lib/facter/resolvers/lspci.rb +2 -0
- data/lib/facter/resolvers/networking_linux_resolver.rb +11 -0
- data/lib/facter/resolvers/solaris/memory.rb +93 -0
- data/lib/facter/resolvers/utils/networking.rb +2 -0
- data/lib/facter/resolvers/windows/networking_resolver.rb +0 -2
- data/lib/facter/version.rb +1 -1
- metadata +17 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 32bb403fb4187d3a595b0b8aa4ed12ba472b1efc6d785cf2d371fc1488afd2d7
|
4
|
+
data.tar.gz: b8b159eedc00a4c17e2121e73f38bb76d383b298746731104511a36955ba382d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3a0f55015be59493c79b53f054e609a336d6e64385547534ffe62084b060d1b70da511f0a4d74179717bf8fe11287ed972586fb159c20a33d4832ba01f287ffc
|
7
|
+
data.tar.gz: 1814bfa9210ec33c2ddeafad6d123a4f2c7377c792cd4a494de5d467f606b46943f2a294c6abc4f1e1700a87edaeeffe3e1de0712782a46ada76ae289367e17f
|
@@ -5,43 +5,59 @@ module Facts
|
|
5
5
|
class Virtual
|
6
6
|
FACT_NAME = 'virtual'
|
7
7
|
|
8
|
+
def initialize
|
9
|
+
@log = Facter::Log.new(self)
|
10
|
+
end
|
11
|
+
|
8
12
|
def call_the_resolver # rubocop:disable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
|
13
|
+
@log.debug('Linux Virtual Resolver')
|
14
|
+
|
9
15
|
fact_value = check_docker_lxc || check_gce || retrieve_from_virt_what || check_vmware
|
10
16
|
fact_value ||= check_open_vz || check_vserver || check_xen || check_other_facts || check_lspci || 'physical'
|
11
17
|
|
18
|
+
@log.debug("Fact value is: #{fact_value}")
|
19
|
+
|
12
20
|
Facter::ResolvedFact.new(FACT_NAME, fact_value)
|
13
21
|
end
|
14
22
|
|
15
23
|
def check_gce
|
24
|
+
@log.debug('Checking GCE')
|
16
25
|
bios_vendor = Facter::Resolvers::Linux::DmiBios.resolve(:bios_vendor)
|
17
26
|
'gce' if bios_vendor&.include?('Google')
|
18
27
|
end
|
19
28
|
|
20
29
|
def check_docker_lxc
|
30
|
+
@log.debug('Checking Docker and LXC')
|
21
31
|
Facter::Resolvers::Containers.resolve(:vm)
|
22
32
|
end
|
23
33
|
|
24
34
|
def check_vmware
|
35
|
+
@log.debug('Checking VMware')
|
25
36
|
Facter::Resolvers::Vmware.resolve(:vm)
|
26
37
|
end
|
27
38
|
|
28
39
|
def retrieve_from_virt_what
|
40
|
+
@log.debug('Checking virtual_what')
|
29
41
|
Facter::Resolvers::VirtWhat.resolve(:vm)
|
30
42
|
end
|
31
43
|
|
32
44
|
def check_open_vz
|
45
|
+
@log.debug('Checking OpenVZ')
|
33
46
|
Facter::Resolvers::OpenVz.resolve(:vm)
|
34
47
|
end
|
35
48
|
|
36
49
|
def check_vserver
|
50
|
+
@log.debug('Checking VServer')
|
37
51
|
Facter::Resolvers::VirtWhat.resolve(:vserver)
|
38
52
|
end
|
39
53
|
|
40
54
|
def check_xen
|
55
|
+
@log.debug('Checking XEN')
|
41
56
|
Facter::Resolvers::Xen.resolve(:vm)
|
42
57
|
end
|
43
58
|
|
44
59
|
def check_other_facts
|
60
|
+
@log.debug('Checking others')
|
45
61
|
product_name = Facter::Resolvers::Linux::DmiBios.resolve(:product_name)
|
46
62
|
bios_vendor = Facter::Resolvers::Linux::DmiBios.resolve(:bios_vendor)
|
47
63
|
return 'kvm' if bios_vendor&.include?('Amazon EC2')
|
@@ -53,6 +69,7 @@ module Facts
|
|
53
69
|
end
|
54
70
|
|
55
71
|
def check_lspci
|
72
|
+
@log.debug('Checking lspci')
|
56
73
|
Facter::Resolvers::Lspci.resolve(:vm)
|
57
74
|
end
|
58
75
|
end
|
@@ -6,7 +6,7 @@ module Facts
|
|
6
6
|
FACT_NAME = 'virtual'
|
7
7
|
|
8
8
|
def call_the_resolver
|
9
|
-
fact_value = check_vmware || check_virtualbox || check_parallels
|
9
|
+
fact_value = check_vmware || check_virtualbox || check_parallels || 'physical'
|
10
10
|
|
11
11
|
Facter::ResolvedFact.new(FACT_NAME, fact_value)
|
12
12
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Solaris
|
5
|
+
module Memory
|
6
|
+
module Swap
|
7
|
+
class Available
|
8
|
+
FACT_NAME = 'memory.swap.available'
|
9
|
+
ALIASES = 'swapfree'
|
10
|
+
|
11
|
+
def call_the_resolver
|
12
|
+
fact_value = Facter::Resolvers::Solaris::Memory.resolve(:swap)
|
13
|
+
if fact_value
|
14
|
+
fact_value = Facter::FactsUtils::UnitConverter.bytes_to_human_readable(fact_value[:available_bytes])
|
15
|
+
end
|
16
|
+
[Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Solaris
|
5
|
+
module Memory
|
6
|
+
module Swap
|
7
|
+
class AvailableBytes
|
8
|
+
FACT_NAME = 'memory.swap.available_bytes'
|
9
|
+
ALIASES = 'swapfree_mb'
|
10
|
+
|
11
|
+
def call_the_resolver
|
12
|
+
fact_value = Facter::Resolvers::Solaris::Memory.resolve(:swap)
|
13
|
+
fact_value = fact_value[:available_bytes] if fact_value
|
14
|
+
|
15
|
+
[Facter::ResolvedFact.new(FACT_NAME, fact_value),
|
16
|
+
Facter::ResolvedFact.new(ALIASES, Facter::FactsUtils::UnitConverter.bytes_to_mb(fact_value), :legacy)]
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Solaris
|
5
|
+
module Memory
|
6
|
+
module Swap
|
7
|
+
class Capacity
|
8
|
+
FACT_NAME = 'memory.swap.capacity'
|
9
|
+
|
10
|
+
def call_the_resolver
|
11
|
+
fact_value = Facter::Resolvers::Solaris::Memory.resolve(:swap)
|
12
|
+
fact_value = fact_value[:capacity] if fact_value
|
13
|
+
|
14
|
+
Facter::ResolvedFact.new(FACT_NAME, fact_value)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Solaris
|
5
|
+
module Memory
|
6
|
+
module Swap
|
7
|
+
class Total
|
8
|
+
FACT_NAME = 'memory.swap.total'
|
9
|
+
ALIASES = 'swapsize'
|
10
|
+
|
11
|
+
def call_the_resolver
|
12
|
+
fact_value = Facter::Resolvers::Solaris::Memory.resolve(:swap)
|
13
|
+
if fact_value
|
14
|
+
fact_value = Facter::FactsUtils::UnitConverter.bytes_to_human_readable(fact_value[:total_bytes])
|
15
|
+
end
|
16
|
+
[Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Solaris
|
5
|
+
module Memory
|
6
|
+
module Swap
|
7
|
+
class TotalBytes
|
8
|
+
FACT_NAME = 'memory.swap.total_bytes'
|
9
|
+
ALIASES = 'swapsize_mb'
|
10
|
+
|
11
|
+
def call_the_resolver
|
12
|
+
fact_value = Facter::Resolvers::Solaris::Memory.resolve(:swap)
|
13
|
+
fact_value = fact_value[:total_bytes] if fact_value
|
14
|
+
|
15
|
+
[Facter::ResolvedFact.new(FACT_NAME, fact_value),
|
16
|
+
Facter::ResolvedFact.new(ALIASES, Facter::FactsUtils::UnitConverter.bytes_to_mb(fact_value), :legacy)]
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Solaris
|
5
|
+
module Memory
|
6
|
+
module Swap
|
7
|
+
class Used
|
8
|
+
FACT_NAME = 'memory.swap.used'
|
9
|
+
|
10
|
+
def call_the_resolver
|
11
|
+
fact_value = Facter::Resolvers::Solaris::Memory.resolve(:swap)
|
12
|
+
if fact_value
|
13
|
+
fact_value = Facter::FactsUtils::UnitConverter.bytes_to_human_readable(fact_value[:used_bytes])
|
14
|
+
end
|
15
|
+
Facter::ResolvedFact.new(FACT_NAME, fact_value)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Solaris
|
5
|
+
module Memory
|
6
|
+
module Swap
|
7
|
+
class UsedBytes
|
8
|
+
FACT_NAME = 'memory.swap.used_bytes'
|
9
|
+
|
10
|
+
def call_the_resolver
|
11
|
+
fact_value = Facter::Resolvers::Solaris::Memory.resolve(:swap)
|
12
|
+
fact_value = fact_value[:used_bytes] if fact_value
|
13
|
+
Facter::ResolvedFact.new(FACT_NAME, fact_value)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Solaris
|
5
|
+
module Memory
|
6
|
+
module System
|
7
|
+
class Available
|
8
|
+
FACT_NAME = 'memory.system.available'
|
9
|
+
ALIASES = 'memoryfree'
|
10
|
+
|
11
|
+
def call_the_resolver
|
12
|
+
fact_value = Facter::Resolvers::Solaris::Memory.resolve(:system)
|
13
|
+
if fact_value
|
14
|
+
fact_value = Facter::FactsUtils::UnitConverter.bytes_to_human_readable(fact_value[:available_bytes])
|
15
|
+
end
|
16
|
+
[Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Solaris
|
5
|
+
module Memory
|
6
|
+
module System
|
7
|
+
class AvailableBytes
|
8
|
+
FACT_NAME = 'memory.system.available_bytes'
|
9
|
+
ALIASES = 'memoryfree_mb'
|
10
|
+
|
11
|
+
def call_the_resolver
|
12
|
+
fact_value = Facter::Resolvers::Solaris::Memory.resolve(:system)
|
13
|
+
fact_value = fact_value[:available_bytes] if fact_value
|
14
|
+
|
15
|
+
[Facter::ResolvedFact.new(FACT_NAME, fact_value),
|
16
|
+
Facter::ResolvedFact.new(ALIASES, Facter::FactsUtils::UnitConverter.bytes_to_mb(fact_value), :legacy)]
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Solaris
|
5
|
+
module Memory
|
6
|
+
module System
|
7
|
+
class Capacity
|
8
|
+
FACT_NAME = 'memory.system.capacity'
|
9
|
+
|
10
|
+
def call_the_resolver
|
11
|
+
fact_value = Facter::Resolvers::Solaris::Memory.resolve(:system)
|
12
|
+
fact_value = fact_value[:capacity] if fact_value
|
13
|
+
|
14
|
+
Facter::ResolvedFact.new(FACT_NAME, fact_value)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Solaris
|
5
|
+
module Memory
|
6
|
+
module System
|
7
|
+
class Total
|
8
|
+
FACT_NAME = 'memory.system.total'
|
9
|
+
ALIASES = 'memorysize'
|
10
|
+
|
11
|
+
def call_the_resolver
|
12
|
+
fact_value = Facter::Resolvers::Solaris::Memory.resolve(:system)
|
13
|
+
if fact_value
|
14
|
+
fact_value = Facter::FactsUtils::UnitConverter.bytes_to_human_readable(fact_value[:total_bytes])
|
15
|
+
end
|
16
|
+
[Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Solaris
|
5
|
+
module Memory
|
6
|
+
module System
|
7
|
+
class TotalBytes
|
8
|
+
FACT_NAME = 'memory.system.total_bytes'
|
9
|
+
ALIASES = 'memorysize_mb'
|
10
|
+
|
11
|
+
def call_the_resolver
|
12
|
+
fact_value = Facter::Resolvers::Solaris::Memory.resolve(:system)
|
13
|
+
fact_value = fact_value[:total_bytes] if fact_value
|
14
|
+
|
15
|
+
[Facter::ResolvedFact.new(FACT_NAME, fact_value),
|
16
|
+
Facter::ResolvedFact.new(ALIASES, Facter::FactsUtils::UnitConverter.bytes_to_mb(fact_value), :legacy)]
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Solaris
|
5
|
+
module Memory
|
6
|
+
module System
|
7
|
+
class Used
|
8
|
+
FACT_NAME = 'memory.system.used'
|
9
|
+
|
10
|
+
def call_the_resolver
|
11
|
+
fact_value = Facter::Resolvers::Solaris::Memory.resolve(:system)
|
12
|
+
if fact_value
|
13
|
+
fact_value = Facter::FactsUtils::UnitConverter.bytes_to_human_readable(fact_value[:used_bytes])
|
14
|
+
end
|
15
|
+
Facter::ResolvedFact.new(FACT_NAME, fact_value)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facts
|
4
|
+
module Solaris
|
5
|
+
module Memory
|
6
|
+
module System
|
7
|
+
class UsedBytes
|
8
|
+
FACT_NAME = 'memory.system.used_bytes'
|
9
|
+
|
10
|
+
def call_the_resolver
|
11
|
+
fact_value = Facter::Resolvers::Solaris::Memory.resolve(:system)
|
12
|
+
fact_value = fact_value[:used_bytes] if fact_value
|
13
|
+
Facter::ResolvedFact.new(FACT_NAME, fact_value)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -11,6 +11,7 @@ module Facter
|
|
11
11
|
private
|
12
12
|
|
13
13
|
def post_resolve(fact_name)
|
14
|
+
log.debug('in networking_linux_resolver')
|
14
15
|
@fact_list.fetch(fact_name) { retrieve_network_info(fact_name) }
|
15
16
|
|
16
17
|
@fact_list[fact_name]
|
@@ -36,12 +37,17 @@ module Facter
|
|
36
37
|
end
|
37
38
|
|
38
39
|
def retrieve_interface_info
|
40
|
+
log.debug('retrieve_interface_info')
|
39
41
|
output = Facter::Core::Execution.execute('ip -o address', logger: log)
|
42
|
+
log.debug("ip -o address result is:\n#{output}")
|
43
|
+
|
40
44
|
interfaces = {}
|
41
45
|
|
42
46
|
output.each_line do |ip_line|
|
43
47
|
ip_tokens = ip_line.split(' ')
|
44
48
|
|
49
|
+
log.debug("ip_tokens = #{ip_tokens}")
|
50
|
+
log.debug("interfaces = #{interfaces}")
|
45
51
|
fill_ip_v4_info!(ip_tokens, interfaces)
|
46
52
|
fill_io_v6_info!(ip_tokens, interfaces)
|
47
53
|
find_dhcp!(ip_tokens, interfaces)
|
@@ -93,10 +99,15 @@ module Facter
|
|
93
99
|
end
|
94
100
|
|
95
101
|
def fill_ip_v4_info!(ip_tokens, network_info)
|
102
|
+
log.debug('fill_ip_v4_info!')
|
96
103
|
return unless ip_tokens[2].casecmp('inet').zero?
|
97
104
|
|
98
105
|
interface_name, ip4_address, ip4_mask_length = retrieve_name_and_ip_info(ip_tokens)
|
99
106
|
|
107
|
+
log.debug("interface_name = #{interface_name}\n" \
|
108
|
+
"ip4_address = #{ip4_address}\n" \
|
109
|
+
"ip4_mask_length = #{ip4_mask_length}")
|
110
|
+
|
100
111
|
binding = ::Resolvers::Utils::Networking.build_binding(ip4_address, ip4_mask_length)
|
101
112
|
build_network_info_structure!(network_info, interface_name, :bindings)
|
102
113
|
|
@@ -0,0 +1,93 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Facter
|
4
|
+
module Resolvers
|
5
|
+
module Solaris
|
6
|
+
class Memory < BaseResolver
|
7
|
+
BLOCKSIZE = 512
|
8
|
+
# :system
|
9
|
+
# :swap
|
10
|
+
@semaphore = Mutex.new
|
11
|
+
@fact_list ||= {}
|
12
|
+
class << self
|
13
|
+
private
|
14
|
+
|
15
|
+
def post_resolve(fact_name)
|
16
|
+
@fact_list.fetch(fact_name) { calculate_memory(fact_name) }
|
17
|
+
end
|
18
|
+
|
19
|
+
def calculate_memory(fact_name)
|
20
|
+
@fact_list = { system: sys, swap: swap }
|
21
|
+
|
22
|
+
@fact_list[fact_name]
|
23
|
+
end
|
24
|
+
|
25
|
+
def sys
|
26
|
+
sys = {}
|
27
|
+
output = Facter::Core::Execution.execute('/usr/bin/kstat -m unix -n system_pages', logger: log).strip
|
28
|
+
total, free = parse_sys_output(output)
|
29
|
+
|
30
|
+
return unless total || free
|
31
|
+
|
32
|
+
sys[:total_bytes] = total
|
33
|
+
sys[:available_bytes] = free
|
34
|
+
sys[:used_bytes] = total - free
|
35
|
+
sys[:capacity] = FilesystemHelper.compute_capacity(total - free, total)
|
36
|
+
|
37
|
+
sys
|
38
|
+
end
|
39
|
+
|
40
|
+
def swap
|
41
|
+
swap_hash = {}
|
42
|
+
output = Facter::Core::Execution.execute('/usr/sbin/swap -l', logger: log).strip
|
43
|
+
total, free = parse_swap_output(output)
|
44
|
+
|
45
|
+
swap_hash[:total_bytes] = total
|
46
|
+
swap_hash[:available_bytes] = free
|
47
|
+
swap_hash[:used_bytes] = total - free
|
48
|
+
swap_hash[:capacity] = FilesystemHelper.compute_capacity(total - free, total)
|
49
|
+
|
50
|
+
swap_hash if total != 0
|
51
|
+
end
|
52
|
+
|
53
|
+
def parse_sys_output(output)
|
54
|
+
kstats = output.scan(/(physmem|pagesfree)\s+(\d+)/)
|
55
|
+
kstats = kstats.to_h
|
56
|
+
return unless kstats['physmem'] || kstats['pagesfree']
|
57
|
+
return unless pagesize != 0
|
58
|
+
|
59
|
+
total = kstats['physmem'].to_i * pagesize
|
60
|
+
free = kstats['pagesfree'].to_i * pagesize
|
61
|
+
|
62
|
+
[total, free]
|
63
|
+
end
|
64
|
+
|
65
|
+
def parse_swap_output(output)
|
66
|
+
total = 0
|
67
|
+
free = 0
|
68
|
+
|
69
|
+
output.each_line do |line|
|
70
|
+
swap_sizes = line.match(/(\d+)\s+(\d+)$/)
|
71
|
+
next if swap_sizes.nil?
|
72
|
+
|
73
|
+
total += swap_sizes[1].to_i
|
74
|
+
free += swap_sizes[2].to_i
|
75
|
+
end
|
76
|
+
total *= BLOCKSIZE
|
77
|
+
free *= BLOCKSIZE
|
78
|
+
|
79
|
+
[total, free]
|
80
|
+
end
|
81
|
+
|
82
|
+
def pagesize
|
83
|
+
unless @fact_list[:pagesize]
|
84
|
+
@fact_list[:pagesize] = Facter::Core::Execution.execute('pagesize', logger: log).strip.to_i
|
85
|
+
log.debug("Pagesize: #{@fact_list[:pagesize]}")
|
86
|
+
end
|
87
|
+
@fact_list[:pagesize]
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
data/lib/facter/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: facter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.
|
4
|
+
version: 4.0.33
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Puppet
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-08-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -565,6 +565,20 @@ files:
|
|
565
565
|
- lib/facter/facts/solaris/kernelrelease.rb
|
566
566
|
- lib/facter/facts/solaris/kernelversion.rb
|
567
567
|
- lib/facter/facts/solaris/macaddress_interfaces.rb
|
568
|
+
- lib/facter/facts/solaris/memory/swap/available.rb
|
569
|
+
- lib/facter/facts/solaris/memory/swap/available_bytes.rb
|
570
|
+
- lib/facter/facts/solaris/memory/swap/capacity.rb
|
571
|
+
- lib/facter/facts/solaris/memory/swap/total.rb
|
572
|
+
- lib/facter/facts/solaris/memory/swap/total_bytes.rb
|
573
|
+
- lib/facter/facts/solaris/memory/swap/used.rb
|
574
|
+
- lib/facter/facts/solaris/memory/swap/used_bytes.rb
|
575
|
+
- lib/facter/facts/solaris/memory/system/available.rb
|
576
|
+
- lib/facter/facts/solaris/memory/system/available_bytes.rb
|
577
|
+
- lib/facter/facts/solaris/memory/system/capacity.rb
|
578
|
+
- lib/facter/facts/solaris/memory/system/total.rb
|
579
|
+
- lib/facter/facts/solaris/memory/system/total_bytes.rb
|
580
|
+
- lib/facter/facts/solaris/memory/system/used.rb
|
581
|
+
- lib/facter/facts/solaris/memory/system/used_bytes.rb
|
568
582
|
- lib/facter/facts/solaris/mountpoints.rb
|
569
583
|
- lib/facter/facts/solaris/mtu_interfaces.rb
|
570
584
|
- lib/facter/facts/solaris/netmask6_interfaces.rb
|
@@ -808,6 +822,7 @@ files:
|
|
808
822
|
- lib/facter/resolvers/solaris/ffi/structs.rb
|
809
823
|
- lib/facter/resolvers/solaris/filesystems_resolver.rb
|
810
824
|
- lib/facter/resolvers/solaris/ipaddress_resolver.rb
|
825
|
+
- lib/facter/resolvers/solaris/memory.rb
|
811
826
|
- lib/facter/resolvers/solaris/networking_resolver.rb
|
812
827
|
- lib/facter/resolvers/solaris/processors.rb
|
813
828
|
- lib/facter/resolvers/solaris/solaris_os_release_resolver.rb
|