hiera_explain 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -2
- data/bin/hiera_explain +4 -0
- data/lib/hiera_explain/scope.rb +24 -2
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e67aa6217b53556efee930920050fbcf1a195e97
|
4
|
+
data.tar.gz: f12d603ac9217d24754bc5d0c1d04fc0d40f597f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6b7821c3f08d5bfdb88924eeaa2cd25b48b27498aec8d83c70feff9aaf782ef4874566648b96fcd37be11271f6a613a8a0f9edd455ecb21e1acaf6988a7d03a6
|
7
|
+
data.tar.gz: 71e6727925cfabc651e9c800050bb29d786ad666b15e48a34b490da13a998a8de9721ae950eb4a9f7a9e2bc2127a91c69887b385f09f3c72f7bf3e37d70e94ee
|
data/README.md
CHANGED
@@ -142,6 +142,7 @@ Usage : hiera_explain [--json PATH] [--yaml PATH] [--mcollective IDENTITY] [--pu
|
|
142
142
|
-v, --verbose Show verbose datasource details.
|
143
143
|
-j, --json PATH Load scope from a JSON file.
|
144
144
|
-y, --yaml PATH Load scope from a YAML file.
|
145
|
+
-C, --cached IDENTITY Use the Puppet Master's cached facts file for an identity.
|
145
146
|
-m, --mcollective IDENTITY Use MCollective to retrieve scope for an identity.
|
146
147
|
-p, --puppetdb IDENTITY Use PuppetDB to retrieve scope for an identity.
|
147
148
|
-i, --inventory IDENTITY Use Puppet's inventory service to retrieve scope (deprecated!)
|
@@ -273,8 +274,9 @@ marshal
|
|
273
274
|
## Disclaimer
|
274
275
|
|
275
276
|
This is early in development, although the script this is based on has been used
|
276
|
-
in the classroom for quite a while now. This currently only supports
|
277
|
-
|
277
|
+
in the classroom for quite a while now. This currently only supports version 1.x.
|
278
|
+
of the `hiera.yaml` config file. (It will work with current Hiera, but doesn't
|
279
|
+
understand the new data plugins.)
|
278
280
|
|
279
281
|
Contact
|
280
282
|
-------
|
data/bin/hiera_explain
CHANGED
@@ -48,6 +48,10 @@ optparse = OptionParser.new { |opts|
|
|
48
48
|
scope.load_scope(arg, :yaml)
|
49
49
|
end
|
50
50
|
|
51
|
+
opts.on("-C IDENTITY", "--cached IDENTITY", "Use the Puppet Master's cached facts file for an identity.") do |arg|
|
52
|
+
scope.load_scope(arg, :cached)
|
53
|
+
end
|
54
|
+
|
51
55
|
opts.on("-m IDENTITY", "--mcollective IDENTITY", "Use MCollective to retrieve scope for an identity.") do |arg|
|
52
56
|
scope.load_scope(arg, :mcollective)
|
53
57
|
end
|
data/lib/hiera_explain/scope.rb
CHANGED
@@ -73,8 +73,30 @@ class HieraExplain::Scope
|
|
73
73
|
Puppet::Node::Facts.indirection.terminus_class = :puppetdb
|
74
74
|
scope = YAML.load(Puppet::Node::Facts.indirection.find(source).to_yaml)
|
75
75
|
rescue Exception => e
|
76
|
-
|
77
|
-
|
76
|
+
STDERR.puts "PuppetDB fact lookup failed: #{e.class}: #{e}"
|
77
|
+
exit 1
|
78
|
+
end
|
79
|
+
|
80
|
+
when :cached
|
81
|
+
require 'puppet'
|
82
|
+
require 'yaml'
|
83
|
+
|
84
|
+
path = "#{Puppet.settings[:vardir]}/yaml/facts/#{source}.yaml"
|
85
|
+
unless File.exist? path
|
86
|
+
require 'hocon'
|
87
|
+
data = {}
|
88
|
+
# I hate hardcoding this path, but I don't know how to retreive it programatically.
|
89
|
+
Dir['/etc/puppetlabs/puppetserver/conf.d/*'].each do |conf|
|
90
|
+
data.merge! Hocon.load conf
|
91
|
+
end
|
92
|
+
path = "#{data['jruby-puppet']['master-var-dir']}/yaml/facts/#{source}.yaml"
|
93
|
+
end
|
94
|
+
|
95
|
+
begin
|
96
|
+
scope = YAML.load_file(path)
|
97
|
+
rescue Exception => e
|
98
|
+
STDERR.puts "No cached facts file for client #{source}"
|
99
|
+
exit 1
|
78
100
|
end
|
79
101
|
|
80
102
|
when :inventory_service
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hiera_explain
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Ford
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-05-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: puppet
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: hocon
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
55
69
|
description: |2
|
56
70
|
Hiera lookups have always been hard for people to understand. This tool will
|
57
71
|
display the entire lookup hierarchy, including filenames, exactly as Hiera will
|