dop_common 0.13.0

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.
Files changed (92) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +23 -0
  3. data/.rspec +2 -0
  4. data/.ruby-version +1 -0
  5. data/CHANGELOG.md +176 -0
  6. data/Gemfile +11 -0
  7. data/LICENSE.txt +177 -0
  8. data/README.md +48 -0
  9. data/Rakefile +49 -0
  10. data/Vagrantfile +25 -0
  11. data/bin/dop-puppet-autosign +56 -0
  12. data/doc/examples/example_deploment_plan_v0.0.1.yaml +302 -0
  13. data/doc/plan_format_v0.0.1.md +919 -0
  14. data/doc/plan_format_v0.0.2_snippets.md +56 -0
  15. data/dop_common.gemspec +44 -0
  16. data/lib/dop_common/affinity_group.rb +57 -0
  17. data/lib/dop_common/cli/global_options.rb +37 -0
  18. data/lib/dop_common/cli/log.rb +51 -0
  19. data/lib/dop_common/cli/node_selection.rb +62 -0
  20. data/lib/dop_common/command.rb +125 -0
  21. data/lib/dop_common/config/helper.rb +39 -0
  22. data/lib/dop_common/config.rb +66 -0
  23. data/lib/dop_common/configuration.rb +37 -0
  24. data/lib/dop_common/credential.rb +152 -0
  25. data/lib/dop_common/data_disk.rb +62 -0
  26. data/lib/dop_common/dns.rb +55 -0
  27. data/lib/dop_common/hash_parser.rb +241 -0
  28. data/lib/dop_common/hooks.rb +81 -0
  29. data/lib/dop_common/infrastructure.rb +160 -0
  30. data/lib/dop_common/infrastructure_properties.rb +185 -0
  31. data/lib/dop_common/interface.rb +113 -0
  32. data/lib/dop_common/log.rb +78 -0
  33. data/lib/dop_common/network.rb +85 -0
  34. data/lib/dop_common/node/config.rb +159 -0
  35. data/lib/dop_common/node.rb +442 -0
  36. data/lib/dop_common/node_filter.rb +74 -0
  37. data/lib/dop_common/plan.rb +188 -0
  38. data/lib/dop_common/plan_cache.rb +83 -0
  39. data/lib/dop_common/plan_store.rb +263 -0
  40. data/lib/dop_common/pre_processor.rb +73 -0
  41. data/lib/dop_common/run_options.rb +56 -0
  42. data/lib/dop_common/signal_handler.rb +58 -0
  43. data/lib/dop_common/state_store.rb +95 -0
  44. data/lib/dop_common/step.rb +200 -0
  45. data/lib/dop_common/step_set.rb +41 -0
  46. data/lib/dop_common/thread_context_logger.rb +77 -0
  47. data/lib/dop_common/utils.rb +106 -0
  48. data/lib/dop_common/validator.rb +53 -0
  49. data/lib/dop_common/version.rb +3 -0
  50. data/lib/dop_common.rb +32 -0
  51. data/lib/hiera/backend/dop_backend.rb +94 -0
  52. data/lib/hiera/dop_logger.rb +20 -0
  53. data/spec/data/fake_hook_file_invalid +1 -0
  54. data/spec/data/fake_hook_file_valid +5 -0
  55. data/spec/data/fake_keyfile +1 -0
  56. data/spec/dop-puppet-autosign_spec_disable.rb +33 -0
  57. data/spec/dop_common/affinity_group_spec.rb +41 -0
  58. data/spec/dop_common/command_spec.rb +83 -0
  59. data/spec/dop_common/credential_spec.rb +73 -0
  60. data/spec/dop_common/data_disk_spec.rb +165 -0
  61. data/spec/dop_common/dns_spec.rb +33 -0
  62. data/spec/dop_common/hash_parser_spec.rb +181 -0
  63. data/spec/dop_common/hooks_spec.rb +33 -0
  64. data/spec/dop_common/infrastructure_properties_spec.rb +224 -0
  65. data/spec/dop_common/infrastructure_spec.rb +77 -0
  66. data/spec/dop_common/interface_spec.rb +192 -0
  67. data/spec/dop_common/network_spec.rb +92 -0
  68. data/spec/dop_common/node_filter_spec.rb +70 -0
  69. data/spec/dop_common/node_spec.rb +623 -0
  70. data/spec/dop_common/plan_cache_spec.rb +46 -0
  71. data/spec/dop_common/plan_spec.rb +136 -0
  72. data/spec/dop_common/plan_store_spec.rb +194 -0
  73. data/spec/dop_common/pre_processor_spec.rb +27 -0
  74. data/spec/dop_common/run_options_spec.rb +65 -0
  75. data/spec/dop_common/signal_handler_spec.rb +31 -0
  76. data/spec/dop_common/step_set_spec.rb +21 -0
  77. data/spec/dop_common/step_spec.rb +175 -0
  78. data/spec/dop_common/utils_spec.rb +27 -0
  79. data/spec/dop_common/validator_spec.rb +47 -0
  80. data/spec/example_plans_spec.rb +16 -0
  81. data/spec/fixtures/example_ssh_key +27 -0
  82. data/spec/fixtures/example_ssh_key.pub +1 -0
  83. data/spec/fixtures/incl/root_part.yaml +1 -0
  84. data/spec/fixtures/incl/some_list.yaml +2 -0
  85. data/spec/fixtures/other_plan_same_nodes.yaml +19 -0
  86. data/spec/fixtures/simple_include.yaml +6 -0
  87. data/spec/fixtures/simple_include_with_errors.yaml +4 -0
  88. data/spec/fixtures/simple_plan.yaml +19 -0
  89. data/spec/fixtures/simple_plan_invalid.yaml +18 -0
  90. data/spec/fixtures/simple_plan_modified.yaml +21 -0
  91. data/spec/spec_helper.rb +106 -0
  92. metadata +381 -0
