puppet 4.10.4-x64-mingw32 → 4.10.5-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- checksums.yaml +7 -0
- data/lib/puppet/application/lookup.rb +2 -2
- data/lib/puppet/configurer/fact_handler.rb +1 -1
- data/lib/puppet/face/epp.rb +26 -24
- data/lib/puppet/file_serving/metadata.rb +2 -2
- data/lib/puppet/forge.rb +5 -3
- data/lib/puppet/forge/cache.rb +1 -0
- data/lib/puppet/forge/repository.rb +2 -1
- data/lib/puppet/indirector/catalog/compiler.rb +4 -3
- data/lib/puppet/indirector/request.rb +9 -8
- data/lib/puppet/module.rb +30 -0
- data/lib/puppet/network/http/rack/rest.rb +2 -1
- data/lib/puppet/parser/compiler.rb +4 -0
- data/lib/puppet/parser/functions/assert_type.rb +1 -1
- data/lib/puppet/parser/functions/binary_file.rb +1 -1
- data/lib/puppet/parser/functions/break.rb +1 -1
- data/lib/puppet/parser/functions/defined.rb +1 -1
- data/lib/puppet/parser/functions/dig.rb +1 -1
- data/lib/puppet/parser/functions/each.rb +1 -1
- data/lib/puppet/parser/functions/epp.rb +1 -1
- data/lib/puppet/parser/functions/filter.rb +1 -1
- data/lib/puppet/parser/functions/find_file.rb +1 -1
- data/lib/puppet/parser/functions/inline_epp.rb +1 -1
- data/lib/puppet/parser/functions/lest.rb +1 -1
- data/lib/puppet/parser/functions/map.rb +1 -1
- data/lib/puppet/parser/functions/match.rb +1 -1
- data/lib/puppet/parser/functions/new.rb +1 -1
- data/lib/puppet/parser/functions/next.rb +1 -1
- data/lib/puppet/parser/functions/reduce.rb +1 -1
- data/lib/puppet/parser/functions/return.rb +1 -1
- data/lib/puppet/parser/functions/reverse_each.rb +1 -1
- data/lib/puppet/parser/functions/slice.rb +1 -1
- data/lib/puppet/parser/functions/step.rb +1 -1
- data/lib/puppet/parser/functions/strftime.rb +1 -1
- data/lib/puppet/parser/functions/then.rb +1 -1
- data/lib/puppet/parser/functions/type.rb +1 -1
- data/lib/puppet/parser/functions/with.rb +1 -1
- data/lib/puppet/pops/evaluator/collector_transformer.rb +2 -2
- data/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +2 -2
- data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +2 -2
- data/lib/puppet/pops/merge_strategy.rb +1 -1
- data/lib/puppet/provider/nameservice.rb +4 -2
- data/lib/puppet/reports/http.rb +4 -2
- data/lib/puppet/resource/capability_finder.rb +1 -1
- data/lib/puppet/type/file/source.rb +9 -3
- data/lib/puppet/util.rb +122 -2
- data/lib/puppet/util/execution.rb +1 -1
- data/lib/puppet/util/rdoc/generators/puppet_generator.rb +1 -1
- data/lib/puppet/version.rb +1 -1
- data/locales/puppet.pot +12 -4
- data/spec/integration/application/apply_spec.rb +10 -0
- data/spec/integration/type/file_spec.rb +29 -0
- data/spec/integration/util/execution_spec.rb +8 -0
- data/spec/unit/application/lookup_spec.rb +1 -1
- data/spec/unit/configurer/fact_handler_spec.rb +30 -8
- data/spec/unit/face/epp_face_spec.rb +9 -0
- data/spec/unit/file_serving/metadata_spec.rb +21 -0
- data/spec/unit/forge/forge_spec.rb +112 -0
- data/spec/unit/forge/repository_spec.rb +4 -4
- data/spec/unit/functions/lookup_spec.rb +26 -0
- data/spec/unit/indirector/catalog/compiler_spec.rb +1 -1
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +3 -3
- data/spec/unit/indirector/request_spec.rb +16 -1
- data/spec/unit/module_spec.rb +29 -0
- data/spec/unit/network/http/api/indirected_routes_spec.rb +3 -3
- data/spec/unit/network/http/rack/rest_spec.rb +3 -3
- data/spec/unit/type/file_spec.rb +46 -0
- data/spec/unit/util_spec.rb +230 -1
- data/tasks/parallel.rake +12 -7
- metadata +188 -212
data/spec/unit/type/file_spec.rb
CHANGED
@@ -1415,6 +1415,52 @@ describe Puppet::Type.type(:file) do
|
|
1415
1415
|
end
|
1416
1416
|
end
|
1417
1417
|
|
1418
|
+
describe 'when using source' do
|
1419
|
+
# different UTF-8 widths
|
1420
|
+
# 1-byte A
|
1421
|
+
# 2-byte ۿ - http://www.fileformat.info/info/unicode/char/06ff/index.htm - 0xDB 0xBF / 219 191
|
1422
|
+
# 3-byte ᚠ - http://www.fileformat.info/info/unicode/char/16A0/index.htm - 0xE1 0x9A 0xA0 / 225 154 160
|
1423
|
+
# 4-byte <U+070E> - http://www.fileformat.info/info/unicode/char/2070E/index.htm - 0xF0 0xA0 0x9C 0x8E / 240 160 156 142
|
1424
|
+
let (:mixed_utf8) { "A\u06FF\u16A0\u{2070E}" } # Aۿᚠ<U+070E>
|
1425
|
+
|
1426
|
+
it 'should allow UTF-8 characters and return a UTF-8 uri' do
|
1427
|
+
filename = "/bar #{mixed_utf8}"
|
1428
|
+
source = "puppet://foo#{filename}"
|
1429
|
+
file[:source] = source
|
1430
|
+
|
1431
|
+
# intercept the indirector call to provide back mocked metadata for the given URI
|
1432
|
+
metadata = stub 'metadata', :source => source
|
1433
|
+
metadata.expects(:source=)
|
1434
|
+
Puppet::FileServing::Metadata.indirection.expects(:find).with do |path, opts|
|
1435
|
+
path == source
|
1436
|
+
end.returns metadata
|
1437
|
+
|
1438
|
+
uri = file.parameters[:source].uri
|
1439
|
+
expect(URI.unescape(uri.path)).to eq(filename)
|
1440
|
+
expect(uri.path.encoding).to eq(Encoding::UTF_8)
|
1441
|
+
end
|
1442
|
+
|
1443
|
+
it 'should allow UTF-8 characters inside the indirector / terminus code' do
|
1444
|
+
filename = "/bar #{mixed_utf8}"
|
1445
|
+
source = "puppet://foo#{filename}"
|
1446
|
+
file[:source] = source
|
1447
|
+
|
1448
|
+
# for this test to properly trigger previously errant behavior, the code for
|
1449
|
+
# Puppet::FileServing::Metadata.indirection.find must run and produce an
|
1450
|
+
# instance of Puppet::Indirector::FileMetadata::Rest that can be amended
|
1451
|
+
metadata = stub 'metadata', :source => source
|
1452
|
+
metadata.expects(:source=)
|
1453
|
+
require 'puppet/indirector/file_metadata/rest'
|
1454
|
+
Puppet::Indirector::FileMetadata::Rest.any_instance.expects(:find).with do |req|
|
1455
|
+
req.key == filename[1..-1]
|
1456
|
+
end.returns(metadata)
|
1457
|
+
|
1458
|
+
uri = file.parameters[:source].uri
|
1459
|
+
expect(URI.unescape(uri.path)).to eq(filename)
|
1460
|
+
expect(uri.path.encoding).to eq(Encoding::UTF_8)
|
1461
|
+
end
|
1462
|
+
end
|
1463
|
+
|
1418
1464
|
describe "when using source" do
|
1419
1465
|
before do
|
1420
1466
|
file[:source] = File.expand_path('/one')
|
data/spec/unit/util_spec.rb
CHANGED
@@ -297,6 +297,14 @@ describe Puppet::Util do
|
|
297
297
|
end
|
298
298
|
|
299
299
|
describe "#path_to_uri" do
|
300
|
+
# different UTF-8 widths
|
301
|
+
# 1-byte A
|
302
|
+
# 2-byte ۿ - http://www.fileformat.info/info/unicode/char/06ff/index.htm - 0xDB 0xBF / 219 191
|
303
|
+
# 3-byte ᚠ - http://www.fileformat.info/info/unicode/char/16A0/index.htm - 0xE1 0x9A 0xA0 / 225 154 160
|
304
|
+
# 4-byte - http://www.fileformat.info/info/unicode/char/2070E/index.htm - 0xF0 0xA0 0x9C 0x8E / 240 160 156 142
|
305
|
+
let (:mixed_utf8) { "A\u06FF\u16A0\u{2070E}" } # Aۿᚠ
|
306
|
+
let (:mixed_utf8_urlencoded) { "A%DB%BF%E1%9A%A0%F0%A0%9C%8E" }
|
307
|
+
|
300
308
|
%w[. .. foo foo/bar foo/../bar].each do |path|
|
301
309
|
it "should reject relative path: #{path}" do
|
302
310
|
expect { Puppet::Util.path_to_uri(path) }.to raise_error(Puppet::Error)
|
@@ -307,6 +315,42 @@ describe Puppet::Util do
|
|
307
315
|
expect(Puppet::Util.path_to_uri("/foo bar").path).to eq("/foo%20bar")
|
308
316
|
end
|
309
317
|
|
318
|
+
it "should properly URI encode + and space in path" do
|
319
|
+
expect(Puppet::Util.path_to_uri("/foo+foo bar").path).to eq("/foo+foo%20bar")
|
320
|
+
end
|
321
|
+
|
322
|
+
# reserved characters are different for each part
|
323
|
+
# https://web.archive.org/web/20151229061347/http://blog.lunatech.com/2009/02/03/what-every-web-developer-must-know-about-url-encoding#Thereservedcharactersaredifferentforeachpart
|
324
|
+
# "?" is allowed unescaped anywhere within a query part,
|
325
|
+
# "/" is allowed unescaped anywhere within a query part,
|
326
|
+
# "=" is allowed unescaped anywhere within a path parameter or query parameter value, and within a path segment,
|
327
|
+
# ":@-._~!$&'()*+,;=" are allowed unescaped anywhere within a path segment part,
|
328
|
+
# "/?:@-._~!$&'()*+,;=" are allowed unescaped anywhere within a fragment part.
|
329
|
+
it "should properly URI encode + and space in path and query" do
|
330
|
+
path = "/foo+foo bar?foo+foo bar"
|
331
|
+
uri = Puppet::Util.path_to_uri(path)
|
332
|
+
|
333
|
+
# Ruby 1.9.3 URI#to_s has a bug that returns ASCII always
|
334
|
+
# despite parts being UTF-8 strings
|
335
|
+
expected_encoding = RUBY_VERSION == '1.9.3' ? Encoding::ASCII : Encoding::UTF_8
|
336
|
+
|
337
|
+
expect(uri.to_s.encoding).to eq(expected_encoding)
|
338
|
+
expect(uri.path).to eq("/foo+foo%20bar")
|
339
|
+
# either + or %20 is correct for an encoded space in query
|
340
|
+
# + is usually used for backward compatibility, but %20 is preferred for compat with Uri.unescape
|
341
|
+
expect(uri.query).to eq("foo%2Bfoo%20bar")
|
342
|
+
# complete roundtrip
|
343
|
+
expect(URI.unescape(uri.to_s)).to eq("file:#{path}")
|
344
|
+
expect(URI.unescape(uri.to_s).encoding).to eq(expected_encoding)
|
345
|
+
end
|
346
|
+
|
347
|
+
it "should perform UTF-8 URI escaping" do
|
348
|
+
uri = Puppet::Util.path_to_uri("/#{mixed_utf8}")
|
349
|
+
|
350
|
+
expect(uri.path.encoding).to eq(Encoding::UTF_8)
|
351
|
+
expect(uri.path).to eq("/#{mixed_utf8_urlencoded}")
|
352
|
+
end
|
353
|
+
|
310
354
|
describe "when using platform :posix" do
|
311
355
|
before :each do
|
312
356
|
Puppet.features.stubs(:posix).returns true
|
@@ -340,7 +384,172 @@ describe Puppet::Util do
|
|
340
384
|
it "should convert UNC #{path} to absolute URI" do
|
341
385
|
uri = Puppet::Util.path_to_uri("\\\\server\\#{path}")
|
342
386
|
expect(uri.host).to eq('server')
|
343
|
-
expect(uri.path).to eq('/' + path)
|
387
|
+
expect(uri.path).to eq('/' + Puppet::Util.uri_encode(path))
|
388
|
+
end
|
389
|
+
end
|
390
|
+
end
|
391
|
+
end
|
392
|
+
|
393
|
+
describe "#uri_query_encode" do
|
394
|
+
# different UTF-8 widths
|
395
|
+
# 1-byte A
|
396
|
+
# 2-byte ۿ - http://www.fileformat.info/info/unicode/char/06ff/index.htm - 0xDB 0xBF / 219 191
|
397
|
+
# 3-byte ᚠ - http://www.fileformat.info/info/unicode/char/16A0/index.htm - 0xE1 0x9A 0xA0 / 225 154 160
|
398
|
+
# 4-byte 𠜎 - http://www.fileformat.info/info/unicode/char/2070E/index.htm - 0xF0 0xA0 0x9C 0x8E / 240 160 156 142
|
399
|
+
let (:mixed_utf8) { "A\u06FF\u16A0\u{2070E}" } # Aۿᚠ𠜎
|
400
|
+
let (:mixed_utf8_urlencoded) { "A%DB%BF%E1%9A%A0%F0%A0%9C%8E" }
|
401
|
+
|
402
|
+
it "should perform basic URI escaping that includes space and +" do
|
403
|
+
expect(Puppet::Util.uri_query_encode("foo bar+foo")).to eq("foo%20bar%2Bfoo")
|
404
|
+
end
|
405
|
+
|
406
|
+
it "should URI encode any special characters: = + <space> & * and #" do
|
407
|
+
expect(Puppet::Util.uri_query_encode("foo=bar+foo baz&bar=baz qux&special= *&qux=not fragment#")).to eq("foo%3Dbar%2Bfoo%20baz%26bar%3Dbaz%20qux%26special%3D%20%2A%26qux%3Dnot%20fragment%23")
|
408
|
+
end
|
409
|
+
|
410
|
+
[
|
411
|
+
"A\u06FF\u16A0\u{2070E}",
|
412
|
+
"A\u06FF\u16A0\u{2070E}".force_encoding(Encoding::BINARY)
|
413
|
+
].each do |uri_string|
|
414
|
+
it "should perform UTF-8 URI escaping, even when input strings are not UTF-8" do
|
415
|
+
uri = Puppet::Util.uri_query_encode(mixed_utf8)
|
416
|
+
|
417
|
+
expect(uri.encoding).to eq(Encoding::UTF_8)
|
418
|
+
expect(uri).to eq(mixed_utf8_urlencoded)
|
419
|
+
end
|
420
|
+
end
|
421
|
+
|
422
|
+
it "should be usable by URI::parse" do
|
423
|
+
uri = URI::parse("puppet://server/path?" + Puppet::Util.uri_query_encode(mixed_utf8))
|
424
|
+
|
425
|
+
expect(uri.scheme).to eq('puppet')
|
426
|
+
expect(uri.host).to eq('server')
|
427
|
+
expect(uri.path).to eq('/path')
|
428
|
+
expect(uri.query).to eq(mixed_utf8_urlencoded)
|
429
|
+
end
|
430
|
+
|
431
|
+
it "should be usable by URI::Generic.build" do
|
432
|
+
params = {
|
433
|
+
:scheme => 'file',
|
434
|
+
:host => 'foobar',
|
435
|
+
:path => '/path/to',
|
436
|
+
:query => Puppet::Util.uri_query_encode(mixed_utf8)
|
437
|
+
}
|
438
|
+
|
439
|
+
uri = URI::Generic.build(params)
|
440
|
+
|
441
|
+
expect(uri.scheme).to eq('file')
|
442
|
+
expect(uri.host).to eq('foobar')
|
443
|
+
expect(uri.path).to eq("/path/to")
|
444
|
+
expect(uri.query).to eq(mixed_utf8_urlencoded)
|
445
|
+
end
|
446
|
+
end
|
447
|
+
|
448
|
+
describe "#uri_encode" do
|
449
|
+
# different UTF-8 widths
|
450
|
+
# 1-byte A
|
451
|
+
# 2-byte ۿ - http://www.fileformat.info/info/unicode/char/06ff/index.htm - 0xDB 0xBF / 219 191
|
452
|
+
# 3-byte ᚠ - http://www.fileformat.info/info/unicode/char/16A0/index.htm - 0xE1 0x9A 0xA0 / 225 154 160
|
453
|
+
# 4-byte - http://www.fileformat.info/info/unicode/char/2070E/index.htm - 0xF0 0xA0 0x9C 0x8E / 240 160 156 142
|
454
|
+
let (:mixed_utf8) { "A\u06FF\u16A0\u{2070E}" } # Aۿᚠ
|
455
|
+
let (:mixed_utf8_urlencoded) { "A%DB%BF%E1%9A%A0%F0%A0%9C%8E" }
|
456
|
+
|
457
|
+
it "should perform URI escaping" do
|
458
|
+
expect(Puppet::Util.uri_encode("/foo bar")).to eq("/foo%20bar")
|
459
|
+
end
|
460
|
+
|
461
|
+
[
|
462
|
+
"A\u06FF\u16A0\u{2070E}",
|
463
|
+
"A\u06FF\u16A0\u{2070E}".force_encoding(Encoding::BINARY)
|
464
|
+
].each do |uri_string|
|
465
|
+
it "should perform UTF-8 URI escaping, even when input strings are not UTF-8" do
|
466
|
+
uri = Puppet::Util.uri_encode(mixed_utf8)
|
467
|
+
|
468
|
+
expect(uri.encoding).to eq(Encoding::UTF_8)
|
469
|
+
expect(uri).to eq(mixed_utf8_urlencoded)
|
470
|
+
end
|
471
|
+
end
|
472
|
+
|
473
|
+
it "should treat & and = as delimiters in a query string, but URI encode other special characters: + <space> * and #" do
|
474
|
+
input = "http://foo.bar.com/path?foo=bar+foo baz&bar=baz qux&special= *&qux=not fragment#"
|
475
|
+
expected_output = "http://foo.bar.com/path?foo=bar%2Bfoo%20baz&bar=baz%20qux&special=%20%2A&qux=not%20fragment%23"
|
476
|
+
expect(Puppet::Util.uri_encode(input)).to eq(expected_output)
|
477
|
+
end
|
478
|
+
|
479
|
+
it "should be usable by URI::parse" do
|
480
|
+
uri = URI::parse(Puppet::Util.uri_encode("puppet://server/path/to/#{mixed_utf8}"))
|
481
|
+
|
482
|
+
expect(uri.scheme).to eq('puppet')
|
483
|
+
expect(uri.host).to eq('server')
|
484
|
+
expect(uri.path).to eq("/path/to/#{mixed_utf8_urlencoded}")
|
485
|
+
end
|
486
|
+
|
487
|
+
it "should be usable by URI::Generic.build" do
|
488
|
+
params = {
|
489
|
+
:scheme => 'file',
|
490
|
+
:host => 'foobar',
|
491
|
+
:path => Puppet::Util.uri_encode("/path/to/#{mixed_utf8}")
|
492
|
+
}
|
493
|
+
|
494
|
+
uri = URI::Generic.build(params)
|
495
|
+
|
496
|
+
expect(uri.scheme).to eq('file')
|
497
|
+
expect(uri.host).to eq('foobar')
|
498
|
+
expect(uri.path).to eq("/path/to/#{mixed_utf8_urlencoded}")
|
499
|
+
end
|
500
|
+
|
501
|
+
describe "when using platform :posix" do
|
502
|
+
before :each do
|
503
|
+
Puppet.features.stubs(:posix).returns true
|
504
|
+
Puppet.features.stubs(:microsoft_windows?).returns false
|
505
|
+
end
|
506
|
+
|
507
|
+
%w[/ /foo /foo/../bar].each do |path|
|
508
|
+
it "should not replace / in #{path} with %2F" do
|
509
|
+
expect(Puppet::Util.uri_encode(path)).to eq(path)
|
510
|
+
end
|
511
|
+
end
|
512
|
+
end
|
513
|
+
|
514
|
+
describe "with fragment support" do
|
515
|
+
context "disabled by default" do
|
516
|
+
it "should encode # as %23 in path" do
|
517
|
+
encoded = Puppet::Util.uri_encode("/foo bar#fragment")
|
518
|
+
expect(encoded).to eq("/foo%20bar%23fragment")
|
519
|
+
end
|
520
|
+
|
521
|
+
it "should encode # as %23 in query" do
|
522
|
+
encoded = Puppet::Util.uri_encode("/foo bar?baz+qux#fragment")
|
523
|
+
expect(encoded).to eq("/foo%20bar?baz%2Bqux%23fragment")
|
524
|
+
end
|
525
|
+
end
|
526
|
+
|
527
|
+
context "optionally enabled" do
|
528
|
+
it "should leave fragment delimiter # after encoded paths" do
|
529
|
+
encoded = Puppet::Util.uri_encode("/foo bar#fragment", { :allow_fragment => true })
|
530
|
+
expect(encoded).to eq("/foo%20bar#fragment")
|
531
|
+
end
|
532
|
+
|
533
|
+
it "should leave fragment delimiter # after encoded query" do
|
534
|
+
encoded = Puppet::Util.uri_encode("/foo bar?baz+qux#fragment", { :allow_fragment => true })
|
535
|
+
expect(encoded).to eq("/foo%20bar?baz%2Bqux#fragment")
|
536
|
+
end
|
537
|
+
end
|
538
|
+
end
|
539
|
+
|
540
|
+
describe "when using platform :windows" do
|
541
|
+
before :each do
|
542
|
+
Puppet.features.stubs(:posix).returns false
|
543
|
+
Puppet.features.stubs(:microsoft_windows?).returns true
|
544
|
+
end
|
545
|
+
|
546
|
+
it "should url encode \\ as %5C, but not replace : as %3F" do
|
547
|
+
expect(Puppet::Util.uri_encode('c:\\foo\\bar\\baz')).to eq('c:%5Cfoo%5Cbar%5Cbaz')
|
548
|
+
end
|
549
|
+
|
550
|
+
%w[C:/ C:/foo/bar].each do |path|
|
551
|
+
it "should not replace / in #{path} with %2F" do
|
552
|
+
expect(Puppet::Util.uri_encode(path)).to eq(path)
|
344
553
|
end
|
345
554
|
end
|
346
555
|
end
|
@@ -349,6 +558,13 @@ describe Puppet::Util do
|
|
349
558
|
describe ".uri_to_path" do
|
350
559
|
require 'uri'
|
351
560
|
|
561
|
+
# different UTF-8 widths
|
562
|
+
# 1-byte A
|
563
|
+
# 2-byte ۿ - http://www.fileformat.info/info/unicode/char/06ff/index.htm - 0xDB 0xBF / 219 191
|
564
|
+
# 3-byte ᚠ - http://www.fileformat.info/info/unicode/char/16A0/index.htm - 0xE1 0x9A 0xA0 / 225 154 160
|
565
|
+
# 4-byte 𠜎 - http://www.fileformat.info/info/unicode/char/2070E/index.htm - 0xF0 0xA0 0x9C 0x8E / 240 160 156 142
|
566
|
+
let (:mixed_utf8) { "A\u06FF\u16A0\u{2070E}" } # Aۿᚠ𠜎
|
567
|
+
|
352
568
|
it "should strip host component" do
|
353
569
|
expect(Puppet::Util.uri_to_path(URI.parse('http://foo/bar'))).to eq('/bar')
|
354
570
|
end
|
@@ -361,6 +577,19 @@ describe Puppet::Util do
|
|
361
577
|
expect(Puppet::Util.uri_to_path(URI.parse('http://foo/bar%20baz'))).to eq('/bar baz')
|
362
578
|
end
|
363
579
|
|
580
|
+
|
581
|
+
[
|
582
|
+
"http://foo/A%DB%BF%E1%9A%A0%F0%A0%9C%8E",
|
583
|
+
"http://foo/A%DB%BF%E1%9A%A0%F0%A0%9C%8E".force_encoding(Encoding::ASCII)
|
584
|
+
].each do |uri_string|
|
585
|
+
it "should return paths as UTF-8" do
|
586
|
+
path = Puppet::Util.uri_to_path(URI.parse(uri_string))
|
587
|
+
|
588
|
+
expect(path).to eq("/#{mixed_utf8}")
|
589
|
+
expect(path.encoding).to eq(Encoding::UTF_8)
|
590
|
+
end
|
591
|
+
end
|
592
|
+
|
364
593
|
it "should be nil-safe" do
|
365
594
|
expect(Puppet::Util.uri_to_path(nil)).to be_nil
|
366
595
|
end
|
data/tasks/parallel.rake
CHANGED
@@ -156,17 +156,21 @@ else
|
|
156
156
|
|
157
157
|
#
|
158
158
|
# Responsible for parallelizing spec testing.
|
159
|
+
# Optional options list will be passed to rspec.
|
159
160
|
#
|
160
161
|
class Parallelizer
|
161
162
|
# Number of processes to use
|
162
163
|
attr_reader :process_count
|
163
164
|
# Approximate size of each group of tests
|
164
165
|
attr_reader :group_size
|
166
|
+
# Options list for rspec
|
167
|
+
attr_reader :options
|
165
168
|
|
166
|
-
def initialize(process_count, group_size, color)
|
169
|
+
def initialize(process_count, group_size, color, options = [])
|
167
170
|
@process_count = process_count
|
168
171
|
@group_size = group_size
|
169
172
|
@color = color
|
173
|
+
@options = options
|
170
174
|
end
|
171
175
|
|
172
176
|
def color?
|
@@ -180,7 +184,7 @@ else
|
|
180
184
|
fail red('error: no specs were found') if groups.length == 0
|
181
185
|
|
182
186
|
begin
|
183
|
-
run_specs
|
187
|
+
run_specs(groups, options)
|
184
188
|
ensure
|
185
189
|
groups.each do |file|
|
186
190
|
File.unlink(file)
|
@@ -211,7 +215,7 @@ else
|
|
211
215
|
spec_group_files
|
212
216
|
end
|
213
217
|
|
214
|
-
def run_specs(groups)
|
218
|
+
def run_specs(groups, options)
|
215
219
|
puts "Processing #{groups.length} spec group(s) with #{@process_count} worker(s)"
|
216
220
|
|
217
221
|
interrupted = false
|
@@ -246,7 +250,8 @@ else
|
|
246
250
|
break unless group && !interrupted
|
247
251
|
|
248
252
|
# Spawn the worker process with redirected output
|
249
|
-
|
253
|
+
options_string = options ? options.join(' ') : ''
|
254
|
+
io = IO.popen("ruby util/rspec_runner #{group} #{options_string}")
|
250
255
|
pids[thread_id] = io.pid
|
251
256
|
|
252
257
|
# TODO: make the buffer pluggable to handle other output formats like documentation
|
@@ -391,15 +396,15 @@ else
|
|
391
396
|
config.color
|
392
397
|
end
|
393
398
|
|
394
|
-
desc 'Runs specs in parallel.'
|
395
|
-
task 'spec', :process_count, :group_size do |_, args|
|
399
|
+
desc 'Runs specs in parallel. Extra args are passed to rspec.'
|
400
|
+
task 'spec', [:process_count, :group_size] do |_, args|
|
396
401
|
# Default group size in rspec examples
|
397
402
|
DEFAULT_GROUP_SIZE = 1000
|
398
403
|
|
399
404
|
process_count = [(args[:process_count] || Facter.value("processorcount")).to_i, 1].max
|
400
405
|
group_size = [(args[:group_size] || DEFAULT_GROUP_SIZE).to_i, 1].max
|
401
406
|
|
402
|
-
abort unless Parallel::RSpec::Parallelizer.new(process_count, group_size, color_output
|
407
|
+
abort unless Parallel::RSpec::Parallelizer.new(process_count, group_size, color_output?, args.extras).run
|
403
408
|
end
|
404
409
|
end
|
405
410
|
end
|
metadata
CHANGED
@@ -1,134 +1,120 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puppet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.10.
|
5
|
-
prerelease:
|
4
|
+
version: 4.10.5
|
6
5
|
platform: x64-mingw32
|
7
6
|
authors:
|
8
7
|
- Puppet Labs
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2017-
|
11
|
+
date: 2017-07-26 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: facter
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">"
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '2.0'
|
22
|
-
- - <
|
20
|
+
- - "<"
|
23
21
|
- !ruby/object:Gem::Version
|
24
22
|
version: '4'
|
25
23
|
type: :runtime
|
26
24
|
prerelease: false
|
27
25
|
version_requirements: !ruby/object:Gem::Requirement
|
28
|
-
none: false
|
29
26
|
requirements:
|
30
|
-
- -
|
27
|
+
- - ">"
|
31
28
|
- !ruby/object:Gem::Version
|
32
29
|
version: '2.0'
|
33
|
-
- - <
|
30
|
+
- - "<"
|
34
31
|
- !ruby/object:Gem::Version
|
35
32
|
version: '4'
|
36
33
|
- !ruby/object:Gem::Dependency
|
37
34
|
name: hiera
|
38
35
|
requirement: !ruby/object:Gem::Requirement
|
39
|
-
none: false
|
40
36
|
requirements:
|
41
|
-
- -
|
37
|
+
- - ">="
|
42
38
|
- !ruby/object:Gem::Version
|
43
39
|
version: '2.0'
|
44
|
-
- - <
|
40
|
+
- - "<"
|
45
41
|
- !ruby/object:Gem::Version
|
46
42
|
version: '4'
|
47
43
|
type: :runtime
|
48
44
|
prerelease: false
|
49
45
|
version_requirements: !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
46
|
requirements:
|
52
|
-
- -
|
47
|
+
- - ">="
|
53
48
|
- !ruby/object:Gem::Version
|
54
49
|
version: '2.0'
|
55
|
-
- - <
|
50
|
+
- - "<"
|
56
51
|
- !ruby/object:Gem::Version
|
57
52
|
version: '4'
|
58
53
|
- !ruby/object:Gem::Dependency
|
59
54
|
name: json_pure
|
60
55
|
requirement: !ruby/object:Gem::Requirement
|
61
|
-
none: false
|
62
56
|
requirements:
|
63
|
-
- - ~>
|
57
|
+
- - "~>"
|
64
58
|
- !ruby/object:Gem::Version
|
65
59
|
version: '1.8'
|
66
60
|
type: :runtime
|
67
61
|
prerelease: false
|
68
62
|
version_requirements: !ruby/object:Gem::Requirement
|
69
|
-
none: false
|
70
63
|
requirements:
|
71
|
-
- - ~>
|
64
|
+
- - "~>"
|
72
65
|
- !ruby/object:Gem::Version
|
73
66
|
version: '1.8'
|
74
67
|
- !ruby/object:Gem::Dependency
|
75
68
|
name: gettext-setup
|
76
69
|
requirement: !ruby/object:Gem::Requirement
|
77
|
-
none: false
|
78
70
|
requirements:
|
79
|
-
- -
|
71
|
+
- - ">="
|
80
72
|
- !ruby/object:Gem::Version
|
81
73
|
version: '0.10'
|
82
|
-
- - <
|
74
|
+
- - "<"
|
83
75
|
- !ruby/object:Gem::Version
|
84
76
|
version: '1'
|
85
77
|
type: :runtime
|
86
78
|
prerelease: false
|
87
79
|
version_requirements: !ruby/object:Gem::Requirement
|
88
|
-
none: false
|
89
80
|
requirements:
|
90
|
-
- -
|
81
|
+
- - ">="
|
91
82
|
- !ruby/object:Gem::Version
|
92
83
|
version: '0.10'
|
93
|
-
- - <
|
84
|
+
- - "<"
|
94
85
|
- !ruby/object:Gem::Version
|
95
86
|
version: '1'
|
96
87
|
- !ruby/object:Gem::Dependency
|
97
88
|
name: locale
|
98
89
|
requirement: !ruby/object:Gem::Requirement
|
99
|
-
none: false
|
100
90
|
requirements:
|
101
|
-
- - ~>
|
91
|
+
- - "~>"
|
102
92
|
- !ruby/object:Gem::Version
|
103
93
|
version: '2.1'
|
104
94
|
type: :runtime
|
105
95
|
prerelease: false
|
106
96
|
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
none: false
|
108
97
|
requirements:
|
109
|
-
- - ~>
|
98
|
+
- - "~>"
|
110
99
|
- !ruby/object:Gem::Version
|
111
100
|
version: '2.1'
|
112
101
|
- !ruby/object:Gem::Dependency
|
113
102
|
name: ffi
|
114
103
|
requirement: !ruby/object:Gem::Requirement
|
115
|
-
none: false
|
116
104
|
requirements:
|
117
|
-
- - ~>
|
105
|
+
- - "~>"
|
118
106
|
- !ruby/object:Gem::Version
|
119
107
|
version: 1.9.6
|
120
108
|
type: :runtime
|
121
109
|
prerelease: false
|
122
110
|
version_requirements: !ruby/object:Gem::Requirement
|
123
|
-
none: false
|
124
111
|
requirements:
|
125
|
-
- - ~>
|
112
|
+
- - "~>"
|
126
113
|
- !ruby/object:Gem::Version
|
127
114
|
version: 1.9.6
|
128
115
|
- !ruby/object:Gem::Dependency
|
129
116
|
name: win32-dir
|
130
117
|
requirement: !ruby/object:Gem::Requirement
|
131
|
-
none: false
|
132
118
|
requirements:
|
133
119
|
- - '='
|
134
120
|
- !ruby/object:Gem::Version
|
@@ -136,7 +122,6 @@ dependencies:
|
|
136
122
|
type: :runtime
|
137
123
|
prerelease: false
|
138
124
|
version_requirements: !ruby/object:Gem::Requirement
|
139
|
-
none: false
|
140
125
|
requirements:
|
141
126
|
- - '='
|
142
127
|
- !ruby/object:Gem::Version
|
@@ -144,7 +129,6 @@ dependencies:
|
|
144
129
|
- !ruby/object:Gem::Dependency
|
145
130
|
name: win32-eventlog
|
146
131
|
requirement: !ruby/object:Gem::Requirement
|
147
|
-
none: false
|
148
132
|
requirements:
|
149
133
|
- - '='
|
150
134
|
- !ruby/object:Gem::Version
|
@@ -152,7 +136,6 @@ dependencies:
|
|
152
136
|
type: :runtime
|
153
137
|
prerelease: false
|
154
138
|
version_requirements: !ruby/object:Gem::Requirement
|
155
|
-
none: false
|
156
139
|
requirements:
|
157
140
|
- - '='
|
158
141
|
- !ruby/object:Gem::Version
|
@@ -160,7 +143,6 @@ dependencies:
|
|
160
143
|
- !ruby/object:Gem::Dependency
|
161
144
|
name: win32-process
|
162
145
|
requirement: !ruby/object:Gem::Requirement
|
163
|
-
none: false
|
164
146
|
requirements:
|
165
147
|
- - '='
|
166
148
|
- !ruby/object:Gem::Version
|
@@ -168,7 +150,6 @@ dependencies:
|
|
168
150
|
type: :runtime
|
169
151
|
prerelease: false
|
170
152
|
version_requirements: !ruby/object:Gem::Requirement
|
171
|
-
none: false
|
172
153
|
requirements:
|
173
154
|
- - '='
|
174
155
|
- !ruby/object:Gem::Version
|
@@ -176,7 +157,6 @@ dependencies:
|
|
176
157
|
- !ruby/object:Gem::Dependency
|
177
158
|
name: win32-security
|
178
159
|
requirement: !ruby/object:Gem::Requirement
|
179
|
-
none: false
|
180
160
|
requirements:
|
181
161
|
- - '='
|
182
162
|
- !ruby/object:Gem::Version
|
@@ -184,7 +164,6 @@ dependencies:
|
|
184
164
|
type: :runtime
|
185
165
|
prerelease: false
|
186
166
|
version_requirements: !ruby/object:Gem::Requirement
|
187
|
-
none: false
|
188
167
|
requirements:
|
189
168
|
- - '='
|
190
169
|
- !ruby/object:Gem::Version
|
@@ -192,7 +171,6 @@ dependencies:
|
|
192
171
|
- !ruby/object:Gem::Dependency
|
193
172
|
name: win32-service
|
194
173
|
requirement: !ruby/object:Gem::Requirement
|
195
|
-
none: false
|
196
174
|
requirements:
|
197
175
|
- - '='
|
198
176
|
- !ruby/object:Gem::Version
|
@@ -200,7 +178,6 @@ dependencies:
|
|
200
178
|
type: :runtime
|
201
179
|
prerelease: false
|
202
180
|
version_requirements: !ruby/object:Gem::Requirement
|
203
|
-
none: false
|
204
181
|
requirements:
|
205
182
|
- - '='
|
206
183
|
- !ruby/object:Gem::Version
|
@@ -208,17 +185,15 @@ dependencies:
|
|
208
185
|
- !ruby/object:Gem::Dependency
|
209
186
|
name: minitar
|
210
187
|
requirement: !ruby/object:Gem::Requirement
|
211
|
-
none: false
|
212
188
|
requirements:
|
213
|
-
- - ~>
|
189
|
+
- - "~>"
|
214
190
|
- !ruby/object:Gem::Version
|
215
191
|
version: 0.6.1
|
216
192
|
type: :runtime
|
217
193
|
prerelease: false
|
218
194
|
version_requirements: !ruby/object:Gem::Requirement
|
219
|
-
none: false
|
220
195
|
requirements:
|
221
|
-
- - ~>
|
196
|
+
- - "~>"
|
222
197
|
- !ruby/object:Gem::Version
|
223
198
|
version: 0.6.1
|
224
199
|
description: Puppet, an automated configuration management tool
|
@@ -235,9 +210,154 @@ files:
|
|
235
210
|
- MAINTAINERS
|
236
211
|
- README.md
|
237
212
|
- Rakefile
|
238
|
-
- install.rb
|
239
213
|
- bin/extlookup2hiera
|
240
214
|
- bin/puppet
|
215
|
+
- conf/auth.conf
|
216
|
+
- conf/environment.conf
|
217
|
+
- conf/fileserver.conf
|
218
|
+
- conf/puppet.conf
|
219
|
+
- examples/hiera/README.md
|
220
|
+
- examples/hiera/etc/hiera.yaml
|
221
|
+
- examples/hiera/etc/hieradb/common.yaml
|
222
|
+
- examples/hiera/etc/hieradb/dc1.yaml
|
223
|
+
- examples/hiera/etc/hieradb/development.yaml
|
224
|
+
- examples/hiera/etc/puppet.conf
|
225
|
+
- examples/hiera/modules/data/manifests/common.pp
|
226
|
+
- examples/hiera/modules/ntp/manifests/config.pp
|
227
|
+
- examples/hiera/modules/ntp/manifests/data.pp
|
228
|
+
- examples/hiera/modules/ntp/templates/ntp.conf.erb
|
229
|
+
- examples/hiera/modules/users/manifests/common.pp
|
230
|
+
- examples/hiera/modules/users/manifests/dc1.pp
|
231
|
+
- examples/hiera/modules/users/manifests/development.pp
|
232
|
+
- examples/hiera/site.pp
|
233
|
+
- ext/README.environment
|
234
|
+
- ext/autotest/Rakefile
|
235
|
+
- ext/autotest/config
|
236
|
+
- ext/autotest/readme.rst
|
237
|
+
- ext/build_defaults.yaml
|
238
|
+
- ext/cert_inspector
|
239
|
+
- ext/dbfix.sql
|
240
|
+
- ext/debian/README.Debian
|
241
|
+
- ext/debian/README.source
|
242
|
+
- ext/debian/TODO.Debian
|
243
|
+
- ext/debian/changelog.erb
|
244
|
+
- ext/debian/compat
|
245
|
+
- ext/debian/control
|
246
|
+
- ext/debian/copyright
|
247
|
+
- ext/debian/docs
|
248
|
+
- ext/debian/fileserver.conf
|
249
|
+
- ext/debian/puppet-common.dirs
|
250
|
+
- ext/debian/puppet-common.install
|
251
|
+
- ext/debian/puppet-common.lintian-overrides
|
252
|
+
- ext/debian/puppet-common.manpages
|
253
|
+
- ext/debian/puppet-common.postinst
|
254
|
+
- ext/debian/puppet-common.postrm
|
255
|
+
- ext/debian/puppet-el.dirs
|
256
|
+
- ext/debian/puppet-el.emacsen-install
|
257
|
+
- ext/debian/puppet-el.emacsen-remove
|
258
|
+
- ext/debian/puppet-el.emacsen-startup
|
259
|
+
- ext/debian/puppet-el.install
|
260
|
+
- ext/debian/puppet-testsuite.install
|
261
|
+
- ext/debian/puppet-testsuite.lintian-overrides
|
262
|
+
- ext/debian/puppet.default
|
263
|
+
- ext/debian/puppet.init
|
264
|
+
- ext/debian/puppet.lintian-overrides
|
265
|
+
- ext/debian/puppet.logrotate
|
266
|
+
- ext/debian/puppet.postinst
|
267
|
+
- ext/debian/puppet.postrm
|
268
|
+
- ext/debian/puppet.preinst
|
269
|
+
- ext/debian/puppetmaster-common.install
|
270
|
+
- ext/debian/puppetmaster-common.manpages
|
271
|
+
- ext/debian/puppetmaster-common.postinst
|
272
|
+
- ext/debian/puppetmaster-passenger.dirs
|
273
|
+
- ext/debian/puppetmaster-passenger.postinst
|
274
|
+
- ext/debian/puppetmaster-passenger.postrm
|
275
|
+
- ext/debian/puppetmaster.README.debian
|
276
|
+
- ext/debian/puppetmaster.default
|
277
|
+
- ext/debian/puppetmaster.init
|
278
|
+
- ext/debian/puppetmaster.lintian-overrides
|
279
|
+
- ext/debian/puppetmaster.postinst
|
280
|
+
- ext/debian/puppetmaster.postrm
|
281
|
+
- ext/debian/puppetmaster.preinst
|
282
|
+
- ext/debian/rules
|
283
|
+
- ext/debian/source/format
|
284
|
+
- ext/debian/source/options
|
285
|
+
- ext/debian/vim-puppet.README.Debian
|
286
|
+
- ext/debian/vim-puppet.dirs
|
287
|
+
- ext/debian/vim-puppet.yaml
|
288
|
+
- ext/debian/watch
|
289
|
+
- ext/emacs/puppet-mode-init.el
|
290
|
+
- ext/emacs/puppet-mode.el
|
291
|
+
- ext/envpuppet
|
292
|
+
- ext/envpuppet.bat
|
293
|
+
- ext/freebsd/puppetd
|
294
|
+
- ext/freebsd/puppetmasterd
|
295
|
+
- ext/gentoo/conf.d/puppet
|
296
|
+
- ext/gentoo/conf.d/puppetmaster
|
297
|
+
- ext/gentoo/init.d/puppet
|
298
|
+
- ext/gentoo/init.d/puppetmaster
|
299
|
+
- ext/gentoo/puppet/fileserver.conf
|
300
|
+
- ext/ips/puppet-agent
|
301
|
+
- ext/ips/puppet-master
|
302
|
+
- ext/ips/puppet.p5m.erb
|
303
|
+
- ext/ips/puppetagent.xml
|
304
|
+
- ext/ips/puppetmaster.xml
|
305
|
+
- ext/ips/rules
|
306
|
+
- ext/ips/transforms
|
307
|
+
- ext/ldap/puppet.schema
|
308
|
+
- ext/logcheck/puppet
|
309
|
+
- ext/nagios/check_puppet.rb
|
310
|
+
- ext/osx/file_mapping.yaml
|
311
|
+
- ext/osx/postflight.erb
|
312
|
+
- ext/osx/preflight.erb
|
313
|
+
- ext/osx/prototype.plist.erb
|
314
|
+
- ext/osx/puppet.plist
|
315
|
+
- ext/project_data.yaml
|
316
|
+
- ext/puppet-test
|
317
|
+
- ext/pure_ruby_dsl/dsl_test.rb
|
318
|
+
- ext/rack/config.ru
|
319
|
+
- ext/rack/example-passenger-vhost.conf
|
320
|
+
- ext/redhat/client.init
|
321
|
+
- ext/redhat/client.sysconfig
|
322
|
+
- ext/redhat/fileserver.conf
|
323
|
+
- ext/redhat/logrotate
|
324
|
+
- ext/redhat/puppet.spec.erb
|
325
|
+
- ext/redhat/server.init
|
326
|
+
- ext/redhat/server.sysconfig
|
327
|
+
- ext/regexp_nodes/classes/databases
|
328
|
+
- ext/regexp_nodes/classes/webservers
|
329
|
+
- ext/regexp_nodes/environment/development
|
330
|
+
- ext/regexp_nodes/parameters/service/prod
|
331
|
+
- ext/regexp_nodes/parameters/service/qa
|
332
|
+
- ext/regexp_nodes/parameters/service/sandbox
|
333
|
+
- ext/regexp_nodes/regexp_nodes.rb
|
334
|
+
- ext/solaris/pkginfo
|
335
|
+
- ext/solaris/smf/puppet
|
336
|
+
- ext/solaris/smf/puppet.xml
|
337
|
+
- ext/solaris/smf/puppetd.xml
|
338
|
+
- ext/solaris/smf/puppetmasterd.xml
|
339
|
+
- ext/solaris/smf/svc-puppetd
|
340
|
+
- ext/solaris/smf/svc-puppetmasterd
|
341
|
+
- ext/suse/client.init
|
342
|
+
- ext/suse/puppet.spec
|
343
|
+
- ext/suse/server.init
|
344
|
+
- ext/systemd/puppet.service
|
345
|
+
- ext/upload_facts.rb
|
346
|
+
- ext/vim/README
|
347
|
+
- ext/vim/ftdetect/puppet.vim
|
348
|
+
- ext/vim/ftplugin/puppet.vim
|
349
|
+
- ext/vim/indent/puppet.vim
|
350
|
+
- ext/vim/syntax/puppet.vim
|
351
|
+
- ext/windows/eventlog/Rakefile
|
352
|
+
- ext/windows/eventlog/puppetres.dll
|
353
|
+
- ext/windows/eventlog/puppetres.mc
|
354
|
+
- ext/windows/puppet_interactive.bat
|
355
|
+
- ext/windows/puppet_shell.bat
|
356
|
+
- ext/windows/run_puppet_interactive.bat
|
357
|
+
- ext/windows/service/daemon.bat
|
358
|
+
- ext/windows/service/daemon.rb
|
359
|
+
- ext/yaml_nodes.rb
|
360
|
+
- install.rb
|
241
361
|
- lib/hiera/puppet_function.rb
|
242
362
|
- lib/hiera/scope.rb
|
243
363
|
- lib/hiera_puppet.rb
|
@@ -1509,10 +1629,8 @@ files:
|
|
1509
1629
|
- lib/puppet/version.rb
|
1510
1630
|
- lib/puppet_x.rb
|
1511
1631
|
- lib/semver.rb
|
1512
|
-
-
|
1513
|
-
-
|
1514
|
-
- conf/fileserver.conf
|
1515
|
-
- conf/puppet.conf
|
1632
|
+
- locales/config.yaml
|
1633
|
+
- locales/puppet.pot
|
1516
1634
|
- man/man5/puppet.conf.5
|
1517
1635
|
- man/man8/extlookup2hiera.8
|
1518
1636
|
- man/man8/puppet-agent.8
|
@@ -1545,155 +1663,6 @@ files:
|
|
1545
1663
|
- man/man8/puppet-resource_type.8
|
1546
1664
|
- man/man8/puppet-status.8
|
1547
1665
|
- man/man8/puppet.8
|
1548
|
-
- examples/hiera/README.md
|
1549
|
-
- examples/hiera/etc/hiera.yaml
|
1550
|
-
- examples/hiera/etc/hieradb/common.yaml
|
1551
|
-
- examples/hiera/etc/hieradb/dc1.yaml
|
1552
|
-
- examples/hiera/etc/hieradb/development.yaml
|
1553
|
-
- examples/hiera/etc/puppet.conf
|
1554
|
-
- examples/hiera/modules/data/manifests/common.pp
|
1555
|
-
- examples/hiera/modules/ntp/manifests/config.pp
|
1556
|
-
- examples/hiera/modules/ntp/manifests/data.pp
|
1557
|
-
- examples/hiera/modules/ntp/templates/ntp.conf.erb
|
1558
|
-
- examples/hiera/modules/users/manifests/common.pp
|
1559
|
-
- examples/hiera/modules/users/manifests/dc1.pp
|
1560
|
-
- examples/hiera/modules/users/manifests/development.pp
|
1561
|
-
- examples/hiera/site.pp
|
1562
|
-
- ext/README.environment
|
1563
|
-
- ext/autotest/Rakefile
|
1564
|
-
- ext/autotest/config
|
1565
|
-
- ext/autotest/readme.rst
|
1566
|
-
- ext/build_defaults.yaml
|
1567
|
-
- ext/cert_inspector
|
1568
|
-
- ext/dbfix.sql
|
1569
|
-
- ext/debian/README.Debian
|
1570
|
-
- ext/debian/README.source
|
1571
|
-
- ext/debian/TODO.Debian
|
1572
|
-
- ext/debian/changelog.erb
|
1573
|
-
- ext/debian/compat
|
1574
|
-
- ext/debian/control
|
1575
|
-
- ext/debian/copyright
|
1576
|
-
- ext/debian/docs
|
1577
|
-
- ext/debian/fileserver.conf
|
1578
|
-
- ext/debian/puppet-common.dirs
|
1579
|
-
- ext/debian/puppet-common.install
|
1580
|
-
- ext/debian/puppet-common.lintian-overrides
|
1581
|
-
- ext/debian/puppet-common.manpages
|
1582
|
-
- ext/debian/puppet-common.postinst
|
1583
|
-
- ext/debian/puppet-common.postrm
|
1584
|
-
- ext/debian/puppet-el.dirs
|
1585
|
-
- ext/debian/puppet-el.emacsen-install
|
1586
|
-
- ext/debian/puppet-el.emacsen-remove
|
1587
|
-
- ext/debian/puppet-el.emacsen-startup
|
1588
|
-
- ext/debian/puppet-el.install
|
1589
|
-
- ext/debian/puppet-testsuite.install
|
1590
|
-
- ext/debian/puppet-testsuite.lintian-overrides
|
1591
|
-
- ext/debian/puppet.default
|
1592
|
-
- ext/debian/puppet.init
|
1593
|
-
- ext/debian/puppet.lintian-overrides
|
1594
|
-
- ext/debian/puppet.logrotate
|
1595
|
-
- ext/debian/puppet.postinst
|
1596
|
-
- ext/debian/puppet.postrm
|
1597
|
-
- ext/debian/puppet.preinst
|
1598
|
-
- ext/debian/puppetmaster-common.install
|
1599
|
-
- ext/debian/puppetmaster-common.manpages
|
1600
|
-
- ext/debian/puppetmaster-common.postinst
|
1601
|
-
- ext/debian/puppetmaster-passenger.dirs
|
1602
|
-
- ext/debian/puppetmaster-passenger.postinst
|
1603
|
-
- ext/debian/puppetmaster-passenger.postrm
|
1604
|
-
- ext/debian/puppetmaster.README.debian
|
1605
|
-
- ext/debian/puppetmaster.default
|
1606
|
-
- ext/debian/puppetmaster.init
|
1607
|
-
- ext/debian/puppetmaster.lintian-overrides
|
1608
|
-
- ext/debian/puppetmaster.postinst
|
1609
|
-
- ext/debian/puppetmaster.postrm
|
1610
|
-
- ext/debian/puppetmaster.preinst
|
1611
|
-
- ext/debian/rules
|
1612
|
-
- ext/debian/source/format
|
1613
|
-
- ext/debian/source/options
|
1614
|
-
- ext/debian/vim-puppet.README.Debian
|
1615
|
-
- ext/debian/vim-puppet.dirs
|
1616
|
-
- ext/debian/vim-puppet.yaml
|
1617
|
-
- ext/debian/watch
|
1618
|
-
- ext/emacs/puppet-mode-init.el
|
1619
|
-
- ext/emacs/puppet-mode.el
|
1620
|
-
- ext/envpuppet
|
1621
|
-
- ext/envpuppet.bat
|
1622
|
-
- ext/freebsd/puppetd
|
1623
|
-
- ext/freebsd/puppetmasterd
|
1624
|
-
- ext/gentoo/conf.d/puppet
|
1625
|
-
- ext/gentoo/conf.d/puppetmaster
|
1626
|
-
- ext/gentoo/init.d/puppet
|
1627
|
-
- ext/gentoo/init.d/puppetmaster
|
1628
|
-
- ext/gentoo/puppet/fileserver.conf
|
1629
|
-
- ext/ips/puppet-agent
|
1630
|
-
- ext/ips/puppet-master
|
1631
|
-
- ext/ips/puppet.p5m.erb
|
1632
|
-
- ext/ips/puppetagent.xml
|
1633
|
-
- ext/ips/puppetmaster.xml
|
1634
|
-
- ext/ips/rules
|
1635
|
-
- ext/ips/transforms
|
1636
|
-
- ext/ldap/puppet.schema
|
1637
|
-
- ext/logcheck/puppet
|
1638
|
-
- ext/nagios/check_puppet.rb
|
1639
|
-
- ext/osx/file_mapping.yaml
|
1640
|
-
- ext/osx/postflight.erb
|
1641
|
-
- ext/osx/preflight.erb
|
1642
|
-
- ext/osx/prototype.plist.erb
|
1643
|
-
- ext/osx/puppet.plist
|
1644
|
-
- ext/project_data.yaml
|
1645
|
-
- ext/puppet-test
|
1646
|
-
- ext/pure_ruby_dsl/dsl_test.rb
|
1647
|
-
- ext/rack/config.ru
|
1648
|
-
- ext/rack/example-passenger-vhost.conf
|
1649
|
-
- ext/redhat/client.init
|
1650
|
-
- ext/redhat/client.sysconfig
|
1651
|
-
- ext/redhat/fileserver.conf
|
1652
|
-
- ext/redhat/logrotate
|
1653
|
-
- ext/redhat/puppet.spec.erb
|
1654
|
-
- ext/redhat/server.init
|
1655
|
-
- ext/redhat/server.sysconfig
|
1656
|
-
- ext/regexp_nodes/classes/databases
|
1657
|
-
- ext/regexp_nodes/classes/webservers
|
1658
|
-
- ext/regexp_nodes/environment/development
|
1659
|
-
- ext/regexp_nodes/parameters/service/prod
|
1660
|
-
- ext/regexp_nodes/parameters/service/qa
|
1661
|
-
- ext/regexp_nodes/parameters/service/sandbox
|
1662
|
-
- ext/regexp_nodes/regexp_nodes.rb
|
1663
|
-
- ext/solaris/pkginfo
|
1664
|
-
- ext/solaris/smf/puppet
|
1665
|
-
- ext/solaris/smf/puppet.xml
|
1666
|
-
- ext/solaris/smf/puppetd.xml
|
1667
|
-
- ext/solaris/smf/puppetmasterd.xml
|
1668
|
-
- ext/solaris/smf/svc-puppetd
|
1669
|
-
- ext/solaris/smf/svc-puppetmasterd
|
1670
|
-
- ext/suse/client.init
|
1671
|
-
- ext/suse/puppet.spec
|
1672
|
-
- ext/suse/server.init
|
1673
|
-
- ext/systemd/puppet.service
|
1674
|
-
- ext/upload_facts.rb
|
1675
|
-
- ext/vim/README
|
1676
|
-
- ext/vim/ftdetect/puppet.vim
|
1677
|
-
- ext/vim/ftplugin/puppet.vim
|
1678
|
-
- ext/vim/indent/puppet.vim
|
1679
|
-
- ext/vim/syntax/puppet.vim
|
1680
|
-
- ext/windows/eventlog/Rakefile
|
1681
|
-
- ext/windows/eventlog/puppetres.dll
|
1682
|
-
- ext/windows/eventlog/puppetres.mc
|
1683
|
-
- ext/windows/puppet_interactive.bat
|
1684
|
-
- ext/windows/puppet_shell.bat
|
1685
|
-
- ext/windows/run_puppet_interactive.bat
|
1686
|
-
- ext/windows/service/daemon.bat
|
1687
|
-
- ext/windows/service/daemon.rb
|
1688
|
-
- ext/yaml_nodes.rb
|
1689
|
-
- tasks/benchmark.rake
|
1690
|
-
- tasks/cfpropertylist.rake
|
1691
|
-
- tasks/ci.rake
|
1692
|
-
- tasks/manpages.rake
|
1693
|
-
- tasks/memwalk.rake
|
1694
|
-
- tasks/parallel.rake
|
1695
|
-
- tasks/parser.rake
|
1696
|
-
- tasks/yard.rake
|
1697
1666
|
- spec/fixtures/faulty_face/puppet/face/syntax.rb
|
1698
1667
|
- spec/fixtures/hiera.yaml
|
1699
1668
|
- spec/fixtures/integration/node/environment/sitedir/00_a.pp
|
@@ -2325,6 +2294,7 @@ files:
|
|
2325
2294
|
- spec/unit/file_system/uniquefile_spec.rb
|
2326
2295
|
- spec/unit/file_system_spec.rb
|
2327
2296
|
- spec/unit/forge/errors_spec.rb
|
2297
|
+
- spec/unit/forge/forge_spec.rb
|
2328
2298
|
- spec/unit/forge/module_release_spec.rb
|
2329
2299
|
- spec/unit/forge/repository_spec.rb
|
2330
2300
|
- spec/unit/forge_spec.rb
|
@@ -2944,36 +2914,41 @@ files:
|
|
2944
2914
|
- spec/unit/util_spec.rb
|
2945
2915
|
- spec/unit/version_spec.rb
|
2946
2916
|
- spec/watchr.rb
|
2947
|
-
-
|
2948
|
-
-
|
2917
|
+
- tasks/benchmark.rake
|
2918
|
+
- tasks/cfpropertylist.rake
|
2919
|
+
- tasks/ci.rake
|
2920
|
+
- tasks/manpages.rake
|
2921
|
+
- tasks/memwalk.rake
|
2922
|
+
- tasks/parallel.rake
|
2923
|
+
- tasks/parser.rake
|
2924
|
+
- tasks/yard.rake
|
2949
2925
|
homepage: https://github.com/puppetlabs/puppet
|
2950
2926
|
licenses: []
|
2927
|
+
metadata: {}
|
2951
2928
|
post_install_message:
|
2952
2929
|
rdoc_options:
|
2953
|
-
- --title
|
2930
|
+
- "--title"
|
2954
2931
|
- Puppet - Configuration Management
|
2955
|
-
- --main
|
2932
|
+
- "--main"
|
2956
2933
|
- README.md
|
2957
|
-
- --line-numbers
|
2934
|
+
- "--line-numbers"
|
2958
2935
|
require_paths:
|
2959
2936
|
- lib
|
2960
2937
|
required_ruby_version: !ruby/object:Gem::Requirement
|
2961
|
-
none: false
|
2962
2938
|
requirements:
|
2963
|
-
- -
|
2939
|
+
- - ">="
|
2964
2940
|
- !ruby/object:Gem::Version
|
2965
2941
|
version: 1.9.3
|
2966
2942
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
2967
|
-
none: false
|
2968
2943
|
requirements:
|
2969
|
-
- -
|
2944
|
+
- - ">"
|
2970
2945
|
- !ruby/object:Gem::Version
|
2971
2946
|
version: 1.3.1
|
2972
2947
|
requirements: []
|
2973
2948
|
rubyforge_project: puppet
|
2974
|
-
rubygems_version:
|
2949
|
+
rubygems_version: 2.4.8
|
2975
2950
|
signing_key:
|
2976
|
-
specification_version:
|
2951
|
+
specification_version: 4
|
2977
2952
|
summary: Puppet, an automated configuration management tool
|
2978
2953
|
test_files:
|
2979
2954
|
- spec/fixtures/faulty_face/puppet/face/syntax.rb
|
@@ -3607,6 +3582,7 @@ test_files:
|
|
3607
3582
|
- spec/unit/file_system/uniquefile_spec.rb
|
3608
3583
|
- spec/unit/file_system_spec.rb
|
3609
3584
|
- spec/unit/forge/errors_spec.rb
|
3585
|
+
- spec/unit/forge/forge_spec.rb
|
3610
3586
|
- spec/unit/forge/module_release_spec.rb
|
3611
3587
|
- spec/unit/forge/repository_spec.rb
|
3612
3588
|
- spec/unit/forge_spec.rb
|