puppet 5.5.21 → 5.5.22
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 +4 -4
- data/Gemfile +2 -2
- data/Gemfile.lock +13 -14
- data/lib/puppet/configurer.rb +20 -3
- data/lib/puppet/configurer/downloader.rb +31 -10
- data/lib/puppet/defaults.rb +7 -1
- data/lib/puppet/file_serving/mount/locales.rb +1 -2
- data/lib/puppet/file_serving/mount/pluginfacts.rb +1 -2
- data/lib/puppet/file_serving/mount/plugins.rb +1 -2
- data/lib/puppet/functions/new.rb +8 -3
- data/lib/puppet/functions/reverse_each.rb +1 -1
- data/lib/puppet/functions/step.rb +1 -1
- data/lib/puppet/indirector/hiera.rb +4 -0
- data/lib/puppet/node/environment.rb +7 -1
- data/lib/puppet/parser/functions.rb +13 -9
- data/lib/puppet/pops/adaptable.rb +7 -13
- data/lib/puppet/pops/adapters.rb +8 -4
- data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -3
- data/lib/puppet/pops/types/iterable.rb +34 -8
- data/lib/puppet/pops/types/p_meta_type.rb +1 -1
- data/lib/puppet/pops/types/p_type_set_type.rb +4 -0
- data/lib/puppet/pops/validation/checker4_0.rb +19 -15
- data/lib/puppet/provider/package/gem.rb +4 -2
- data/lib/puppet/provider/package/puppet_gem.rb +5 -0
- data/lib/puppet/provider/package/yum.rb +1 -0
- data/lib/puppet/resource/type.rb +2 -1
- data/lib/puppet/test/test_helper.rb +5 -2
- data/lib/puppet/util.rb +13 -12
- data/lib/puppet/util/autoload.rb +9 -7
- data/lib/puppet/version.rb +1 -1
- data/locales/puppet.pot +33 -29
- data/man/man5/puppet.conf.5 +10 -2
- data/man/man8/puppet-agent.8 +1 -1
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-ca.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-cert.8 +1 -1
- data/man/man8/puppet-certificate.8 +1 -1
- data/man/man8/puppet-certificate_request.8 +1 -1
- data/man/man8/puppet-certificate_revocation_list.8 +1 -1
- data/man/man8/puppet-config.8 +1 -1
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +1 -1
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +1 -1
- data/man/man8/puppet-filebucket.8 +1 -1
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-key.8 +1 -1
- data/man/man8/puppet-lookup.8 +1 -1
- data/man/man8/puppet-man.8 +1 -1
- data/man/man8/puppet-master.8 +1 -1
- data/man/man8/puppet-module.8 +1 -1
- data/man/man8/puppet-node.8 +1 -1
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +1 -1
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-status.8 +1 -1
- data/man/man8/puppet.8 +2 -2
- data/spec/integration/configurer_spec.rb +14 -0
- data/spec/integration/data_binding_spec.rb +1 -0
- data/spec/integration/faces/plugin_spec.rb +29 -47
- data/spec/shared_contexts/types_setup.rb +2 -0
- data/spec/unit/configurer/downloader_spec.rb +10 -0
- data/spec/unit/configurer_spec.rb +65 -30
- data/spec/unit/file_serving/mount/locales_spec.rb +2 -2
- data/spec/unit/file_serving/mount/pluginfacts_spec.rb +2 -2
- data/spec/unit/file_serving/mount/plugins_spec.rb +2 -2
- data/spec/unit/provider/package/puppet_gem_spec.rb +4 -1
- data/spec/unit/provider/package/yum_spec.rb +31 -0
- data/spec/unit/ssl/host_spec.rb +2 -0
- metadata +2 -2
data/lib/puppet/pops/adapters.rb
CHANGED
@@ -85,6 +85,13 @@ module Adapters
|
|
85
85
|
|
86
86
|
class PathsAndNameCacheAdapter < Puppet::Pops::Adaptable::Adapter
|
87
87
|
attr_accessor :cache, :paths
|
88
|
+
|
89
|
+
def self.create_adapter(env)
|
90
|
+
adapter = super(env)
|
91
|
+
adapter.paths = env.modulepath.map { |p| Pathname.new(p) }
|
92
|
+
adapter.cache = {}
|
93
|
+
adapter
|
94
|
+
end
|
88
95
|
end
|
89
96
|
|
90
97
|
# Attempts to find the module that `instance` originates from by looking at it's {SourcePosAdapter} and
|
@@ -103,10 +110,7 @@ module Adapters
|
|
103
110
|
def self.loader_name_by_source(environment, instance, file)
|
104
111
|
file = instance.file if file.nil?
|
105
112
|
return nil if file.nil? || EMPTY_STRING == file
|
106
|
-
pn_adapter = PathsAndNameCacheAdapter.adapt(environment)
|
107
|
-
a.paths ||= environment.modulepath.map { |p| Pathname.new(p) }
|
108
|
-
a.cache ||= {}
|
109
|
-
end
|
113
|
+
pn_adapter = PathsAndNameCacheAdapter.adapt(environment)
|
110
114
|
dir = File.dirname(file)
|
111
115
|
pn_adapter.cache.fetch(dir) do |key|
|
112
116
|
mod = find_module_for_dir(environment, pn_adapter.paths, dir)
|
@@ -45,9 +45,7 @@ class Puppet::Pops::Evaluator::Collectors::AbstractCollector
|
|
45
45
|
return false if objects.empty?
|
46
46
|
|
47
47
|
if @overrides and !objects.empty?
|
48
|
-
overrides[:source].
|
49
|
-
true
|
50
|
-
end
|
48
|
+
overrides[:source].override = true
|
51
49
|
|
52
50
|
objects.each do |res|
|
53
51
|
unless @collected.include?(res.ref)
|
@@ -23,13 +23,16 @@ module Puppet::Pops::Types
|
|
23
23
|
#
|
24
24
|
# An `ArgumentError` is raised for all other objects.
|
25
25
|
#
|
26
|
-
# @param
|
26
|
+
# @param my_caller [Object] The calling object to reference in errors
|
27
|
+
# @param obj [Object] The object to produce an `Iterable` for
|
28
|
+
# @param infer_elements [Boolean] Whether or not to recursively infer all elements of obj. Optional
|
29
|
+
#
|
27
30
|
# @return [Iterable,nil] The produced `Iterable`
|
28
31
|
# @raise [ArgumentError] In case an `Iterable` cannot be produced
|
29
32
|
# @api public
|
30
|
-
def self.asserted_iterable(
|
31
|
-
iter = self.on(obj)
|
32
|
-
raise ArgumentError, "#{
|
33
|
+
def self.asserted_iterable(my_caller, obj, infer_elements = false)
|
34
|
+
iter = self.on(obj, nil, infer_elements)
|
35
|
+
raise ArgumentError, "#{my_caller.class}(): wrong argument type (#{obj.class}; is not Iterable." if iter.nil?
|
33
36
|
iter
|
34
37
|
end
|
35
38
|
|
@@ -48,11 +51,14 @@ module Puppet::Pops::Types
|
|
48
51
|
# The value `nil` is returned for all other objects.
|
49
52
|
#
|
50
53
|
# @param o [Object] The object to produce an `Iterable` for
|
51
|
-
# @param element_type [PAnyType] the element type for the iterator. Optional
|
54
|
+
# @param element_type [PAnyType] the element type for the iterator. Optional
|
55
|
+
# @param infer_elements [Boolean] if element_type is nil, whether or not to recursively
|
56
|
+
# infer types for the entire collection. Optional
|
57
|
+
#
|
52
58
|
# @return [Iterable,nil] The produced `Iterable` or `nil` if it couldn't be produced
|
53
59
|
#
|
54
60
|
# @api public
|
55
|
-
def self.on(o, element_type = nil)
|
61
|
+
def self.on(o, element_type = nil, infer_elements = true)
|
56
62
|
case o
|
57
63
|
when IteratorProducer
|
58
64
|
o.iterator
|
@@ -64,7 +70,7 @@ module Puppet::Pops::Types
|
|
64
70
|
if o.empty?
|
65
71
|
Iterator.new(PUnitType::DEFAULT, o.each)
|
66
72
|
else
|
67
|
-
if element_type.nil?
|
73
|
+
if element_type.nil? && infer_elements
|
68
74
|
tc = TypeCalculator.singleton
|
69
75
|
element_type = PVariantType.maybe_create(o.map {|e| tc.infer_set(e) })
|
70
76
|
end
|
@@ -75,7 +81,7 @@ module Puppet::Pops::Types
|
|
75
81
|
if o.empty?
|
76
82
|
HashIterator.new(PHashType::DEFAULT_KEY_PAIR_TUPLE, o.each)
|
77
83
|
else
|
78
|
-
if element_type.nil?
|
84
|
+
if element_type.nil? && infer_elements
|
79
85
|
tc = TypeCalculator.singleton
|
80
86
|
element_type = PTupleType.new([
|
81
87
|
PVariantType.maybe_create(o.keys.map {|e| tc.infer_set(e) }),
|
@@ -202,6 +208,26 @@ module Puppet::Pops::Types
|
|
202
208
|
@enumeration.send(name, *arguments, &block)
|
203
209
|
end
|
204
210
|
|
211
|
+
def next
|
212
|
+
@enumeration.next
|
213
|
+
end
|
214
|
+
|
215
|
+
def map(*args, &block)
|
216
|
+
@enumeration.map(*args, &block)
|
217
|
+
end
|
218
|
+
|
219
|
+
def reduce(*args, &block)
|
220
|
+
@enumeration.reduce(*args, &block)
|
221
|
+
end
|
222
|
+
|
223
|
+
def all?(&block)
|
224
|
+
@enumeration.all?(&block)
|
225
|
+
end
|
226
|
+
|
227
|
+
def any?(&block)
|
228
|
+
@enumeration.any?(&block)
|
229
|
+
end
|
230
|
+
|
205
231
|
def step(step, &block)
|
206
232
|
raise ArgumentError if step <= 0
|
207
233
|
r = self
|
@@ -22,7 +22,7 @@ class PMetaType < PAnyType
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def instance?(o, guard = nil)
|
25
|
-
|
25
|
+
raise NotImplementedError, "Subclass of PMetaType should implement 'instance?'"
|
26
26
|
end
|
27
27
|
|
28
28
|
# Called from the TypeParser once it has found a type using the Loader. The TypeParser will
|
@@ -349,6 +349,10 @@ class PTypeSetType < PMetaType
|
|
349
349
|
self.class == o.class && @name_authority == o.name_authority && @name == o.name && @version == o.version
|
350
350
|
end
|
351
351
|
|
352
|
+
def instance?(o, guard = nil)
|
353
|
+
o.is_a?(PTypeSetType)
|
354
|
+
end
|
355
|
+
|
352
356
|
DEFAULT = self.new({
|
353
357
|
KEY_NAME => 'DefaultTypeSet',
|
354
358
|
KEY_NAME_AUTHORITY => Pcore::RUNTIME_NAME_AUTHORITY,
|
@@ -581,36 +581,40 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
581
581
|
# @api private
|
582
582
|
class Puppet::Util::FileNamespaceAdapter < Puppet::Pops::Adaptable::Adapter
|
583
583
|
attr_accessor :file_to_namespace
|
584
|
+
|
585
|
+
def self.create_adapter(env)
|
586
|
+
adapter = super(env)
|
587
|
+
adapter.file_to_namespace = {}
|
588
|
+
adapter
|
589
|
+
end
|
584
590
|
end
|
585
591
|
|
586
592
|
def namespace_for_file(file)
|
587
593
|
env = Puppet.lookup(:current_environment)
|
588
594
|
return NO_NAMESPACE if env.nil?
|
589
595
|
|
590
|
-
Puppet::Util::FileNamespaceAdapter.adapt(env)
|
591
|
-
adapter.file_to_namespace ||= {}
|
596
|
+
adapter = Puppet::Util::FileNamespaceAdapter.adapt(env)
|
592
597
|
|
593
|
-
|
594
|
-
|
598
|
+
file_namespace = adapter.file_to_namespace[file]
|
599
|
+
return file_namespace unless file_namespace.nil? # No cache entry, so we do the calculation
|
595
600
|
|
596
|
-
|
601
|
+
path = Pathname.new(file)
|
597
602
|
|
598
|
-
|
603
|
+
return adapter.file_to_namespace[file] = NO_NAMESPACE if path.extname != ".pp"
|
599
604
|
|
600
|
-
|
605
|
+
path = path.expand_path
|
601
606
|
|
602
|
-
|
607
|
+
return adapter.file_to_namespace[file] = NO_NAMESPACE if initial_manifest?(path, env.manifest)
|
603
608
|
|
604
|
-
|
605
|
-
|
609
|
+
#All auto-loaded files from modules come from a module search path dir
|
610
|
+
relative_path = get_module_relative_path(path, env.full_modulepath)
|
606
611
|
|
607
|
-
|
612
|
+
return adapter.file_to_namespace[file] = NO_NAMESPACE if relative_path == NO_PATH
|
608
613
|
|
609
|
-
|
610
|
-
|
614
|
+
#If a file comes from a module, but isn't in the right place, always error
|
615
|
+
names = dir_to_names(relative_path)
|
611
616
|
|
612
|
-
|
613
|
-
end
|
617
|
+
return adapter.file_to_namespace[file] = (names == BAD_MODULE_FILE ? BAD_MODULE_FILE : names.join("::").freeze)
|
614
618
|
end
|
615
619
|
|
616
620
|
def initial_manifest?(path, manifest_setting)
|
@@ -48,11 +48,13 @@ Puppet::Type.type(:package).provide :gem, :parent => Puppet::Provider::Package::
|
|
48
48
|
#
|
49
49
|
# In this case, causing the puppet_gem provider to inherit the parent gem provider's convenience gemcmd() methods, with the wrong path.
|
50
50
|
|
51
|
-
def self.execute_gem_command(command, command_options)
|
51
|
+
def self.execute_gem_command(command, command_options, custom_environment = {})
|
52
52
|
validate_command(command)
|
53
53
|
cmd = [command] << command_options
|
54
54
|
|
55
|
-
|
55
|
+
custom_environment = {'HOME'=>Puppet::Util.get_env('HOME')}.merge(custom_environment)
|
56
|
+
|
57
|
+
execute(cmd, {:failonfail => true, :combine => true, :custom_environment => custom_environment})
|
56
58
|
end
|
57
59
|
|
58
60
|
def self.instances(target_command = nil)
|
@@ -14,4 +14,9 @@ Puppet::Type.type(:package).provide :puppet_gem, :parent => :gem do
|
|
14
14
|
else
|
15
15
|
commands :gemcmd => "/opt/puppetlabs/puppet/bin/gem"
|
16
16
|
end
|
17
|
+
|
18
|
+
def self.execute_gem_command(command, command_options, custom_environment = {})
|
19
|
+
custom_environment['PKG_CONFIG_PATH'] = '/opt/puppetlabs/puppet/lib/pkgconfig' unless Puppet::Util::Platform.windows?
|
20
|
+
super(command, command_options, custom_environment)
|
21
|
+
end
|
17
22
|
end
|
@@ -251,6 +251,7 @@ Puppet::Type.type(:package).provide :yum, :parent => :rpm, :source => :rpm do
|
|
251
251
|
return "#{upd[:epoch]}:#{upd[:version]}-#{upd[:release]}"
|
252
252
|
else
|
253
253
|
# Yum didn't find updates, pretend the current version is the latest
|
254
|
+
self.debug "Yum didn't find updates, current version (#{properties[:ensure]}) is the latest"
|
254
255
|
version = properties[:ensure]
|
255
256
|
raise Puppet::DevError, _("Tried to get latest on a missing package") if version == :absent || version == :purged
|
256
257
|
return version
|
data/lib/puppet/resource/type.rb
CHANGED
@@ -34,7 +34,7 @@ class Puppet::Resource::Type
|
|
34
34
|
DOUBLE_COLON = '::'.freeze
|
35
35
|
EMPTY_ARRAY = [].freeze
|
36
36
|
|
37
|
-
attr_accessor :file, :line, :doc, :code, :parent, :resource_type_collection
|
37
|
+
attr_accessor :file, :line, :doc, :code, :parent, :resource_type_collection, :override
|
38
38
|
attr_reader :namespace, :arguments, :behaves_like, :module_name
|
39
39
|
|
40
40
|
# The attributes 'produces' and 'consumes' are arrays of the blueprints
|
@@ -63,6 +63,7 @@ class Puppet::Resource::Type
|
|
63
63
|
# Are we a child of the passed class? Do a recursive search up our
|
64
64
|
# parentage tree to figure it out.
|
65
65
|
def child_of?(klass)
|
66
|
+
return true if override
|
66
67
|
return false unless parent
|
67
68
|
|
68
69
|
return(klass == parent_type ? true : parent_type.child_of?(klass))
|
@@ -120,8 +120,11 @@ module Puppet::Test
|
|
120
120
|
indirections = Puppet::Indirector::Indirection.send(:class_variable_get, :@@indirections)
|
121
121
|
indirections.each do |indirector|
|
122
122
|
$saved_indirection_state[indirector.name] = {
|
123
|
-
|
124
|
-
|
123
|
+
:@terminus_class => indirector.instance_variable_get(:@terminus_class),
|
124
|
+
:@cache_class => indirector.instance_variable_get(:@cache_class),
|
125
|
+
# dup the termini hash so termini created and registered during
|
126
|
+
# the test aren't stored in our saved_indirection_state
|
127
|
+
:@termini => indirector.instance_variable_get(:@termini).dup
|
125
128
|
}
|
126
129
|
end
|
127
130
|
|
data/lib/puppet/util.rb
CHANGED
@@ -27,20 +27,21 @@ module Util
|
|
27
27
|
|
28
28
|
extend Puppet::Util::SymbolicFileMode
|
29
29
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
30
|
+
def default_env
|
31
|
+
Puppet.features.microsoft_windows? ?
|
32
|
+
:windows :
|
33
|
+
:posix
|
34
|
+
end
|
35
|
+
module_function :default_env
|
35
36
|
|
36
37
|
# @param name [String] The name of the environment variable to retrieve
|
37
38
|
# @param mode [Symbol] Which operating system mode to use e.g. :posix or :windows. Use nil to autodetect
|
38
39
|
# @return [String] Value of the specified environment variable. nil if it does not exist
|
39
40
|
# @api private
|
40
|
-
def get_env(name, mode =
|
41
|
+
def get_env(name, mode = default_env)
|
41
42
|
if mode == :windows
|
42
|
-
Puppet::Util::Windows::Process.get_environment_strings.
|
43
|
-
if name.casecmp(key) == 0
|
43
|
+
Puppet::Util::Windows::Process.get_environment_strings.each do |key, value |
|
44
|
+
if name.casecmp(key) == 0 then
|
44
45
|
return value
|
45
46
|
end
|
46
47
|
end
|
@@ -54,7 +55,7 @@ module Util
|
|
54
55
|
# @param mode [Symbol] Which operating system mode to use e.g. :posix or :windows. Use nil to autodetect
|
55
56
|
# @return [Hash] A hashtable of all environment variables
|
56
57
|
# @api private
|
57
|
-
def get_environment(mode =
|
58
|
+
def get_environment(mode = default_env)
|
58
59
|
case mode
|
59
60
|
when :posix
|
60
61
|
ENV.to_hash
|
@@ -69,7 +70,7 @@ module Util
|
|
69
70
|
# Removes all environment variables
|
70
71
|
# @param mode [Symbol] Which operating system mode to use e.g. :posix or :windows. Use nil to autodetect
|
71
72
|
# @api private
|
72
|
-
def clear_environment(mode =
|
73
|
+
def clear_environment(mode = default_env)
|
73
74
|
case mode
|
74
75
|
when :posix
|
75
76
|
ENV.clear
|
@@ -87,7 +88,7 @@ module Util
|
|
87
88
|
# @param value [String] The value to set the variable to. nil deletes the environment variable
|
88
89
|
# @param mode [Symbol] Which operating system mode to use e.g. :posix or :windows. Use nil to autodetect
|
89
90
|
# @api private
|
90
|
-
def set_env(name, value = nil, mode =
|
91
|
+
def set_env(name, value = nil, mode = default_env)
|
91
92
|
case mode
|
92
93
|
when :posix
|
93
94
|
ENV[name] = value
|
@@ -102,7 +103,7 @@ module Util
|
|
102
103
|
# @param name [Hash] Environment variables to merge into the existing environment. nil values will remove the variable
|
103
104
|
# @param mode [Symbol] Which operating system mode to use e.g. :posix or :windows. Use nil to autodetect
|
104
105
|
# @api private
|
105
|
-
def merge_environment(env_hash, mode =
|
106
|
+
def merge_environment(env_hash, mode = default_env)
|
106
107
|
case mode
|
107
108
|
when :posix
|
108
109
|
env_hash.each { |name, val| ENV[name.to_s] = val }
|
data/lib/puppet/util/autoload.rb
CHANGED
@@ -10,6 +10,14 @@ require 'puppet/pops/adaptable'
|
|
10
10
|
# @api private
|
11
11
|
class Puppet::Util::ModuleDirectoriesAdapter < Puppet::Pops::Adaptable::Adapter
|
12
12
|
attr_accessor :directories
|
13
|
+
|
14
|
+
def self.create_adapter(env)
|
15
|
+
adapter = super(env)
|
16
|
+
adapter.directories = env.modulepath.flat_map do |dir|
|
17
|
+
Dir.glob(File.join(dir, '*', 'lib'))
|
18
|
+
end
|
19
|
+
adapter
|
20
|
+
end
|
13
21
|
end
|
14
22
|
|
15
23
|
# Autoload paths, either based on names or all at once.
|
@@ -132,13 +140,7 @@ class Puppet::Util::Autoload
|
|
132
140
|
|
133
141
|
if env
|
134
142
|
# if the app defaults have been initialized then it should be safe to access the module path setting.
|
135
|
-
Puppet::Util::ModuleDirectoriesAdapter.adapt(env)
|
136
|
-
a.directories ||= env.modulepath.collect do |dir|
|
137
|
-
Dir.entries(dir).reject { |f| f =~ /^\./ }.collect { |f| File.join(dir, f, "lib") }
|
138
|
-
end.flatten.find_all do |d|
|
139
|
-
FileTest.directory?(d)
|
140
|
-
end
|
141
|
-
end.directories
|
143
|
+
Puppet::Util::ModuleDirectoriesAdapter.adapt(env).directories
|
142
144
|
else
|
143
145
|
[]
|
144
146
|
end
|
data/lib/puppet/version.rb
CHANGED
data/locales/puppet.pot
CHANGED
@@ -6,11 +6,11 @@
|
|
6
6
|
#, fuzzy
|
7
7
|
msgid ""
|
8
8
|
msgstr ""
|
9
|
-
"Project-Id-Version: Puppet automation framework 5.5.20-
|
9
|
+
"Project-Id-Version: Puppet automation framework 5.5.21-20-gfdd7102523\n"
|
10
10
|
"\n"
|
11
11
|
"Report-Msgid-Bugs-To: https://tickets.puppetlabs.com\n"
|
12
|
-
"POT-Creation-Date: 2020-
|
13
|
-
"PO-Revision-Date: 2020-
|
12
|
+
"POT-Creation-Date: 2020-07-29 14:16+0000\n"
|
13
|
+
"PO-Revision-Date: 2020-07-29 14:16+0000\n"
|
14
14
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
15
15
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
16
16
|
"Language: \n"
|
@@ -44,7 +44,7 @@ msgstr ""
|
|
44
44
|
msgid "Please supply a parameter to perform a Hiera lookup"
|
45
45
|
msgstr ""
|
46
46
|
|
47
|
-
#: ../lib/hiera_puppet.rb:74 ../lib/puppet/indirector/hiera.rb:
|
47
|
+
#: ../lib/hiera_puppet.rb:74 ../lib/puppet/indirector/hiera.rb:85
|
48
48
|
msgid "Config file %{hiera_config} not found, using Hiera defaults"
|
49
49
|
msgstr ""
|
50
50
|
|
@@ -614,7 +614,11 @@ msgstr ""
|
|
614
614
|
msgid "Retrieving %{name}"
|
615
615
|
msgstr ""
|
616
616
|
|
617
|
-
#: ../lib/puppet/configurer/downloader.rb:
|
617
|
+
#: ../lib/puppet/configurer/downloader.rb:21
|
618
|
+
msgid "Failed to retrieve %{name}: %{detail}"
|
619
|
+
msgstr ""
|
620
|
+
|
621
|
+
#: ../lib/puppet/configurer/downloader.rb:32
|
618
622
|
msgid "Could not retrieve %{name}: %{detail}"
|
619
623
|
msgstr ""
|
620
624
|
|
@@ -718,7 +722,7 @@ msgid "Setting %{name} is deprecated."
|
|
718
722
|
msgstr ""
|
719
723
|
|
720
724
|
#. TRANSLATORS 'pluginsync' is a setting and should not be translated
|
721
|
-
#: ../lib/puppet/defaults.rb:
|
725
|
+
#: ../lib/puppet/defaults.rb:1904
|
722
726
|
msgid "Setting 'pluginsync' is deprecated."
|
723
727
|
msgstr ""
|
724
728
|
|
@@ -2726,12 +2730,12 @@ msgid "Could not find filesystem info for file '%{request}' in environment %{env
|
|
2726
2730
|
msgstr ""
|
2727
2731
|
|
2728
2732
|
#. TRANSLATORS "Hiera" is the name of a code library and should not be translated
|
2729
|
-
#: ../lib/puppet/indirector/hiera.rb:
|
2733
|
+
#: ../lib/puppet/indirector/hiera.rb:12
|
2730
2734
|
msgid "Hiera terminus not supported without hiera library"
|
2731
2735
|
msgstr ""
|
2732
2736
|
|
2733
2737
|
#. TRANSLATORS "merge" is a parameter name and should not be translated
|
2734
|
-
#: ../lib/puppet/indirector/hiera.rb:
|
2738
|
+
#: ../lib/puppet/indirector/hiera.rb:72
|
2735
2739
|
msgid "Unrecognized value for request 'merge' parameter: '%{merge}'"
|
2736
2740
|
msgstr ""
|
2737
2741
|
|
@@ -7054,27 +7058,27 @@ msgstr ""
|
|
7054
7058
|
msgid "source is defined but does not have trailing slash, ignoring %{source}"
|
7055
7059
|
msgstr ""
|
7056
7060
|
|
7057
|
-
#: ../lib/puppet/provider/package/gem.rb:
|
7061
|
+
#: ../lib/puppet/provider/package/gem.rb:96
|
7058
7062
|
msgid "Could not list gems: %{detail}"
|
7059
7063
|
msgstr ""
|
7060
7064
|
|
7061
|
-
#: ../lib/puppet/provider/package/gem.rb:
|
7065
|
+
#: ../lib/puppet/provider/package/gem.rb:122
|
7062
7066
|
msgid "Could not match %{desc}"
|
7063
7067
|
msgstr ""
|
7064
7068
|
|
7065
|
-
#: ../lib/puppet/provider/package/gem.rb:
|
7069
|
+
#: ../lib/puppet/provider/package/gem.rb:170
|
7066
7070
|
msgid "Invalid source '%{uri}': %{detail}"
|
7067
7071
|
msgstr ""
|
7068
7072
|
|
7069
|
-
#: ../lib/puppet/provider/package/gem.rb:
|
7073
|
+
#: ../lib/puppet/provider/package/gem.rb:181
|
7070
7074
|
msgid "puppet:// URLs are not supported as gem sources"
|
7071
7075
|
msgstr ""
|
7072
7076
|
|
7073
|
-
#: ../lib/puppet/provider/package/gem.rb:
|
7077
|
+
#: ../lib/puppet/provider/package/gem.rb:197
|
7074
7078
|
msgid "Could not install: %{output}"
|
7075
7079
|
msgstr ""
|
7076
7080
|
|
7077
|
-
#: ../lib/puppet/provider/package/gem.rb:
|
7081
|
+
#: ../lib/puppet/provider/package/gem.rb:223
|
7078
7082
|
msgid "Could not uninstall: %{output}"
|
7079
7083
|
msgstr ""
|
7080
7084
|
|
@@ -10161,11 +10165,11 @@ msgstr ""
|
|
10161
10165
|
msgid "Cannot create group if user '%{name}' exists."
|
10162
10166
|
msgstr ""
|
10163
10167
|
|
10164
|
-
#: ../lib/puppet/util/windows/api_types.rb:
|
10168
|
+
#: ../lib/puppet/util/windows/api_types.rb:85
|
10165
10169
|
msgid "Unable to read wide strings with %{null_terminator} terminal nulls"
|
10166
10170
|
msgstr ""
|
10167
10171
|
|
10168
|
-
#: ../lib/puppet/util/windows/api_types.rb:
|
10172
|
+
#: ../lib/puppet/util/windows/api_types.rb:216
|
10169
10173
|
msgid "Bad GUID format."
|
10170
10174
|
msgstr ""
|
10171
10175
|
|
@@ -10220,20 +10224,20 @@ msgstr ""
|
|
10220
10224
|
msgid "Failed to call GetLongPathName"
|
10221
10225
|
msgstr ""
|
10222
10226
|
|
10223
|
-
#: ../lib/puppet/util/windows/principal.rb:
|
10227
|
+
#: ../lib/puppet/util/windows/principal.rb:67 ../lib/puppet/util/windows/principal.rb:74
|
10224
10228
|
msgid "Failed to call LookupAccountNameW with account: %{account_name}"
|
10225
10229
|
msgstr ""
|
10226
10230
|
|
10227
10231
|
#. TRANSLATORS `lookup_account_sid` is a variable name and should not be translated
|
10228
|
-
#: ../lib/puppet/util/windows/principal.rb:
|
10232
|
+
#: ../lib/puppet/util/windows/principal.rb:97
|
10229
10233
|
msgid "Byte array for lookup_account_sid must not be nil and must be at least 1 byte long"
|
10230
10234
|
msgstr ""
|
10231
10235
|
|
10232
|
-
#: ../lib/puppet/util/windows/principal.rb:
|
10236
|
+
#: ../lib/puppet/util/windows/principal.rb:114
|
10233
10237
|
msgid "Byte array for lookup_account_sid is invalid: %{sid_bytes}"
|
10234
10238
|
msgstr ""
|
10235
10239
|
|
10236
|
-
#: ../lib/puppet/util/windows/principal.rb:
|
10240
|
+
#: ../lib/puppet/util/windows/principal.rb:122 ../lib/puppet/util/windows/principal.rb:129
|
10237
10241
|
msgid "Failed to call LookupAccountSidW with bytes: %{sid_bytes}"
|
10238
10242
|
msgstr ""
|
10239
10243
|
|
@@ -10269,39 +10273,39 @@ msgstr ""
|
|
10269
10273
|
msgid "Failed to open registry key '%{key}\\%{path}'"
|
10270
10274
|
msgstr ""
|
10271
10275
|
|
10272
|
-
#: ../lib/puppet/util/windows/registry.rb:
|
10276
|
+
#: ../lib/puppet/util/windows/registry.rb:133
|
10273
10277
|
msgid "Failed to enumerate %{key} registry keys at index %{index}"
|
10274
10278
|
msgstr ""
|
10275
10279
|
|
10276
|
-
#: ../lib/puppet/util/windows/registry.rb:
|
10280
|
+
#: ../lib/puppet/util/windows/registry.rb:167
|
10277
10281
|
msgid "Failed to enumerate %{key} registry values at index %{index}"
|
10278
10282
|
msgstr ""
|
10279
10283
|
|
10280
|
-
#: ../lib/puppet/util/windows/registry.rb:
|
10284
|
+
#: ../lib/puppet/util/windows/registry.rb:197
|
10281
10285
|
msgid "Failed to query registry %{key} for sizes"
|
10282
10286
|
msgstr ""
|
10283
10287
|
|
10284
|
-
#: ../lib/puppet/util/windows/registry.rb:
|
10288
|
+
#: ../lib/puppet/util/windows/registry.rb:233
|
10285
10289
|
msgid "Type mismatch (expect %{rtype} but %{type} present)"
|
10286
10290
|
msgstr ""
|
10287
10291
|
|
10288
|
-
#: ../lib/puppet/util/windows/registry.rb:
|
10292
|
+
#: ../lib/puppet/util/windows/registry.rb:255
|
10289
10293
|
msgid "Type %{type} is not supported."
|
10290
10294
|
msgstr ""
|
10291
10295
|
|
10292
|
-
#: ../lib/puppet/util/windows/registry.rb:
|
10296
|
+
#: ../lib/puppet/util/windows/registry.rb:260
|
10293
10297
|
msgid "A value in the registry key %{parent_key_name}%{key} is corrupt or invalid"
|
10294
10298
|
msgstr ""
|
10295
10299
|
|
10296
|
-
#: ../lib/puppet/util/windows/registry.rb:
|
10300
|
+
#: ../lib/puppet/util/windows/registry.rb:282
|
10297
10301
|
msgid "Failed to read registry value %{value} at %{key}"
|
10298
10302
|
msgstr ""
|
10299
10303
|
|
10300
|
-
#: ../lib/puppet/util/windows/registry.rb:
|
10304
|
+
#: ../lib/puppet/util/windows/registry.rb:300
|
10301
10305
|
msgid "Failed to delete registry value %{name} at %{key}"
|
10302
10306
|
msgstr ""
|
10303
10307
|
|
10304
|
-
#: ../lib/puppet/util/windows/registry.rb:
|
10308
|
+
#: ../lib/puppet/util/windows/registry.rb:315
|
10305
10309
|
msgid "Failed to delete registry key %{name} at %{key}"
|
10306
10310
|
msgstr ""
|
10307
10311
|
|