openfact 6.2.0 → 6.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/facter/resolvers/ec2.rb +23 -5
- data/lib/facter/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8ec1e87aeff5006c3da9300d30a0a0afeed9091c895d8062ce4afe1c52755303
|
|
4
|
+
data.tar.gz: 169e48d951c9cde33b143897b4553d78f1617a2102c5d8d562c22b9b788bb125
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 714c4becbbc91916e4158e510029509df78092d5ea1ac2dbff9bda114fb4be2cd4bb2c72bb37f8d402188412d176567bd8e502d608bc445df61f4141493e3f1d
|
|
7
|
+
data.tar.gz: 7a7bfc29a6a408334203f3c45fddf959e62208bea87f8a7c9e3c76ad08e41ad1ca8a0eec812336bbdffc8ba93e246a8ba03b7b9301252d779ede5691cf494d43
|
data/lib/facter/resolvers/ec2.rb
CHANGED
|
@@ -19,9 +19,7 @@ module Facter
|
|
|
19
19
|
|
|
20
20
|
def read_facts(fact_name)
|
|
21
21
|
if fact_name == :metadata
|
|
22
|
-
metadata =
|
|
23
|
-
query_for_metadata(EC2_METADATA_ROOT_URL, metadata)
|
|
24
|
-
@fact_list[:metadata] = metadata
|
|
22
|
+
@fact_list[:metadata] = read_metadata
|
|
25
23
|
else
|
|
26
24
|
@fact_list[:userdata] = get_data_from(EC2_USERDATA_ROOT_URL).strip.force_encoding('UTF-8')
|
|
27
25
|
end
|
|
@@ -29,9 +27,29 @@ module Facter
|
|
|
29
27
|
@fact_list[fact_name]
|
|
30
28
|
end
|
|
31
29
|
|
|
30
|
+
# A failed root listing means no EC2-compatible metadata service is
|
|
31
|
+
# available, so there is no metadata to report. Once the root listing
|
|
32
|
+
# succeeds, any failed child request rejects the whole result.
|
|
33
|
+
def read_metadata
|
|
34
|
+
root_listing = root_metadata_listing
|
|
35
|
+
return {} unless root_listing
|
|
36
|
+
|
|
37
|
+
add_metadata_entries(EC2_METADATA_ROOT_URL, root_listing, {})
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def root_metadata_listing
|
|
41
|
+
get_metadata_from(EC2_METADATA_ROOT_URL)
|
|
42
|
+
rescue StandardError => e
|
|
43
|
+
log.debug("EC2 metadata is not available: #{e.message}")
|
|
44
|
+
nil
|
|
45
|
+
end
|
|
46
|
+
|
|
32
47
|
def query_for_metadata(url, container)
|
|
33
|
-
|
|
34
|
-
|
|
48
|
+
add_metadata_entries(url, get_metadata_from(url), container)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def add_metadata_entries(url, listing, container)
|
|
52
|
+
listing.each_line do |line|
|
|
35
53
|
next if line.empty?
|
|
36
54
|
|
|
37
55
|
http_path_component = build_path_component(line)
|
data/lib/facter/version.rb
CHANGED