@@ -0,0 +1,47 @@
1
+ require 'spec_helper'
2
+
3
+
4
+
5
+ describe DopCommon::Validator do
6
+
7
+ describe 'valid?' do
8
+ it 'should be valid if the validation returns true' do
9
+ class ValidatorTestKlass
10
+ include DopCommon::Validator
11
+ def validate; true; end
12
+ end
13
+ expect(ValidatorTestKlass.new.valid?).to be true
14
+ end
15
+ it 'should not be valid if the validation returns false' do
16
+ class ValidatorTestKlass
17
+ include DopCommon::Validator
18
+ def validate; set_not_valid; end
19
+ end
20
+ expect(ValidatorTestKlass.new.valid?).to be false
21
+ end
22
+ end
23
+
24
+ describe '#log_validation_method' do
25
+ it 'should be valid if the validation methods return true' do
26
+ class ValidatorTestKlass
27
+ include DopCommon::Validator
28
+ def validate; log_validation_method('test_valid?') ; end
29
+ def test_valid?; true; end
30
+ end
31
+ expect(ValidatorTestKlass.new.valid?).to be true
32
+ end
33
+ it 'should be valid if a validation method raises an error' do
34
+ class ValidatorTestKlass
35
+ include DopCommon::Validator
36
+ def validate; log_validation_method('test_valid?') ; end
37
+ def test_valid?; raise DopCommon::PlanParsingError, 'error!'; end
38
+ end
39
+ expect(ValidatorTestKlass.new.valid?).to be false
40
+ end
41
+ end
42
+
43
+ describe '#try_validate_obj' do
44
+ pending
45
+ end
46
+
47
+ end
@@ -0,0 +1,16 @@
1
+ require 'spec_helper'
2
+ require 'yaml'
3
+
4
+ describe 'Check if all the example plans are valid' do
5
+
6
+ Dir['doc/examples/*.yaml'].each do |plan_file|
7
+ describe plan_file do
8
+ it 'will confirm the plan as valid' do
9
+ hash = YAML.load_file(plan_file)
10
+ plan = DopCommon::Plan.new(hash)
11
+ expect(plan.valid?).to be true
12
+ end
13
+ end
14
+ end
15
+
16
+ end
@@ -0,0 +1,27 @@
1
+ -----BEGIN RSA PRIVATE KEY-----
2
+ MIIEowIBAAKCAQEAtkX7YlkmLYMFA2xtp3Hg0OnMlQz8NQiyfz56b6VELcL2OIpa
3
+ Bpfp58srp+Z7At3kYOxZln3yaTYv3bOdJtNsJPfjLJhjKPD0b/LfXusTRbp/+rRT
4
+ Z+pkGyQBkByOVba/F+ACSuqMxnF8X81GMnSWWpv/mWe2XOqzRbrOBt2mUiXLYKYh
5
+ 6+85TzLID7BJQFl4xJjMP4OQ3aEojcfrbQjx2zj0/qJFtAiolAZJXKFf2ka1AQ50
6
+ A7go3FwY3Vt7YWQpQpOh2xdlXkTsysNqosdHJnKFOTBMFNbS6yXULK+Z1X+zRg0N
7
+ dK+ElxUJ/N5YOyF0zpcljwTy3AkwZgZjcvKSAwIDAQABAoIBAHU03wdIyDHv1CN1
8
+ b7WClsv/61vU88CujQkhhd2Q6hx7B5Un8efXe8Nfc/0NSgB36skgciNBbcWV4IWx
9
+ X9Z9kUbcV6pveyPyfVwXUudYRhZKbM0rc46YvDJvnsmqcyRO1OZnV1IRLODWTOHV
10
+ v9PmAGDXey6L8EojaY/nJWBo2vBq4XpHUgCAfSn5aM4B2/pqwbNhxxJuFBDd0XBM
11
+ hm02XWpU8OlPuQbM2qEXkxWufZtCi3cMANG7bJRpl51gQNv4s4GgcC4Uphu5gFPg
12
+ SW9Pf6OK85C+PNVTIRHuianH8anGdMB1uYAIDDLzGltbsZm8M+Cc8v/Q8MJF8LaK
13
+ OpUNE4ECgYEA8uBt41Ivle/R04+Qmo7FDzxrZ5E6QdHajv+4yRNqY6cVUT9F4uAn
14
+ mssMLXLcYjbIoboNSxqrj5uHnV7LulYgNMYU2FwSQkFsh1eUCMTpnixBoU+rSOEU
15
+ rAxkbcUUx+BC7Ajmgj9toUIMSjwhwVBC6YttlXG7gRNFZLQ8TMCkGyECgYEAwB9D
16
+ PO/r2hQY+jCgTuTbnoCivdgPqCf2jTj6IrdVw73pR00apMJfX+c3MfTpvz2nwWew
17
+ jKJczp1JMHplJQtaaQiUA2Wlp2SgVrE0O+0xVuCjH9W6ukKFKNHa7al7L72qU4Kh
18
+ TTLwiMO1EXRtDcETmk99LW6tFAUbTUPRyNj3zKMCgYADiCHw8UwB2Sfq9KZ8qODS
19
+ tOU271SyilOsSqmsOt0ML+zObqYcg3fv903pB0ePIg7O0z7IPc4K248gSbWasw/q
20
+ 1IqPDt+xGPR0D2D2s65V/3zA1MC/4Y4EZnW7ZudDdM5kUkjP0g5NDwHQvokbH4ip
21
+ jr58MtgwK1CSA1DxKMf6IQKBgBngXBMKEY8248JW6FCX/IiVtNWzEzDH6SpOQUqJ
22
+ vPB3VMM4vFzynRvyrXl6Dj2m1UB0cdAPUka14pS394WMyOmasSzf9Pbd08a5aVqk
23
+ 8N9NtErmY5cQvJSp5z3ZdPESL629y3H1aXZSPcITF1kh5z0Cdc63uHIY2fuHJetS
24
+ ZdXXAoGBAMxgVAxX74cNWGVw/H2nSOr3n/QQTHeBgRz7MJwcCF+l4b77GD8O2pVr
25
+ jWJzvUH/fOxX7ZlAdpG3FJ+g9+ZfcsyUBduJcCwl9LY8CekDdFChEMp9wIdLMzRx
26
+ SrangQ4kzogl7mpfVTbBWtq31Ed28/eHcWw9H6izSu+tqLr4wE3t
27
+ -----END RSA PRIVATE KEY-----
@@ -0,0 +1 @@
1
+ ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC2RftiWSYtgwUDbG2nceDQ6cyVDPw1CLJ/PnpvpUQtwvY4iloGl+nnyyun5nsC3eRg7FmWffJpNi/ds50m02wk9+MsmGMo8PRv8t9e6xNFun/6tFNn6mQbJAGQHI5Vtr8X4AJK6ozGcXxfzUYydJZam/+ZZ7Zc6rNFus4G3aZSJctgpiHr7zlPMsgPsElAWXjEmMw/g5DdoSiNx+ttCPHbOPT+okW0CKiUBklcoV/aRrUBDnQDuCjcXBjdW3thZClCk6HbF2VeROzKw2qix0cmcoU5MEwU1tLrJdQsr5nVf7NGDQ10r4SXFQn83lg7IXTOlyWPBPLcCTBmBmNy8pID azuber@mystra
@@ -0,0 +1 @@
1
+ some_root_key: 'some_value'
@@ -0,0 +1,2 @@
1
+ - 'an_item'
2
+ - 'another_item'
@@ -0,0 +1,19 @@
1
+ name: "other_plan"
2
+ max_in_flight: 1
3
+
4
+ infrastructures:
5
+ 'test':
6
+ type: 'baremetal'
7
+
8
+ nodes:
9
+ 'linux01.example.com':
10
+ infrastructure: 'test'
11
+
12
+ steps:
13
+ - name: 'write hello world'
14
+ nodes: 'all'
15
+ command:
16
+ plugin: 'custom'
17
+ exec: 'echo'
18
+ arguments: '"hello world"'
19
+
@@ -0,0 +1,6 @@
1
+ name: 'simple_include_test'
2
+
3
+ include: 'incl/root_part.yaml'
4
+
5
+ some_key:
6
+ include: 'incl/some_list.yaml'
@@ -0,0 +1,4 @@
1
+ name: 'simple_include_test'
2
+
3
+ include: 'incl/non_existing.yaml'
4
+
@@ -0,0 +1,19 @@
1
+ name: "simple_plan"
2
+ max_in_flight: 1
3
+
4
+ infrastructures:
5
+ 'test':
6
+ type: 'baremetal'
7
+
8
+ nodes:
9
+ 'linux01.example.com':
10
+ infrastructure: 'test'
11
+
12
+ steps:
13
+ - name: 'write hello world'
14
+ nodes: 'all'
15
+ command:
16
+ plugin: 'custom'
17
+ exec: 'echo'
18
+ arguments: '"hello world"'
19
+
@@ -0,0 +1,18 @@
1
+ name: "simple_plan"
2
+ max_in_flight: 1
3
+
4
+ infrastructures:
5
+ 'test':
6
+ type: 'baremetal'
7
+
8
+ nodes:
9
+ 'linux01.example.com': {}
10
+
11
+ steps:
12
+ - name: 'write hello world'
13
+ nodes: 'all'
14
+ command:
15
+ plugin: 'custom'
16
+ exec: 'echo'
17
+ arguments: '"hello world"'
18
+
@@ -0,0 +1,21 @@
1
+ name: "simple_plan"
2
+ max_in_flight: 1
3
+
4
+ infrastructures:
5
+ 'test':
6
+ type: 'baremetal'
7
+
8
+ nodes:
9
+ 'linux01.example.com':
10
+ infrastructure: 'test'
11
+ 'linux02.example.com':
12
+ infrastructure: 'test'
13
+
14
+ steps:
15
+ - name: 'write hello world'
16
+ nodes: 'all'
17
+ command:
18
+ plugin: 'custom'
19
+ exec: 'echo'
20
+ arguments: '"hello world"'
21
+
@@ -0,0 +1,106 @@
1
+ require 'simplecov'
2
+ SimpleCov.start do
3
+ add_filter '/spec/'
4
+ add_filter '/.bundle/'
5
+ add_filter '/vendor/'
6
+ end
7
+
8
+ require 'rspec/collection_matchers'
9
+ require 'dop_common'
10
+ #require 'rspec_command'
11
+
12
+ # This file was generated by the `rspec --init` command. Conventionally, all
13
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
14
+ # The generated `.rspec` file contains `--require spec_helper` which will cause this
15
+ # file to always be loaded, without a need to explicitly require it in any files.
16
+ #
17
+ # Given that it is always loaded, you are encouraged to keep this file as
18
+ # light-weight as possible. Requiring heavyweight dependencies from this file
19
+ # will add to the boot time of your test suite on EVERY test run, even for an
20
+ # individual file that may not need all of that loaded. Instead, consider making
21
+ # a separate helper file that requires the additional dependencies and performs
22
+ # the additional setup, and require it from the spec files that actually need it.
23
+ #
24
+ # The `.rspec` file also contains a few flags that are not defaults but that
25
+ # users commonly want.
26
+ #
27
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
28
+ RSpec.configure do |config|
29
+ #config.include RSpecCommand
30
+ # rspec-expectations config goes here. You can use an alternate
31
+ # assertion/expectation library such as wrong or the stdlib/minitest
32
+ # assertions if you prefer.
33
+ config.expect_with :rspec do |expectations|
34
+ # This option will default to `true` in RSpec 4. It makes the `description`
35
+ # and `failure_message` of custom matchers include text for helper methods
36
+ # defined using `chain`, e.g.:
37
+ # be_bigger_than(2).and_smaller_than(4).description
38
+ # # => "be bigger than 2 and smaller than 4"
39
+ # ...rather than:
40
+ # # => "be bigger than 2"
41
+ expectations.include_chain_clauses_in_custom_matcher_descriptions = true
42
+ end
43
+
44
+ # rspec-mocks config goes here. You can use an alternate test double
45
+ # library (such as bogus or mocha) by changing the `mock_with` option here.
46
+ config.mock_with :rspec do |mocks|
47
+ # Prevents you from mocking or stubbing a method that does not exist on
48
+ # a real object. This is generally recommended, and will default to
49
+ # `true` in RSpec 4.
50
+ mocks.verify_partial_doubles = true
51
+ end
52
+
53
+ config.before :all do
54
+ DopCommon.reset_logger
55
+ DopCommon.log.level = ::Logger::FATAL
56
+ end
57
+
58
+ # The settings below are suggested to provide a good initial experience
59
+ # with RSpec, but feel free to customize to your heart's content.
60
+ =begin
61
+ # These two settings work together to allow you to limit a spec run
62
+ # to individual examples or groups you care about by tagging them with
63
+ # `:focus` metadata. When nothing is tagged with `:focus`, all examples
64
+ # get run.
65
+ config.filter_run :focus
66
+ config.run_all_when_everything_filtered = true
67
+
68
+ # Limits the available syntax to the non-monkey patched syntax that is recommended.
69
+ # For more details, see:
70
+ # - http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax
71
+ # - http://teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
72
+ # - http://myronmars.to/n/dev-blog/2014/05/notable-changes-in-rspec-3#new__config_option_to_disable_rspeccore_monkey_patching
73
+ config.disable_monkey_patching!
74
+
75
+ # This setting enables warnings. It's recommended, but in some cases may
76
+ # be too noisy due to issues in dependencies.
77
+ config.warnings = true
78
+
79
+ # Many RSpec users commonly either run the entire suite or an individual
80
+ # file, and it's useful to allow more verbose output when running an
81
+ # individual spec file.
82
+ if config.files_to_run.one?
83
+ # Use the documentation formatter for detailed output,
84
+ # unless a formatter has already been configured
85
+ # (e.g. via a command-line flag).
86
+ config.default_formatter = 'doc'
87
+ end
88
+
89
+ # Print the 10 slowest examples and example groups at the
90
+ # end of the spec run, to help surface which specs are running
91
+ # particularly slow.
92
+ config.profile_examples = 10
93
+
94
+ # Run specs in random order to surface order dependencies. If you find an
95
+ # order dependency and want to debug it, you can fix the order by providing
96
+ # the seed, which is printed after each run.
97
+ # --seed 1234
98
+ config.order = :random
99
+
100
+ # Seed global randomization in this process using the `--seed` CLI option.
101
+ # Setting this allows you to use `--seed` to deterministically reproduce
102
+ # test failures related to randomization by passing the same `--seed` value
103
+ # as the one that triggered the failure.
104
+ Kernel.srand config.seed
105
+ =end
106
+ end
metadata ADDED
@@ -0,0 +1,381 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dop_common
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.13.0
5
+ platform: ruby
6
+ authors:
7
+ - Andreas Zuber
8
+ - Pavol Dilung
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2017-03-28 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: hashdiff
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '0.3'
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 0.3.1
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ requirements:
28
+ - - "~>"
29
+ - !ruby/object:Gem::Version
30
+ version: '0.3'
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 0.3.1
34
+ - !ruby/object:Gem::Dependency
35
+ name: lockfile
36
+ requirement: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2'
41
+ type: :runtime
42
+ prerelease: false
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '2'
48
+ - !ruby/object:Gem::Dependency
49
+ name: rb-inotify
50
+ requirement: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.9'
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0.9'
62
+ - !ruby/object:Gem::Dependency
63
+ name: hiera
64
+ requirement: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3'
69
+ type: :runtime
70
+ prerelease: false
71
+ version_requirements: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '3'
76
+ - !ruby/object:Gem::Dependency
77
+ name: bundler
78
+ requirement: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ type: :development
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ - !ruby/object:Gem::Dependency
91
+ name: rake
92
+ requirement: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ type: :development
98
+ prerelease: false
99
+ version_requirements: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ - !ruby/object:Gem::Dependency
105
+ name: rspec
106
+ requirement: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ type: :development
112
+ prerelease: false
113
+ version_requirements: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ - !ruby/object:Gem::Dependency
119
+ name: rspec-legacy_formatters
120
+ requirement: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ type: :development
126
+ prerelease: false
127
+ version_requirements: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ - !ruby/object:Gem::Dependency
133
+ name: rspec-mocks
134
+ requirement: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ type: :development
140
+ prerelease: false
141
+ version_requirements: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ - !ruby/object:Gem::Dependency
147
+ name: rspec-collection_matchers
148
+ requirement: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ type: :development
154
+ prerelease: false
155
+ version_requirements: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ - !ruby/object:Gem::Dependency
161
+ name: simplecov
162
+ requirement: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ type: :development
168
+ prerelease: false
169
+ version_requirements: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ - !ruby/object:Gem::Dependency
175
+ name: pry
176
+ requirement: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ type: :development
182
+ prerelease: false
183
+ version_requirements: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ - !ruby/object:Gem::Dependency
189
+ name: pry-doc
190
+ requirement: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ type: :development
196
+ prerelease: false
197
+ version_requirements: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ - !ruby/object:Gem::Dependency
203
+ name: pry-byebug
204
+ requirement: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ type: :development
210
+ prerelease: false
211
+ version_requirements: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ description: |2
217
+ This gem is part of the Deployment and Orchestration for Puppet
218
+ or DOP for short. dop_common is a library for the parsing and
219
+ validation of DOP plan files.
220
+ email:
221
+ - zuber@puzzle.ch
222
+ - pavol.dilung@swisscom.com
223
+ executables:
224
+ - dop-puppet-autosign
225
+ extensions: []
226
+ extra_rdoc_files: []
227
+ files:
228
+ - ".gitignore"
229
+ - ".rspec"
230
+ - ".ruby-version"
231
+ - CHANGELOG.md
232
+ - Gemfile
233
+ - LICENSE.txt
234
+ - README.md
235
+ - Rakefile
236
+ - Vagrantfile
237
+ - bin/dop-puppet-autosign
238
+ - doc/examples/example_deploment_plan_v0.0.1.yaml
239
+ - doc/plan_format_v0.0.1.md
240
+ - doc/plan_format_v0.0.2_snippets.md
241
+ - dop_common.gemspec
242
+ - lib/dop_common.rb
243
+ - lib/dop_common/affinity_group.rb
244
+ - lib/dop_common/cli/global_options.rb
245
+ - lib/dop_common/cli/log.rb
246
+ - lib/dop_common/cli/node_selection.rb
247
+ - lib/dop_common/command.rb
248
+ - lib/dop_common/config.rb
249
+ - lib/dop_common/config/helper.rb
250
+ - lib/dop_common/configuration.rb
251
+ - lib/dop_common/credential.rb
252
+ - lib/dop_common/data_disk.rb
253
+ - lib/dop_common/dns.rb
254
+ - lib/dop_common/hash_parser.rb
255
+ - lib/dop_common/hooks.rb
256
+ - lib/dop_common/infrastructure.rb
257
+ - lib/dop_common/infrastructure_properties.rb
258
+ - lib/dop_common/interface.rb
259
+ - lib/dop_common/log.rb
260
+ - lib/dop_common/network.rb
261
+ - lib/dop_common/node.rb
262
+ - lib/dop_common/node/config.rb
263
+ - lib/dop_common/node_filter.rb
264
+ - lib/dop_common/plan.rb
265
+ - lib/dop_common/plan_cache.rb
266
+ - lib/dop_common/plan_store.rb
267
+ - lib/dop_common/pre_processor.rb
268
+ - lib/dop_common/run_options.rb
269
+ - lib/dop_common/signal_handler.rb
270
+ - lib/dop_common/state_store.rb
271
+ - lib/dop_common/step.rb
272
+ - lib/dop_common/step_set.rb
273
+ - lib/dop_common/thread_context_logger.rb
274
+ - lib/dop_common/utils.rb
275
+ - lib/dop_common/validator.rb
276
+ - lib/dop_common/version.rb
277
+ - lib/hiera/backend/dop_backend.rb
278
+ - lib/hiera/dop_logger.rb
279
+ - spec/data/fake_hook_file_invalid
280
+ - spec/data/fake_hook_file_valid
281
+ - spec/data/fake_keyfile
282
+ - spec/dop-puppet-autosign_spec_disable.rb
283
+ - spec/dop_common/affinity_group_spec.rb
284
+ - spec/dop_common/command_spec.rb
285
+ - spec/dop_common/credential_spec.rb
286
+ - spec/dop_common/data_disk_spec.rb
287
+ - spec/dop_common/dns_spec.rb
288
+ - spec/dop_common/hash_parser_spec.rb
289
+ - spec/dop_common/hooks_spec.rb
290
+ - spec/dop_common/infrastructure_properties_spec.rb
291
+ - spec/dop_common/infrastructure_spec.rb
292
+ - spec/dop_common/interface_spec.rb
293
+ - spec/dop_common/network_spec.rb
294
+ - spec/dop_common/node_filter_spec.rb
295
+ - spec/dop_common/node_spec.rb
296
+ - spec/dop_common/plan_cache_spec.rb
297
+ - spec/dop_common/plan_spec.rb
298
+ - spec/dop_common/plan_store_spec.rb
299
+ - spec/dop_common/pre_processor_spec.rb
300
+ - spec/dop_common/run_options_spec.rb
301
+ - spec/dop_common/signal_handler_spec.rb
302
+ - spec/dop_common/step_set_spec.rb
303
+ - spec/dop_common/step_spec.rb
304
+ - spec/dop_common/utils_spec.rb
305
+ - spec/dop_common/validator_spec.rb
306
+ - spec/example_plans_spec.rb
307
+ - spec/fixtures/example_ssh_key
308
+ - spec/fixtures/example_ssh_key.pub
309
+ - spec/fixtures/incl/root_part.yaml
310
+ - spec/fixtures/incl/some_list.yaml
311
+ - spec/fixtures/other_plan_same_nodes.yaml
312
+ - spec/fixtures/simple_include.yaml
313
+ - spec/fixtures/simple_include_with_errors.yaml
314
+ - spec/fixtures/simple_plan.yaml
315
+ - spec/fixtures/simple_plan_invalid.yaml
316
+ - spec/fixtures/simple_plan_modified.yaml
317
+ - spec/spec_helper.rb
318
+ homepage: ''
319
+ licenses:
320
+ - Apache-2.0
321
+ metadata: {}
322
+ post_install_message:
323
+ rdoc_options: []
324
+ require_paths:
325
+ - lib
326
+ required_ruby_version: !ruby/object:Gem::Requirement
327
+ requirements:
328
+ - - ">="
329
+ - !ruby/object:Gem::Version
330
+ version: 1.8.7
331
+ required_rubygems_version: !ruby/object:Gem::Requirement
332
+ requirements:
333
+ - - ">="
334
+ - !ruby/object:Gem::Version
335
+ version: '0'
336
+ requirements: []
337
+ rubyforge_project:
338
+ rubygems_version: 2.6.10
339
+ signing_key:
340
+ specification_version: 4
341
+ summary: DOP plan file parser and validation library
342
+ test_files:
343
+ - spec/data/fake_hook_file_invalid
344
+ - spec/data/fake_hook_file_valid
345
+ - spec/data/fake_keyfile
346
+ - spec/dop-puppet-autosign_spec_disable.rb
347
+ - spec/dop_common/affinity_group_spec.rb
348
+ - spec/dop_common/command_spec.rb
349
+ - spec/dop_common/credential_spec.rb
350
+ - spec/dop_common/data_disk_spec.rb
351
+ - spec/dop_common/dns_spec.rb
352
+ - spec/dop_common/hash_parser_spec.rb
353
+ - spec/dop_common/hooks_spec.rb
354
+ - spec/dop_common/infrastructure_properties_spec.rb
355
+ - spec/dop_common/infrastructure_spec.rb
356
+ - spec/dop_common/interface_spec.rb
357
+ - spec/dop_common/network_spec.rb
358
+ - spec/dop_common/node_filter_spec.rb
359
+ - spec/dop_common/node_spec.rb
360
+ - spec/dop_common/plan_cache_spec.rb
361
+ - spec/dop_common/plan_spec.rb
362
+ - spec/dop_common/plan_store_spec.rb
363
+ - spec/dop_common/pre_processor_spec.rb
364
+ - spec/dop_common/run_options_spec.rb
365
+ - spec/dop_common/signal_handler_spec.rb
366
+ - spec/dop_common/step_set_spec.rb
367
+ - spec/dop_common/step_spec.rb
368
+ - spec/dop_common/utils_spec.rb
369
+ - spec/dop_common/validator_spec.rb
370
+ - spec/example_plans_spec.rb
371
+ - spec/fixtures/example_ssh_key
372
+ - spec/fixtures/example_ssh_key.pub
373
+ - spec/fixtures/incl/root_part.yaml
374
+ - spec/fixtures/incl/some_list.yaml
375
+ - spec/fixtures/other_plan_same_nodes.yaml
376
+ - spec/fixtures/simple_include.yaml
377
+ - spec/fixtures/simple_include_with_errors.yaml
378
+ - spec/fixtures/simple_plan.yaml
379
+ - spec/fixtures/simple_plan_invalid.yaml
380
+ - spec/fixtures/simple_plan_modified.yaml
381
+ - spec/spec_helper.rb