facter 4.0.31 → 4.0.32

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 58032c19dc544418cdd5bdc8598a48d6d8cc2b9c67f3ef3ac081fe98cf03ac6a
4
- data.tar.gz: db8bd43f5f28c4c7ea30d67c2ecb02367d398b70c2096fa5ee5f0319c2473640
3
+ metadata.gz: 72f2204546c27a939b067c08cc85aaf8f38673a37db898cd9dda273e8047704c
4
+ data.tar.gz: 1815adc1638070582de416e8f7976a6ace992bd6e133077ab387e792b3f26415
5
5
  SHA512:
6
- metadata.gz: 52a387b13db0d8064f5cfc7e968b1b8c65843098071e04b662ee76a5c57bbdf5cbcbc669230a30544007fecc648645553496e4ccf000eba81cf7dbb0e6103d90
7
- data.tar.gz: 61e0b00e59b79820c2ec91118c8bba3b3d692bc620807a29341e0cc2530565d574fd80648167547e55d556db145176ca78d126f2e8ff7f4093155c95534fe5a5
6
+ metadata.gz: 6a7c95ea0a07b60e11aa33d1edf792c875139fa683ca2b30db252cad0b81e77a0ee2135f2237f0bb04e17b2df7f30705ace0c28a0e9f236459c717e6aa7f4010
7
+ data.tar.gz: fb8f00bc8f4a117d7d904125f6864296389257d2be4935d6492030570cd4100a333b190394a782f52ff0156fb9441b0a3228fda201048ede7c6e4f13ad28dd14
@@ -56,6 +56,8 @@ module LegacyFacter
56
56
  facts = []
57
57
  entries.each do |file|
58
58
  basename = File.basename(file)
59
+ next if file_blocked?(basename)
60
+
59
61
  if facts.find { |f| f.name == basename } && cm.group_cached?(basename)
60
62
  Facter.log_exception(Exception.new("Caching is enabled for group \"#{basename}\" while "\
61
63
  'there are at least two external facts files with the same filename'))
@@ -107,6 +109,14 @@ module LegacyFacter
107
109
  def should_parse?(file)
108
110
  File.basename(file) !~ /^\./
109
111
  end
112
+
113
+ def file_blocked?(file)
114
+ if Facter::Options[:blocked_facts].include? file
115
+ Facter.debug("External fact file #{file} blocked.")
116
+ return true
117
+ end
118
+ false
119
+ end
110
120
  end
111
121
  end
112
122
  end
@@ -14,10 +14,27 @@ module Facter
14
14
  end
15
15
 
16
16
  def read_augeas_version(fact_name)
17
- output = Facter::Core::Execution.execute('augparse --version 2>&1', logger: log)
18
- @fact_list[:augeas_version] = Regexp.last_match(1) if output =~ /^augparse (\d+\.\d+\.\d+)/
17
+ @fact_list[:augeas_version] = read_augeas_from_cli
18
+ @fact_list[:augeas_version] ||= read_augeas_from_gem
19
+
19
20
  @fact_list[fact_name]
20
21
  end
22
+
23
+ def read_augeas_from_cli
24
+ output = Facter::Core::Execution.execute('augparse --version 2>&1', logger: log)
25
+ Regexp.last_match(1) if output =~ /^augparse (\d+\.\d+\.\d+)/
26
+ end
27
+
28
+ def read_augeas_from_gem
29
+ require 'augeas'
30
+
31
+ if Gem.loaded_specs['augeas']
32
+ ::Augeas.create { |aug| aug.get('/augeas/version') }
33
+ else
34
+ # it is used for legacy augeas <= 0.5.0 (ruby-augeas gem)
35
+ ::Augeas.open { |aug| aug.get('/augeas/version') }
36
+ end
37
+ end
21
38
  end
22
39
  end
23
40
  end
@@ -85,7 +85,11 @@ module Facter
85
85
  return unless lease_file
86
86
 
87
87
  dhcp = Util::FileHelper.safe_read("/var/lib/NetworkManager/#{lease_file}", nil)
88
- dhcp ? dhcp.match(/SERVER_ADDRESS=(.*)/)[1] : nil
88
+
89
+ return unless dhcp
90
+
91
+ dhcp = dhcp.match(/SERVER_ADDRESS=(.*)/)
92
+ dhcp[1] if dhcp
89
93
  end
90
94
 
91
95
  def fill_ip_v4_info!(ip_tokens, network_info)
@@ -32,9 +32,10 @@ module Facter
32
32
  version_codename = output_strings[1].split(' ')
33
33
 
34
34
  @fact_list[:name] = name(output_strings[0])
35
- @fact_list[:version] = version_codename[0].strip
36
- codename = version_codename[1].strip
37
- @fact_list[:codename] = codename.gsub(/[()]/, '')
35
+ @fact_list[:version] = version_codename[0]&.strip
36
+
37
+ codename = version_codename[1]&.strip
38
+ @fact_list[:codename] = codename ? codename.gsub(/[()]/, '') : nil
38
39
 
39
40
  @fact_list[:identifier] = identifier(@fact_list[:name])
40
41
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Facter
4
- VERSION = '4.0.31' unless defined?(VERSION)
4
+ VERSION = '4.0.32' unless defined?(VERSION)
5
5
  end
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.31
4
+ version: 4.0.32
5
5
  platform: ruby
6
6
  authors:
7
7
  - Puppet
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-29 00:00:00.000000000 Z
11
+ date: 2020-07-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler