onceover 3.15.0 β 3.17.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.rubocop.yml +72 -82
- data/.travis.yml +3 -8
- data/Gemfile +9 -2
- data/README.md +66 -3
- data/bin/onceover +3 -3
- data/factsets/Ubuntu-18.04-64.json +556 -0
- data/features/step_definitions/common.rb +12 -1
- data/features/windows.feature +30 -0
- data/features/{run.feature β zzz_run.feature} +5 -0
- data/lib/onceover/beaker.rb +6 -0
- data/lib/onceover/cli.rb +1 -1
- data/lib/onceover/cli/init.rb +1 -1
- data/lib/onceover/cli/run.rb +4 -3
- data/lib/onceover/cli/show.rb +3 -3
- data/lib/onceover/cli/update.rb +2 -2
- data/lib/onceover/controlrepo.rb +10 -6
- data/lib/onceover/deploy.rb +3 -1
- data/lib/onceover/group.rb +1 -1
- data/lib/onceover/logger.rb +2 -1
- data/lib/onceover/rake_tasks.rb +2 -1
- data/lib/onceover/rspec/formatters.rb +17 -5
- data/lib/onceover/runner.rb +17 -5
- data/lib/onceover/testconfig.rb +24 -14
- data/onceover.gemspec +13 -17
- data/spec/fixtures/controlrepos/caching/spec/r10k.yaml +3 -0
- data/spec/fixtures/controlrepos/windows/Gemfile +3 -0
- data/spec/fixtures/controlrepos/windows/Puppetfile +3 -0
- data/spec/fixtures/controlrepos/windows/environment.conf +1 -0
- data/spec/fixtures/controlrepos/windows/site-modules/role/manifests/acl.pp +12 -0
- data/spec/fixtures/controlrepos/windows/site-modules/role/manifests/groups.pp +8 -0
- data/spec/fixtures/controlrepos/windows/site-modules/role/manifests/users.pp +9 -0
- data/spec/fixtures/controlrepos/windows/site/role/manifests/groups.pp +8 -0
- data/spec/fixtures/controlrepos/windows/site/role/manifests/users.pp +9 -0
- data/spec/fixtures/controlrepos/windows/spec/onceover.yaml +24 -0
- data/templates/test_spec.rb.erb +60 -0
- metadata +81 -110
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e6886259693e386c10aaebdd590be798363b38e823e4d7eb266d4f32f303cf2a
|
4
|
+
data.tar.gz: afdcc34051329c3a584803af4164f42aef9d2ac22e37bf14a35546f5ed8f45e3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6f5b35dfa27bf5b8e6477ffcd3ea985935698d0562cc55ab679e80c501ce15ecb17deb47c81dc276e4bc8634662be7354b0578a122f3258f6f5cb8f00a43dcb5
|
7
|
+
data.tar.gz: 68c7771cfadc3ef7d9e43569e06e4ce40288a07db464eeaffc4c67b95558dab7b3c76f4e88dcb62ef82f02baf3e8ac13bc17cb988ead6164d96a05e43ef25ebd
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
AllCops:
|
2
2
|
Include:
|
3
|
-
-
|
4
|
-
-
|
3
|
+
- "lib/**/*.rb"
|
4
|
+
- "ext/**/*.rb"
|
5
5
|
Exclude:
|
6
|
-
-
|
7
|
-
-
|
8
|
-
-
|
9
|
-
-
|
10
|
-
-
|
11
|
-
-
|
12
|
-
|
13
|
-
|
6
|
+
- "**/*.erb"
|
7
|
+
- "acceptance/**/*"
|
8
|
+
- "autotest/**/*"
|
9
|
+
- "spec/**/*"
|
10
|
+
- "tasks/**/*"
|
11
|
+
- "vendor/**/*"
|
12
|
+
|
13
|
+
Layout/ConditionPosition:
|
14
14
|
Enabled: true
|
15
15
|
|
16
16
|
Lint/ElseLayout:
|
@@ -27,11 +27,7 @@ Lint/EnsureReturn:
|
|
27
27
|
Enabled: false
|
28
28
|
|
29
29
|
# MAYBE useful - errors when rescue {} happens.
|
30
|
-
Lint/
|
31
|
-
Enabled: false
|
32
|
-
|
33
|
-
# MAYBE useful - catches while 1
|
34
|
-
Lint/LiteralInCondition:
|
30
|
+
Lint/SuppressedException:
|
35
31
|
Enabled: false
|
36
32
|
|
37
33
|
Lint/ShadowingOuterLocalVariable:
|
@@ -41,7 +37,6 @@ Lint/ShadowingOuterLocalVariable:
|
|
41
37
|
Lint/LiteralInInterpolation:
|
42
38
|
Enabled: true
|
43
39
|
|
44
|
-
|
45
40
|
# DISABLED really useless. Detects return as last statement.
|
46
41
|
Style/RedundantReturn:
|
47
42
|
Enabled: false
|
@@ -97,15 +92,15 @@ Security/Eval:
|
|
97
92
|
Enabled: false
|
98
93
|
|
99
94
|
# DISABLED
|
100
|
-
|
95
|
+
Layout/BlockAlignment:
|
101
96
|
Enabled: false
|
102
97
|
|
103
98
|
# DISABLED
|
104
|
-
|
99
|
+
Layout/DefEndAlignment:
|
105
100
|
Enabled: false
|
106
101
|
|
107
102
|
# DISABLED
|
108
|
-
|
103
|
+
Layout/EndAlignment:
|
109
104
|
Enabled: false
|
110
105
|
|
111
106
|
# DISABLED
|
@@ -123,7 +118,7 @@ Lint/ParenthesesAsGroupedExpression:
|
|
123
118
|
Lint/RescueException:
|
124
119
|
Enabled: false
|
125
120
|
|
126
|
-
Lint/
|
121
|
+
Lint/RedundantStringCoercion:
|
127
122
|
Enabled: false
|
128
123
|
|
129
124
|
Lint/UnusedBlockArgument:
|
@@ -147,22 +142,22 @@ Lint/Void:
|
|
147
142
|
Layout/AccessModifierIndentation:
|
148
143
|
Enabled: false
|
149
144
|
|
150
|
-
|
145
|
+
Naming/AccessorMethodName:
|
151
146
|
Enabled: false
|
152
147
|
|
153
148
|
Style/Alias:
|
154
149
|
Enabled: false
|
155
150
|
|
156
|
-
Layout/
|
151
|
+
Layout/ArrayAlignment:
|
157
152
|
Enabled: false
|
158
153
|
|
159
|
-
Layout/
|
154
|
+
Layout/HashAlignment:
|
160
155
|
Enabled: false
|
161
156
|
|
162
|
-
Layout/
|
157
|
+
Layout/ParameterAlignment:
|
163
158
|
Enabled: false
|
164
159
|
|
165
|
-
Layout/
|
160
|
+
Layout/HeredocIndentation:
|
166
161
|
Enabled: false
|
167
162
|
|
168
163
|
Metrics/BlockNesting:
|
@@ -174,9 +169,6 @@ Style/AsciiComments:
|
|
174
169
|
Style/Attr:
|
175
170
|
Enabled: false
|
176
171
|
|
177
|
-
Style/BracesAroundHashParameters:
|
178
|
-
Enabled: false
|
179
|
-
|
180
172
|
Style/CaseEquality:
|
181
173
|
Enabled: false
|
182
174
|
|
@@ -195,7 +187,7 @@ Layout/MultilineMethodCallBraceLayout:
|
|
195
187
|
Style/CharacterLiteral:
|
196
188
|
Enabled: false
|
197
189
|
|
198
|
-
|
190
|
+
Naming/ClassAndModuleCamelCase:
|
199
191
|
Enabled: false
|
200
192
|
|
201
193
|
Style/ClassAndModuleChildren:
|
@@ -216,29 +208,25 @@ Style/ClassVars:
|
|
216
208
|
Style/WhenThen:
|
217
209
|
Enabled: false
|
218
210
|
|
219
|
-
|
220
211
|
# DISABLED - not useful
|
221
212
|
Style/WordArray:
|
222
213
|
Enabled: false
|
223
214
|
|
224
|
-
Style/
|
215
|
+
Style/RedundantPercentQ:
|
225
216
|
Enabled: false
|
226
217
|
|
227
|
-
Layout/
|
218
|
+
Layout/IndentationStyle:
|
228
219
|
Enabled: false
|
229
220
|
|
230
221
|
Layout/SpaceBeforeSemicolon:
|
231
222
|
Enabled: false
|
232
223
|
|
233
|
-
Layout/
|
224
|
+
Layout/TrailingEmptyLines:
|
234
225
|
Enabled: false
|
235
226
|
|
236
227
|
Layout/SpaceInsideBlockBraces:
|
237
228
|
Enabled: false
|
238
229
|
|
239
|
-
Layout/SpaceInsideBrackets:
|
240
|
-
Enabled: false
|
241
|
-
|
242
230
|
Layout/SpaceInsideHashLiteralBraces:
|
243
231
|
Enabled: false
|
244
232
|
|
@@ -278,7 +266,6 @@ Layout/SpaceBeforeBlockBraces:
|
|
278
266
|
Layout/SpaceBeforeComma:
|
279
267
|
Enabled: false
|
280
268
|
|
281
|
-
|
282
269
|
Style/CollectionMethods:
|
283
270
|
Enabled: false
|
284
271
|
|
@@ -294,7 +281,7 @@ Style/CommentAnnotation:
|
|
294
281
|
Metrics/CyclomaticComplexity:
|
295
282
|
Enabled: false
|
296
283
|
|
297
|
-
|
284
|
+
Naming/ConstantName:
|
298
285
|
Enabled: false
|
299
286
|
|
300
287
|
Style/Documentation:
|
@@ -319,10 +306,10 @@ Style/EachWithObject:
|
|
319
306
|
Layout/EmptyLineBetweenDefs:
|
320
307
|
Enabled: false
|
321
308
|
|
322
|
-
Layout/
|
309
|
+
Layout/FirstArrayElementIndentation:
|
323
310
|
Enabled: false
|
324
311
|
|
325
|
-
Layout/
|
312
|
+
Layout/FirstHashElementIndentation:
|
326
313
|
Enabled: false
|
327
314
|
|
328
315
|
Layout/IndentationConsistency:
|
@@ -340,7 +327,7 @@ Layout/EmptyLinesAroundAccessModifier:
|
|
340
327
|
Style/EmptyLiteral:
|
341
328
|
Enabled: false
|
342
329
|
|
343
|
-
|
330
|
+
Layout/LineLength:
|
344
331
|
Enabled: false
|
345
332
|
|
346
333
|
Style/MethodCallWithoutArgsParentheses:
|
@@ -358,7 +345,10 @@ Layout/TrailingWhitespace:
|
|
358
345
|
Style/StringLiterals:
|
359
346
|
Enabled: false
|
360
347
|
|
361
|
-
Style/
|
348
|
+
Style/TrailingCommaInArrayLiteral:
|
349
|
+
Enabled: false
|
350
|
+
|
351
|
+
Style/TrailingCommaInHashLiteral:
|
362
352
|
Enabled: false
|
363
353
|
|
364
354
|
Style/TrailingCommaInArguments:
|
@@ -394,7 +384,6 @@ Style/SingleLineMethods:
|
|
394
384
|
Style/SpecialGlobalVars:
|
395
385
|
Enabled: false
|
396
386
|
|
397
|
-
|
398
387
|
Style/TrivialAccessors:
|
399
388
|
Enabled: false
|
400
389
|
|
@@ -404,7 +393,7 @@ Style/UnlessElse:
|
|
404
393
|
Style/VariableInterpolation:
|
405
394
|
Enabled: false
|
406
395
|
|
407
|
-
|
396
|
+
Naming/VariableName:
|
408
397
|
Enabled: false
|
409
398
|
|
410
399
|
Style/WhileUntilDo:
|
@@ -413,7 +402,7 @@ Style/WhileUntilDo:
|
|
413
402
|
Style/EvenOdd:
|
414
403
|
Enabled: false
|
415
404
|
|
416
|
-
|
405
|
+
Naming/FileName:
|
417
406
|
Enabled: false
|
418
407
|
|
419
408
|
Style/For:
|
@@ -422,7 +411,7 @@ Style/For:
|
|
422
411
|
Style/Lambda:
|
423
412
|
Enabled: false
|
424
413
|
|
425
|
-
|
414
|
+
Naming/MethodName:
|
426
415
|
Enabled: false
|
427
416
|
|
428
417
|
Style/MultilineTernaryOperator:
|
@@ -458,7 +447,7 @@ Style/NumericLiterals:
|
|
458
447
|
Style/OneLineConditional:
|
459
448
|
Enabled: false
|
460
449
|
|
461
|
-
|
450
|
+
Naming/BinaryOperatorParameterName:
|
462
451
|
Enabled: false
|
463
452
|
|
464
453
|
Style/ParenthesesAroundCondition:
|
@@ -470,7 +459,7 @@ Style/PercentLiteralDelimiters:
|
|
470
459
|
Style/PerlBackrefs:
|
471
460
|
Enabled: false
|
472
461
|
|
473
|
-
|
462
|
+
Naming/PredicateName:
|
474
463
|
Enabled: false
|
475
464
|
|
476
465
|
Style/RedundantException:
|
@@ -584,13 +573,10 @@ Layout/EmptyLinesAroundMethodBody:
|
|
584
573
|
Lint/IneffectiveAccessModifier:
|
585
574
|
Enabled: false
|
586
575
|
|
587
|
-
Performance/StringReplacement:
|
588
|
-
Enabled: false
|
589
|
-
|
590
576
|
Layout/ClosingParenthesisIndentation:
|
591
577
|
Enabled: false
|
592
578
|
|
593
|
-
Style/
|
579
|
+
Style/RedundantInterpolation:
|
594
580
|
Enabled: false
|
595
581
|
|
596
582
|
Layout/ElseAlignment:
|
@@ -605,7 +591,7 @@ Layout/FirstParameterIndentation:
|
|
605
591
|
Style/IfInsideElse:
|
606
592
|
Enabled: false
|
607
593
|
|
608
|
-
Layout/
|
594
|
+
Layout/AssignmentIndentation:
|
609
595
|
Enabled: false
|
610
596
|
|
611
597
|
Layout/SpaceAroundBlockParameters:
|
@@ -614,42 +600,24 @@ Layout/SpaceAroundBlockParameters:
|
|
614
600
|
Style/ParallelAssignment:
|
615
601
|
Enabled: false
|
616
602
|
|
617
|
-
Performance/RedundantBlockCall:
|
618
|
-
Enabled: false
|
619
|
-
|
620
603
|
Style/IdenticalConditionalBranches:
|
621
604
|
Enabled: false
|
622
605
|
|
623
|
-
Performance/RedundantMatch:
|
624
|
-
Enabled: false
|
625
|
-
|
626
606
|
Style/CommandLiteral:
|
627
607
|
Enabled: false
|
628
608
|
|
629
|
-
Performance/Casecmp:
|
630
|
-
Enabled: false
|
631
|
-
|
632
609
|
Lint/NestedMethodDefinition:
|
633
610
|
Enabled: false
|
634
611
|
|
635
612
|
Layout/SpaceInsideStringInterpolation:
|
636
613
|
Enabled: false
|
637
614
|
|
638
|
-
Performance/RedundantMerge:
|
639
|
-
Enabled: false
|
640
|
-
|
641
|
-
Performance/ReverseEach:
|
642
|
-
Enabled: false
|
643
|
-
|
644
615
|
Style/NestedModifier:
|
645
616
|
Enabled: false
|
646
617
|
|
647
618
|
Lint/NonLocalExitFromIterator:
|
648
619
|
Enabled: false
|
649
620
|
|
650
|
-
Performance/Count:
|
651
|
-
Enabled: false
|
652
|
-
|
653
621
|
Style/NestedParenthesizedCalls:
|
654
622
|
Enabled: false
|
655
623
|
|
@@ -659,19 +627,10 @@ Layout/RescueEnsureAlignment:
|
|
659
627
|
Lint/DuplicateMethods:
|
660
628
|
Enabled: false
|
661
629
|
|
662
|
-
Performance/RangeInclude:
|
663
|
-
Enabled: false
|
664
|
-
|
665
630
|
Style/TrailingUnderscoreVariable:
|
666
631
|
Enabled: false
|
667
632
|
|
668
|
-
|
669
|
-
Enabled: false
|
670
|
-
|
671
|
-
Performance/RedundantSortBy:
|
672
|
-
Enabled: false
|
673
|
-
|
674
|
-
Performance/TimesMap:
|
633
|
+
Style/RedundantSortBy:
|
675
634
|
Enabled: false
|
676
635
|
|
677
636
|
Layout/InitialIndentation:
|
@@ -691,7 +650,38 @@ Style/ZeroLengthPredicate:
|
|
691
650
|
|
692
651
|
Bundler/OrderedGems:
|
693
652
|
Enabled: false
|
694
|
-
|
695
653
|
# Enforce LF line endings, even when on Windows
|
696
654
|
Layout/EndOfLine:
|
697
655
|
EnforcedStyle: lf
|
656
|
+
|
657
|
+
Layout/SpaceAroundMethodCallOperator:
|
658
|
+
Enabled: true
|
659
|
+
|
660
|
+
Lint/RaiseException:
|
661
|
+
Enabled: true
|
662
|
+
|
663
|
+
Lint/StructNewOverride:
|
664
|
+
Enabled: true
|
665
|
+
|
666
|
+
Style/ExponentialNotation:
|
667
|
+
Enabled: true
|
668
|
+
|
669
|
+
Style/HashEachMethods:
|
670
|
+
Enabled: true
|
671
|
+
|
672
|
+
Style/HashTransformKeys:
|
673
|
+
Enabled: true
|
674
|
+
|
675
|
+
Style/HashTransformValues:
|
676
|
+
Enabled: true
|
677
|
+
|
678
|
+
# Not used becuase too new for support matrix
|
679
|
+
Style/NumericPredicate:
|
680
|
+
Enabled: false
|
681
|
+
|
682
|
+
# Not used becuase too new for support matrix
|
683
|
+
Style/SafeNavigation:
|
684
|
+
Enabled: false
|
685
|
+
|
686
|
+
Style/MixinUsage:
|
687
|
+
Enabled: false
|
data/.travis.yml
CHANGED
@@ -3,22 +3,17 @@ language: ruby
|
|
3
3
|
cache:
|
4
4
|
bundler: true
|
5
5
|
directories:
|
6
|
-
-
|
6
|
+
- "spec/fixtures/puppet_controlrepo/.onceover" # Onceover cache
|
7
7
|
|
8
8
|
script: bundle exec rake full_tests
|
9
9
|
bundler_args: --path vendor/bundle
|
10
10
|
|
11
11
|
matrix:
|
12
12
|
include:
|
13
|
-
# 2016.x -> 2017.2
|
14
|
-
- rvm: 2.1.9
|
15
|
-
env: PUPPET_VERSION="~>4.0"
|
16
|
-
|
17
13
|
# 2017.3 -> 2018.1
|
18
14
|
- rvm: 2.4.4
|
19
15
|
env: PUPPET_VERSION="~>5.0"
|
20
|
-
|
16
|
+
|
21
17
|
# 2019.0 -> now
|
22
|
-
- rvm: 2.5.
|
18
|
+
- rvm: 2.5.7
|
23
19
|
env: PUPPET_VERSION="~>6.0"
|
24
|
-
|
data/Gemfile
CHANGED
@@ -9,12 +9,12 @@ if ENV['PUPPET_VERSION']
|
|
9
9
|
end
|
10
10
|
|
11
11
|
# Evaluate Gemfile.local if it exists
|
12
|
-
if File.
|
12
|
+
if File.exist? "#{__FILE__}.local"
|
13
13
|
eval(File.read("#{__FILE__}.local"), binding)
|
14
14
|
end
|
15
15
|
|
16
16
|
# Evaluate ~/.gemfile if it exists
|
17
|
-
if File.
|
17
|
+
if File.exist?(File.join(Dir.home, '.gemfile'))
|
18
18
|
eval(File.read(File.join(Dir.home, '.gemfile')), binding)
|
19
19
|
end
|
20
20
|
|
@@ -23,3 +23,10 @@ if ENV['APPVEYOR'] == 'True'
|
|
23
23
|
# in order to not have symlinks and therefor work on windows
|
24
24
|
gem 'r10k', git: 'https://github.com/puppetlabs/r10k.git'
|
25
25
|
end
|
26
|
+
|
27
|
+
group :development do
|
28
|
+
gem 'cucumber', '~> 2.0'
|
29
|
+
gem 'pry', '~> 0.10.0'
|
30
|
+
gem 'rubocop', '~> 0.82.0'
|
31
|
+
gem 'rubygems-tasks', '~> 0.2.0'
|
32
|
+
end
|
data/README.md
CHANGED
@@ -2,7 +2,9 @@
|
|
2
2
|
|
3
3
|
*The gateway drug to automated infrastructure testing with Puppet*
|
4
4
|
|
5
|
-
Onceover is a tool to automatically run basic tests on an entire Puppet controlrepo. It includes automatic parsing of the `Puppetfile`, `environment.conf` and others in order to
|
5
|
+
Onceover is a tool to automatically run basic tests on an entire Puppet controlrepo. It includes automatic parsing of the `Puppetfile`, `environment.conf` and others in order to stop silly mistakes ever reaching your Puppet Master!
|
6
|
+
|
7
|
+
**πΊπ₯³ New in v3.17.1: Heaps more Windows fixes! Windows code is now more likely to compile on Non-Windows.**
|
6
8
|
|
7
9
|
## Table of Contents
|
8
10
|
|
@@ -13,6 +15,8 @@ Onceover is a tool to automatically run basic tests on an entire Puppet controlr
|
|
13
15
|
- [onceover.yaml](#onceoveryaml)
|
14
16
|
- [factsets](#factsets)
|
15
17
|
- [Hiera Data](#hiera-data)
|
18
|
+
- [r10k](#r10k)
|
19
|
+
- [r10k Config](#r10k-config)
|
16
20
|
- [Spec testing](#spec-testing)
|
17
21
|
- [Adding your own spec tests](#adding-your-own-spec-tests)
|
18
22
|
- [Using Workarounds](#using-workarounds)
|
@@ -233,7 +237,7 @@ This gem comes with a few pre-canned factsets. These are listed under the `nodes
|
|
233
237
|
|
234
238
|
`spec/factsets/*.json`
|
235
239
|
|
236
|
-
Factsets are used by the
|
240
|
+
Factsets are used by the onceover gem to generate spec tests, which compile a given class against a certain set of facts. To create these factsets all we need to do is log onto a real machine that has puppet installed and run:
|
237
241
|
|
238
242
|
`puppet facts`
|
239
243
|
|
@@ -272,6 +276,66 @@ If you have hiera data inside your controlrepo (or somewhere else) Onceover can
|
|
272
276
|
|
273
277
|
It is also worth noting that any hiera hierarchies that are based on custom facts will not work unless those facts are part of your factsets. Trusted facts will also not work at all as the catalogs are being compiled without the node's certificate. In these instances it may be worth creating a hierarchy level that simply includes dummy data for testing purposes in order to avoid hiera lookup errors.
|
274
278
|
|
279
|
+
### r10k
|
280
|
+
|
281
|
+
Organisations often reference modules from their own git servers in the `Puppetfile`, like this:
|
282
|
+
|
283
|
+
```
|
284
|
+
mod "puppetlabs-apache",
|
285
|
+
:git => "https://git.megacorp.com/pup/puppetlabs-apache.git",
|
286
|
+
:tag => "v5.4.0"
|
287
|
+
```
|
288
|
+
|
289
|
+
Under the hood, Onceover uses r10k to download the modules in your `Puppetfile`. If you get errors downloading modules from Git, its because `r10k`'s call to your underlying `git` command has failed. Onceover tells you the command that `r10k` tried to run, so if you get an error like this:
|
290
|
+
|
291
|
+
```
|
292
|
+
INFO -> Updating module /Users/dylan/control-repo/.onceover/etc/puppetlabs/code/environments
|
293
|
+
/production/modules/apache
|
294
|
+
ERROR -> Command exited with non-zero exit code:
|
295
|
+
Command: git --git-dir /Users/dylan/.r10k/git/ssh---git.megacorp.com-pup-puppetlabs_apache.git fetch origin --prune
|
296
|
+
Stderr:
|
297
|
+
ssh_askpass: exec(/usr/bin/ssh-askpass): No such file or directory
|
298
|
+
Host key verification failed.
|
299
|
+
|
300
|
+
fatal: Could not read from remote repository.
|
301
|
+
|
302
|
+
Please make sure you have the correct access rights
|
303
|
+
and the repository exists.
|
304
|
+
Exit code: 128
|
305
|
+
```
|
306
|
+
|
307
|
+
Then the approach to debug it would be to run the command that Onceover suggested:
|
308
|
+
|
309
|
+
```
|
310
|
+
git --git-dir /Users/dylan/.r10k/git/ssh---git.megacorp.com-pup-puppetlabs_apache.git fetch origin --prune
|
311
|
+
```
|
312
|
+
|
313
|
+
In this case, running the command interactively gives us a prompt to add the server to our `~/.ssh/known_hosts` file, which fixes the problem permanently:
|
314
|
+
|
315
|
+
```
|
316
|
+
$ git --git-dir /Users/dylan/.r10k/git/ssh---git.megacorp.com-pup-puppetlabs_apache.git fetch origin --prune
|
317
|
+
The authenticity of host 'git.megacorp.com (123.456.789.101)' can't be established.
|
318
|
+
...
|
319
|
+
Warning: Permanently added 'git.megacorp.com,123.456.789.101' (RSA) to the list of known hosts.
|
320
|
+
```
|
321
|
+
|
322
|
+
The other way to resolve this would have been to install the `ssh_askpass` program, but this can spam the screen with modal dialogs on some platforms.
|
323
|
+
|
324
|
+
#### r10k Config
|
325
|
+
|
326
|
+
If you have custom r10k config that you want to use, place the `r10k.yaml` file in one of the following locations:
|
327
|
+
|
328
|
+
- `{repo root}/r10k.yaml`
|
329
|
+
- `{repo root}/spec/r10k.yaml`
|
330
|
+
|
331
|
+
A good use of this is [enabling multi threading](https://github.com/puppetlabs/r10k/blob/master/doc/dynamic-environments/configuration.mkd#pool_size) by creating the following in `r10k.yaml`:
|
332
|
+
|
333
|
+
```yaml
|
334
|
+
# spec/r10k.yaml
|
335
|
+
---
|
336
|
+
pool_size: 20
|
337
|
+
```
|
338
|
+
|
275
339
|
#### Creating the config file
|
276
340
|
|
277
341
|
If your `hiera.yaml` is version 4 or 5 and lives in the root of the controlrepo (as it should), Onceover will pick this up automatically. If you would like to make changes to this file for testing purposes, create a copy under `spec/hiera.yaml`. Onceover will use this version of the hiera config file first if it exists.
|
@@ -636,4 +700,3 @@ Cheers to all of those who helped out:
|
|
636
700
|
- @raphink
|
637
701
|
- @tequeter
|
638
702
|
- @alexjfisher
|
639
|
-
|