dop_common 0.15.0 → 0.15.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 06db02a6e3c138e0cefb89889a14bc57af725157
4
- data.tar.gz: 19e104c7a7b4cece0fb0858bfb3399a5c83ef3db
3
+ metadata.gz: 07527d17d603f0e24a7ac08b22e97a4d6b8d68c7
4
+ data.tar.gz: e3db1d8a02b4a4b8c6ed3ca1f7a5d718d9a3ae3a
5
5
  SHA512:
6
- metadata.gz: 6f960ca073dda2ee7ddf9094ee54a4ea2c75baddc0570293943ec73116965dff1b24396df2a5d6b400d75d79d0ebb0b14b89bb564d0a347c63d92758b623d6af
7
- data.tar.gz: 64da82634072e695027fad76e8cda5ffe53bfb5afa613385e245eae337d86e79f93492acb49c358e13d7b91ff59983f865404483ad3cf5e2fe8e92ca6f4f4b24
6
+ metadata.gz: ec7e26b4587ededd9eb60174fb9e81d7e4c4f992a23a4cb0bf96230f6ed048b7008fe53dd73fc0b4cb8f783cdbb78e2eba4862bfab30a8645d94b2399694908d
7
+ data.tar.gz: a261d97e99b4a56976f1e12bb8eed7044e86798cd358f6fe2d271313eb17c4c5c0d801bc2dc715abf6f2905838350bba9292fc7d65863688b80a6b0d23e3c378
data/CHANGELOG.md CHANGED
@@ -1,7 +1,11 @@
1
1
  # Change Log
2
2
  All notable changes to dop_common will be documented in this file.
3
3
 
4
- ## [0.15.0]
4
+ ## [0.15.1]
5
+ ### Fixed
6
+ - Fix the default plan store path for the hiera plugin and add some more tests
7
+
8
+ ## [0.15.0] - 2017-05-26
5
9
  ### Added
6
10
  - Some small API addition to the log stuff to get the current log file
7
11
 
data/Gemfile CHANGED
@@ -8,4 +8,6 @@ if Gem::Version.new(RUBY_VERSION.dup) <= Gem::Version.new('1.9.3')
8
8
  gem 'json', '~> 1'
9
9
  end
10
10
 
11
+ gem 'hiera'
12
+
11
13
  gemspec
@@ -1,3 +1,3 @@
1
1
  module DopCommon
2
- VERSION = '0.15.0'
2
+ VERSION = '0.15.1'
3
3
  end
@@ -19,14 +19,17 @@ class Hiera
19
19
  if Config[:dop].kind_of?(Hash)
20
20
  @plan_store_dir ||= Config[:dop][:plan_store_dir]
21
21
  end
22
- @plan_store_dir ||= '/var/lib/dop/plans'
22
+ # this is the fixed default path since the puppet master runs with the
23
+ # puppet user but wants to read from the default dop cache and not from
24
+ # the user specific one.
25
+ @plan_store_dir ||= '/var/lib/dop/cache/'
23
26
 
24
27
  @plan_store = DopCommon::PlanStore.new(@plan_store_dir)
25
28
  @plan_cache = DopCommon::PlanCache.new(@plan_store)
26
29
  Hiera.debug('DOP Plan Cache Loaded')
27
30
  end
28
31
 
29
- def lookup(key, scope, order_override, resolution_type, context = nil)
32
+ def lookup(key, scope, order_override, resolution_type, context = {})
30
33
  node_name = scope['::clientcert']
31
34
  plan = @plan_cache.plan_by_node(node_name)
32
35
 
@@ -49,7 +52,11 @@ class Hiera
49
52
  Hiera.debug("Looking for data source #{source}")
50
53
  begin
51
54
  data = plan.configuration.lookup(source, key, scope)
52
- new_answer = Hiera::Backend.parse_answer(data, scope, extra_data, context)
55
+ if Hiera::Backend.method(:parse_answer).arity == -4
56
+ new_answer = Hiera::Backend.parse_answer(data, scope, extra_data, context)
57
+ else
58
+ new_answer = Hiera::Backend.parse_answer(data, scope, extra_data)
59
+ end
53
60
  found = true
54
61
 
55
62
  case resolution_type.is_a?(Hash) ? :hash : resolution_type
@@ -0,0 +1,6 @@
1
+ :backends:
2
+ - dop
3
+ :hierarchy:
4
+ - nodes/%{::clientcert}
5
+ - roles/%{::role}
6
+ - defaults
@@ -9,6 +9,11 @@ nodes:
9
9
  'linux01.example.com':
10
10
  infrastructure: 'test'
11
11
 
12
+ configuration:
13
+ nodes:
14
+ 'linux01.example.com':
15
+ somevar: 'someval'
16
+
12
17
  steps:
13
18
  - name: 'write hello world'
14
19
  nodes: 'all'
@@ -0,0 +1,45 @@
1
+ require 'spec_helper'
2
+ require 'hiera'
3
+ require 'hiera/backend/dop_backend'
4
+
5
+ describe Hiera::Backend::Dop_backend do
6
+
7
+ before :each do
8
+ @tmpdir = Dir.mktmpdir
9
+ @plan_store = DopCommon::PlanStore.new(@tmpdir)
10
+ @plan_cache = DopCommon::PlanCache.new(@plan_store)
11
+ @plan_store.add(plan)
12
+ config = YAML.load_file(hiera_conf)
13
+ config.merge!({:dop => {:plan_store_dir => @tmpdir}})
14
+ @hiera = Hiera.new(:config => config)
15
+ end
16
+
17
+ after :each do
18
+ FileUtils.remove_entry_secure(@tmpdir)
19
+ end
20
+
21
+ let(:hiera_conf) { 'spec/fixtures/hiera/hiera.yaml' }
22
+ let(:plan) { 'spec/fixtures/simple_plan.yaml' }
23
+ let(:plan_name) { 'simple_plan' }
24
+ let(:plan_dir) { File.join(@tmpdir, plan_name) }
25
+ let(:versions_dir) { File.join(plan_dir, 'versions') }
26
+ let(:node_name) { 'linux01.example.com' }
27
+ let(:var) { 'somevar' }
28
+ let(:scope) { {'::clientcert' => node_name} }
29
+
30
+ describe '#lookup' do
31
+ subject { @hiera.lookup(var, nil, scope) }
32
+
33
+ context 'There is a plan in the store with the data' do
34
+ it { is_expected.to eq('someval') }
35
+ end
36
+
37
+ #context 'val is not set in the plan' do
38
+ # let(:var) { 'someothervar' }
39
+ # it { is_expected.to be(nil) }
40
+ #end
41
+
42
+ end
43
+
44
+ end
45
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dop_common
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.0
4
+ version: 0.15.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andreas Zuber
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-05-24 00:00:00.000000000 Z
12
+ date: 2017-06-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: hashdiff
@@ -278,6 +278,7 @@ files:
278
278
  - spec/example_plans_spec.rb
279
279
  - spec/fixtures/example_ssh_key
280
280
  - spec/fixtures/example_ssh_key.pub
281
+ - spec/fixtures/hiera/hiera.yaml
281
282
  - spec/fixtures/incl/root_part.yaml
282
283
  - spec/fixtures/incl/some_list.yaml
283
284
  - spec/fixtures/other_plan_same_nodes.yaml
@@ -286,6 +287,7 @@ files:
286
287
  - spec/fixtures/simple_plan.yaml
287
288
  - spec/fixtures/simple_plan_invalid.yaml
288
289
  - spec/fixtures/simple_plan_modified.yaml
290
+ - spec/hiera/backend/dop_backend_spec.rb
289
291
  - spec/spec_helper.rb
290
292
  homepage: ''
291
293
  licenses:
@@ -342,6 +344,7 @@ test_files:
342
344
  - spec/example_plans_spec.rb
343
345
  - spec/fixtures/example_ssh_key
344
346
  - spec/fixtures/example_ssh_key.pub
347
+ - spec/fixtures/hiera/hiera.yaml
345
348
  - spec/fixtures/incl/root_part.yaml
346
349
  - spec/fixtures/incl/some_list.yaml
347
350
  - spec/fixtures/other_plan_same_nodes.yaml
@@ -350,4 +353,5 @@ test_files:
350
353
  - spec/fixtures/simple_plan.yaml
351
354
  - spec/fixtures/simple_plan_invalid.yaml
352
355
  - spec/fixtures/simple_plan_modified.yaml
356
+ - spec/hiera/backend/dop_backend_spec.rb
353
357
  - spec/spec_helper.rb