puppet 6.5.0-universal-darwin → 6.6.0-universal-darwin

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9b4af1c184b7d1f65cd7b10029d104593f7be58f31e09d0d905c64dd1dcf0e11
4
- data.tar.gz: c0f3fa41b8918df14dc2db17715c7d6d88ddc30f3afa982bf0b4ec6af442b0c4
3
+ metadata.gz: f428f30dca5420efcf813a7f566a9bdf6fbad981c40c6ff05263422f4efb64e5
4
+ data.tar.gz: c376f84797f142019242efb88ce0fb4dd51d1a27154be742cb223826b2aa06b7
5
5
  SHA512:
6
- metadata.gz: fffb836651168f97f0580eedb962e0609a00bd41516db2e7660df9f5a14c00d93a5b12798288a59a839f0f790d3de91d9228abc462e000f14988d4276db04816
7
- data.tar.gz: 8a503aad66f3e723e2a122f27193a85aeefab50d7298a70b33dce80cf82b02dad090f68b91893ea35bb28a41e8691f1c2a6c5ba9edc589ba81d89f7ef533e5f3
6
+ metadata.gz: 5fbb17ba1a8ea5d0e6867d02ce926bf9ae5a75be34d1d1f129cfd07e2c24df4dd61ea72a3eb1b1e9294fe7c1d4076ec95ef47ff5f58f2527566c47ddc6df9afe
7
+ data.tar.gz: 27f21278b69df868a86d8a51772ba51f40c20a90df366e1f50717189462aae0ef622937df0c1c5b99cf80a9b46fe3856612be5fe666ef71e3ec761fc4564d4cf
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- puppet (6.5.0)
4
+ puppet (6.6.0)
5
5
  CFPropertyList (~> 2.2)
6
6
  facter (>= 2.4.0, < 4)
7
7
  fast_gettext (~> 1.1)
@@ -47,7 +47,7 @@ GEM
47
47
  memory_profiler (0.9.13)
48
48
  method_source (0.9.2)
49
49
  minitar (0.8)
50
- msgpack (1.2.10)
50
+ msgpack (1.3.0)
51
51
  multi_json (1.13.1)
52
52
  mustache (1.1.0)
53
53
  optimist (3.0.0)
@@ -61,8 +61,8 @@ GEM
61
61
  pry (0.12.2)
62
62
  coderay (~> 1.1.0)
63
63
  method_source (~> 0.9.0)
64
- public_suffix (3.1.0)
65
- puppet-resource_api (1.8.3)
64
+ public_suffix (3.1.1)
65
+ puppet-resource_api (1.8.4)
66
66
  hocon (>= 1.0)
67
67
  puppetserver-ca (1.3.1)
68
68
  facter (>= 2.0.1, < 4)
@@ -358,11 +358,22 @@ Copyright (c) 2011 Puppet Inc., LLC Licensed under the Apache 2.0 License
358
358
  end
359
359
 
360
360
  def fingerprint
361
- sm = Puppet::SSL::StateMachine.new(onetime: true)
362
- ssl_context = sm.ensure_client_certificate
363
- puts Puppet::SSL::Digest.new(options[:digest].to_s, ssl_context.client_cert.to_der).to_s
364
- rescue
365
- $stderr.puts _("Fingerprint asked but no certificate nor certificate request have yet been issued")
361
+ Puppet::Util::Log.newdestination(:console)
362
+ cert_provider = Puppet::X509::CertProvider.new
363
+ client_cert = cert_provider.load_client_cert(Puppet[:certname])
364
+ if client_cert
365
+ puts Puppet::SSL::Digest.new(options[:digest].to_s, client_cert.to_der).to_s
366
+ else
367
+ csr = cert_provider.load_request(Puppet[:certname])
368
+ if csr
369
+ puts Puppet::SSL::Digest.new(options[:digest].to_s, csr.to_der).to_s
370
+ else
371
+ $stderr.puts _("Fingerprint asked but neither the certificate, nor the certificate request have been issued")
372
+ exit(1)
373
+ end
374
+ end
375
+ rescue => e
376
+ Puppet.log_exception(e, _("Failed to generate fingerprint: %{message}") % {message: e.message})
366
377
  exit(1)
367
378
  end
368
379
 
@@ -112,6 +112,8 @@ HELP
112
112
  Puppet.settings.use(:main, :agent)
113
113
  end
114
114
 
115
+ Puppet::SSL::Oids.register_puppet_oids
116
+
115
117
  certname = Puppet[:certname]
116
118
  action = command_line.args.first
117
119
  case action
@@ -1,3 +1,5 @@
1
+ require 'puppet/provider'
2
+
1
3
  class Puppet::Provider::Package < Puppet::Provider
2
4
  # Prefetch our package list, yo.
3
5
  def self.prefetch(packages)
@@ -1,7 +1,6 @@
1
1
  # Puppet package provider for Python's `pip` package management frontend.
2
2
  # <http://pip.pypa.io/>
3
3
 
4
- require 'puppet/provider/package'
5
4
  require 'puppet/provider/package_targetable'
6
5
  require 'puppet/util/http_proxy'
7
6
 
@@ -114,7 +113,7 @@ Puppet::Type.type(:package).provide :pip, :parent => ::Puppet::Provider::Package
114
113
  command = resource_or_provider_command
115
114
  self.class.validate_command(command)
116
115
 
117
- command_version = self.pip_version(command)
116
+ command_version = self.class.pip_version(command)
118
117
  if Puppet::Util::Package.versioncmp(command_version, '1.5.4') == -1
119
118
  latest_with_old_pip
120
119
  else
@@ -1,4 +1,4 @@
1
- require 'puppet/provider/package'
1
+ require 'puppet/provider/package/gem'
2
2
 
3
3
  Puppet::Type.type(:package).provide :puppet_gem, :parent => :gem do
4
4
  desc "Puppet Ruby Gem support. This provider is useful for managing
@@ -7,6 +7,8 @@
7
7
  # possibly via a `prefetchV2` method that could take a better data structure.)
8
8
  #
9
9
  # In addition, `Puppet::Provider::Package::properties` calls `query` in the provider.
10
+ require 'puppet/provider/package'
11
+
10
12
  # But `query` in the provider depends upon whether a `command` attribute is defined for the resource.
11
13
  # This is a Catch-22.
12
14
  #
@@ -121,7 +121,7 @@ class Puppet::SSL::Host
121
121
  generate_key unless key
122
122
 
123
123
  # get CA and optional CRL
124
- sm = Puppet::SSL::StateMachine.new
124
+ sm = Puppet::SSL::StateMachine.new(onetime: true)
125
125
  sm.ensure_ca_certificates
126
126
 
127
127
  cert = get_host_certificate
@@ -21,6 +21,12 @@ class Puppet::SSL::StateMachine
21
21
  @cert_provider = machine.cert_provider
22
22
  @ssl_provider = machine.ssl_provider
23
23
  end
24
+
25
+ def to_error(message, cause)
26
+ detail = Puppet::Error.new(message)
27
+ detail.set_backtrace(cause.backtrace)
28
+ Error.new(@machine, message, detail)
29
+ end
24
30
  end
25
31
 
26
32
  # Load existing CA certs or download them. Transition to NeedCRLs.
@@ -46,11 +52,13 @@ class Puppet::SSL::StateMachine
46
52
  end
47
53
 
48
54
  NeedCRLs.new(@machine, next_ctx)
55
+ rescue OpenSSL::X509::CertificateError => e
56
+ Error.new(@machine, e.message, e)
49
57
  rescue Puppet::Rest::ResponseError => e
50
58
  if e.response.code.to_i == 404
51
- raise Puppet::Error.new(_('CA certificate is missing from the server'))
59
+ to_error(_('CA certificate is missing from the server'), e)
52
60
  else
53
- raise Puppet::Error.new(_('Could not download CA certificate: %{message}') % { message: e.message }, e)
61
+ to_error(_('Could not download CA certificate: %{message}') % { message: e.message }, e)
54
62
  end
55
63
  end
56
64
  end
@@ -90,11 +98,13 @@ class Puppet::SSL::StateMachine
90
98
  end
91
99
 
92
100
  NeedKey.new(@machine, next_ctx)
101
+ rescue OpenSSL::X509::CRLError => e
102
+ Error.new(@machine, e.message, e)
93
103
  rescue Puppet::Rest::ResponseError => e
94
104
  if e.response.code.to_i == 404
95
- raise Puppet::Error.new(_('CRL is missing from the server'))
105
+ to_error(_('CRL is missing from the server'), e)
96
106
  else
97
- raise Puppet::Error.new(_('Could not download CRLs: %{message}') % { message: e.message }, e)
107
+ to_error(_('Could not download CRLs: %{message}') % { message: e.message }, e)
98
108
  end
99
109
  end
100
110
 
@@ -193,11 +203,11 @@ class Puppet::SSL::StateMachine
193
203
  @cert_provider.save_request(Puppet[:certname], csr)
194
204
  NeedCert.new(@machine, @ssl_context, @private_key)
195
205
  rescue Puppet::Rest::ResponseError => e
196
- if e.response.code.to_i != 400
197
- raise Puppet::SSL::SSLError.new(_("Failed to submit the CSR, HTTP response was %{code}") % { code: e.response.code }, e)
206
+ if e.response.code.to_i == 400
207
+ NeedCert.new(@machine, @ssl_context, @private_key)
208
+ else
209
+ to_error(_("Failed to submit the CSR, HTTP response was %{code}") % { code: e.response.code }, e)
198
210
  end
199
-
200
- NeedCert.new(@machine, @ssl_context, @private_key)
201
211
  end
202
212
  end
203
213
 
@@ -218,37 +228,40 @@ class Puppet::SSL::StateMachine
218
228
  @cert_provider.delete_request(Puppet[:certname])
219
229
  Done.new(@machine, next_ctx)
220
230
  rescue Puppet::SSL::SSLError => e
221
- Puppet.log_exception(e)
222
- Wait.new(@machine, @ssl_context)
231
+ Error.new(@machine, e.message, e)
223
232
  rescue OpenSSL::X509::CertificateError => e
224
- Puppet.log_exception(e, _("Failed to parse certificate: %{message}") % {message: e.message})
225
- Wait.new(@machine, @ssl_context)
233
+ Error.new(@machine, _("Failed to parse certificate: %{message}") % {message: e.message}, e)
226
234
  rescue Puppet::Rest::ResponseError => e
227
235
  if e.response.code.to_i == 404
228
236
  Puppet.info(_("Certificate for %{certname} has not been signed yet") % {certname: Puppet[:certname]})
237
+ $stdout.puts _("Couldn't fetch certificate from CA server; you might still need to sign this agent's certificate (%{name}).") % { name: Puppet[:certname] }
238
+ Wait.new(@machine)
229
239
  else
230
- Puppet.log_exception(e, _("Failed to retrieve certificate for %{certname}: %{message}") %
231
- {certname: Puppet[:certname], message: e.response.message})
240
+ to_error(_("Failed to retrieve certificate for %{certname}: %{message}") %
241
+ {certname: Puppet[:certname], message: e.response.message}, e)
232
242
  end
233
- Wait.new(@machine, @ssl_context)
234
243
  end
235
244
  end
236
245
 
237
- # We cannot make progress, so wait if allowed to do so, or error.
246
+ # We cannot make progress, so wait if allowed to do so, or exit.
238
247
  #
239
248
  class Wait < SSLState
249
+ def initialize(machine)
250
+ super(machine, nil)
251
+ end
252
+
240
253
  def next_state
241
254
  time = @machine.waitforcert
242
255
  if time < 1
243
- puts _("Couldn't fetch certificate from CA server; you might still need to sign this agent's certificate (%{name}). Exiting now because the waitforcert setting is set to 0.") % { name: Puppet[:certname] }
256
+ puts _("Exiting now because the waitforcert setting is set to 0.")
244
257
  exit(1)
245
258
  elsif Time.now.to_i > @machine.wait_deadline
246
259
  puts _("Couldn't fetch certificate from CA server; you might still need to sign this agent's certificate (%{name}). Exiting now because the maxwaitforcert timeout has been exceeded.") % {name: Puppet[:certname] }
247
260
  exit(1)
248
261
  else
249
- Puppet.info(_("Couldn't fetch certificate from CA server; you might still need to sign this agent's certificate (%{name}). Will try again in %{time} seconds.") % {name: Puppet[:certname], time: time})
262
+ Puppet.info(_("Will try again in %{time} seconds.") % {time: time})
250
263
 
251
- sleep(time)
264
+ Kernel.sleep(time)
252
265
 
253
266
  # our ssl directory may have been cleaned while we were
254
267
  # sleeping, start over from the top
@@ -257,6 +270,23 @@ class Puppet::SSL::StateMachine
257
270
  end
258
271
  end
259
272
 
273
+ # We cannot make progress due to an error.
274
+ #
275
+ class Error < SSLState
276
+ attr_reader :message, :error
277
+
278
+ def initialize(machine, message, error)
279
+ super(machine, nil)
280
+ @message = message
281
+ @error = error
282
+ end
283
+
284
+ def next_state
285
+ Puppet.log_exception(@error, @message)
286
+ Wait.new(@machine)
287
+ end
288
+ end
289
+
260
290
  # We have a CA bundle, optional CRL bundle, a private key and matching cert
261
291
  # that chains to one of the root certs in our bundle.
262
292
  #
@@ -264,29 +294,51 @@ class Puppet::SSL::StateMachine
264
294
 
265
295
  attr_reader :waitforcert, :wait_deadline, :cert_provider, :ssl_provider
266
296
 
297
+ # Construct a state machine to manage the SSL initialization process. By
298
+ # default, if the state machine encounters an exception, it will log the
299
+ # exception and wait for `waitforcert` seconds and retry, restarting from the
300
+ # beginning of the state machine.
301
+ #
302
+ # However, if `onetime` is true, then the state machine will raise the first
303
+ # error it encounters, instead of waiting. Otherwise, if `waitforcert` is 0,
304
+ # then then state machine will exit instead of wait.
305
+ #
306
+ # @param waitforcert [Integer] how many seconds to wait between attempts
307
+ # @param maxwiatforcert [Integer] maximum amount of second
308
+ # @param onetime [Boolean] whether to run onetime
309
+ # @param lockfile [Puppet::Util::Pidlock] lockfile to protect against
310
+ # concurrent modification by multiple processes
311
+ # @param cert_provider [Puppet::X509::CertProvider] cert provider to use
312
+ # to load and save X509 objects.
313
+ # @param ssl_provider [Puppet::SSL::SSLProvider] ssl provider to use
314
+ # to construct ssl contexts.
267
315
  def initialize(waitforcert: Puppet[:waitforcert],
268
316
  maxwaitforcert: Puppet[:maxwaitforcert],
317
+ onetime: Puppet[:onetime],
269
318
  cert_provider: Puppet::X509::CertProvider.new,
270
319
  ssl_provider: Puppet::SSL::SSLProvider.new,
271
320
  lockfile: Puppet::Util::Pidlock.new(Puppet[:ssl_lockfile]))
272
321
  @waitforcert = waitforcert
273
322
  @wait_deadline = Time.now.to_i + maxwaitforcert
323
+ @onetime = onetime
274
324
  @cert_provider = cert_provider
275
325
  @ssl_provider = ssl_provider
276
326
  @lockfile = lockfile
277
327
  end
278
328
 
279
- # Run the state machine for CA certs and CRLs
329
+ # Run the state machine for CA certs and CRLs.
280
330
  #
281
331
  # @return [Puppet::SSL::SSLContext] initialized SSLContext
332
+ # @raise [Puppet::Error] If we fail to generate an SSLContext
282
333
  def ensure_ca_certificates
283
334
  final_state = run_machine(NeedCACerts.new(self), NeedKey)
284
335
  final_state.ssl_context
285
336
  end
286
337
 
287
- # Run the state machine for CA certs and CRLs
338
+ # Run the state machine for CA certs and CRLs.
288
339
  #
289
340
  # @return [Puppet::SSL::SSLContext] initialized SSLContext
341
+ # @raise [Puppet::Error] If we fail to generate an SSLContext
290
342
  def ensure_client_certificate
291
343
  final_state = run_machine(NeedCACerts.new(self), Done)
292
344
  ssl_context = final_state.ssl_context
@@ -312,9 +364,19 @@ class Puppet::SSL::StateMachine
312
364
  def run_machine(state, stop)
313
365
  with_lock do
314
366
  loop do
315
- state = state.next_state
316
-
317
- break if state.is_a?(stop)
367
+ state = run_step(state)
368
+
369
+ case state
370
+ when stop
371
+ break
372
+ when Error
373
+ if @onetime
374
+ Puppet.log_exception(state.error)
375
+ raise state.error
376
+ end
377
+ else
378
+ # fall through
379
+ end
318
380
  end
319
381
  end
320
382
 
@@ -332,4 +394,10 @@ class Puppet::SSL::StateMachine
332
394
  raise Puppet::Error, _('Another puppet instance is already running; exiting')
333
395
  end
334
396
  end
397
+
398
+ def run_step(state)
399
+ state.next_state
400
+ rescue => e
401
+ state.to_error(e.message, e)
402
+ end
335
403
  end
@@ -170,16 +170,20 @@ class Puppet::Transaction
170
170
  # Generate the relationship graph, set up our generator to use it
171
171
  # for eval_generate, then kick off our traversal.
172
172
  generator.relationship_graph = relationship_graph
173
+ progress = 0
173
174
  relationship_graph.traverse(:while => continue_while,
174
175
  :pre_process => pre_process,
175
176
  :overly_deferred_resource_handler => overly_deferred_resource_handler,
176
177
  :canceled_resource_handler => canceled_resource_handler,
177
178
  :graph_cycle_handler => graph_cycle_handler,
178
179
  :teardown => teardown) do |resource|
180
+ progress += 1
179
181
  if resource.is_a?(Puppet::Type::Component)
180
182
  Puppet.warning _("Somehow left a component in the relationship graph")
181
183
  else
182
- resource.info _("Starting to evaluate the resource") if Puppet[:evaltrace] && @catalog.host_config?
184
+ if Puppet[:evaltrace] && @catalog.host_config?
185
+ resource.info _("Starting to evaluate the resource (%{progress} of %{total})") % { progress: progress, total: relationship_graph.size }
186
+ end
183
187
  seconds = thinmark { block.call(resource) }
184
188
  resource.info _("Evaluated in %{seconds} seconds") % { seconds: "%0.2f" % seconds } if Puppet[:evaltrace] && @catalog.host_config?
185
189
  end
@@ -62,12 +62,13 @@ class Puppet::Util::Pidlock
62
62
  # POSIX and Windows platforms (PUP-9247).
63
63
  if Puppet.features.posix?
64
64
  procname = Puppet::Util::Execution.execute(["ps", "-p", lock_pid, "-o", "comm="]).strip
65
- @lockfile.unlock unless procname =~ /puppet(-.*)?$/
65
+ args = Puppet::Util::Execution.execute(["ps", "-p", lock_pid, "-o", "args="]).strip
66
+ @lockfile.unlock unless procname =~ /ruby/ && args =~ /puppet/ || procname =~ /puppet(-.*)?$/
66
67
  elsif Puppet.features.microsoft_windows?
67
68
  # On Windows, we're checking if the filesystem path name of the running
68
69
  # process is our vendored ruby:
69
70
  exe_path = Puppet::Util::Windows::Process::get_process_image_name_by_pid(lock_pid)
70
- @lockfile.unlock unless exe_path =~ /Puppet\\puppet\\bin\\ruby.exe/
71
+ @lockfile.unlock unless exe_path =~ /\\bin\\ruby.exe$/
71
72
  end
72
73
  end
73
74
  private :clear_if_stale
@@ -122,21 +122,21 @@ module Puppet::Util::Windows::Process
122
122
  def get_process_image_name_by_pid(pid)
123
123
  image_name = ""
124
124
 
125
- open_process(PROCESS_QUERY_INFORMATION, false, pid) do |phandle|
125
+ open_process(PROCESS_QUERY_INFORMATION, false, pid) do |phandle|
126
126
 
127
- FFI::MemoryPointer.new(:dword, 1) do |exe_name_length_ptr|
128
- # Add 1 for the null terminator, and UTF is 2 bytes/char:
129
- max_path_length = (MAX_PATH_LENGTH + 1) * 2
130
- exe_name_length_ptr.write_dword(max_path_length)
131
- FFI::MemoryPointer.new(max_path_length) do |exe_name_ptr|
127
+ FFI::MemoryPointer.new(:dword, 1) do |exe_name_length_ptr|
128
+ # UTF is 2 bytes/char:
129
+ max_chars = MAX_PATH_LENGTH + 1
130
+ exe_name_length_ptr.write_dword(max_chars)
131
+ FFI::MemoryPointer.new(:wchar, max_chars) do |exe_name_ptr|
132
132
  use_win32_path_format = 0
133
133
  result = QueryFullProcessImageNameW(phandle, use_win32_path_format, exe_name_ptr, exe_name_length_ptr)
134
134
  if result == FFI::WIN32_FALSE
135
135
  raise Puppet::Util::Windows::Error.new(
136
136
  "QueryFullProcessImageNameW(phandle, #{use_win32_path_format}, " +
137
- "exe_name_ptr, #{max_path_length}")
137
+ "exe_name_ptr, #{max_chars}")
138
138
  end
139
- image_name = exe_name_ptr.read_wide_string(MAX_PATH_LENGTH + 1)
139
+ image_name = exe_name_ptr.read_wide_string(exe_name_length_ptr.read_dword)
140
140
  end
141
141
  end
142
142
  end
@@ -6,7 +6,7 @@
6
6
  # Raketasks and such to set the version based on the output of `git describe`
7
7
 
8
8
  module Puppet
9
- PUPPETVERSION = '6.5.0'
9
+ PUPPETVERSION = '6.6.0'
10
10
 
11
11
  ##
12
12
  # version is a public API method intended to always provide a fast and
@@ -6,11 +6,11 @@
6
6
  #, fuzzy
7
7
  msgid ""
8
8
  msgstr ""
9
- "Project-Id-Version: Puppet automation framework 6.4.2-220-gcca62be\n"
9
+ "Project-Id-Version: Puppet automation framework 6.5.0-67-gdd01573\n"
10
10
  "\n"
11
11
  "Report-Msgid-Bugs-To: https://tickets.puppetlabs.com\n"
12
- "POT-Creation-Date: 2019-06-05 21:33+0000\n"
13
- "PO-Revision-Date: 2019-06-05 21:33+0000\n"
12
+ "POT-Creation-Date: 2019-06-21 03:18+0000\n"
13
+ "PO-Revision-Date: 2019-06-21 03:18+0000\n"
14
14
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
15
15
  "Language-Team: LANGUAGE <LL@li.org>\n"
16
16
  "Language: \n"
@@ -182,15 +182,19 @@ msgstr ""
182
182
  msgid "The puppet agent daemon"
183
183
  msgstr ""
184
184
 
185
- #: ../lib/puppet/application/agent.rb:365
186
- msgid "Fingerprint asked but no certificate nor certificate request have yet been issued"
185
+ #: ../lib/puppet/application/agent.rb:371
186
+ msgid "Fingerprint asked but neither the certificate, nor the certificate request have been issued"
187
187
  msgstr ""
188
188
 
189
- #: ../lib/puppet/application/agent.rb:388
189
+ #: ../lib/puppet/application/agent.rb:376
190
+ msgid "Failed to generate fingerprint: %{message}"
191
+ msgstr ""
192
+
193
+ #: ../lib/puppet/application/agent.rb:399
190
194
  msgid "Starting Puppet client version %{version}"
191
195
  msgstr ""
192
196
 
193
- #: ../lib/puppet/application/agent.rb:404
197
+ #: ../lib/puppet/application/agent.rb:415
194
198
  msgid "The puppet agent command does not take parameters"
195
199
  msgstr ""
196
200
 
@@ -459,55 +463,55 @@ msgstr ""
459
463
  msgid "An action must be specified."
460
464
  msgstr ""
461
465
 
462
- #: ../lib/puppet/application/ssl.rb:123 ../lib/puppet/application/ssl.rb:130
466
+ #: ../lib/puppet/application/ssl.rb:125 ../lib/puppet/application/ssl.rb:132
463
467
  msgid "The certificate for '%{name}' has not yet been signed"
464
468
  msgstr ""
465
469
 
466
- #: ../lib/puppet/application/ssl.rb:141
470
+ #: ../lib/puppet/application/ssl.rb:143
467
471
  msgid "Completed SSL initialization"
468
472
  msgstr ""
469
473
 
470
- #: ../lib/puppet/application/ssl.rb:143
474
+ #: ../lib/puppet/application/ssl.rb:145
471
475
  msgid "Unknown action '%{action}'"
472
476
  msgstr ""
473
477
 
474
- #: ../lib/puppet/application/ssl.rb:151 ../lib/puppet/ssl/state_machine.rb:156
478
+ #: ../lib/puppet/application/ssl.rb:153 ../lib/puppet/ssl/state_machine.rb:166
475
479
  msgid "Creating a new EC SSL key for %{name} using curve %{curve}"
476
480
  msgstr ""
477
481
 
478
- #: ../lib/puppet/application/ssl.rb:154 ../lib/puppet/ssl/key.rb:24
482
+ #: ../lib/puppet/application/ssl.rb:156 ../lib/puppet/ssl/key.rb:24
479
483
  msgid "Creating a new SSL key for %{name}"
480
484
  msgstr ""
481
485
 
482
- #: ../lib/puppet/application/ssl.rb:163
486
+ #: ../lib/puppet/application/ssl.rb:165
483
487
  msgid "Submitted certificate request for '%{name}' to https://%{server}:%{port}"
484
488
  msgstr ""
485
489
 
486
- #: ../lib/puppet/application/ssl.rb:168
490
+ #: ../lib/puppet/application/ssl.rb:170
487
491
  msgid "Could not submit certificate request for '%{name}' to https://%{server}:%{port} due to a conflict on the server"
488
492
  msgstr ""
489
493
 
490
- #: ../lib/puppet/application/ssl.rb:170 ../lib/puppet/application/ssl.rb:173
494
+ #: ../lib/puppet/application/ssl.rb:172 ../lib/puppet/application/ssl.rb:175
491
495
  msgid "Failed to submit certificate request: %{message}"
492
496
  msgstr ""
493
497
 
494
- #: ../lib/puppet/application/ssl.rb:179
498
+ #: ../lib/puppet/application/ssl.rb:181
495
499
  msgid "Downloading certificate '%{name}' from https://%{server}:%{port}"
496
500
  msgstr ""
497
501
 
498
- #: ../lib/puppet/application/ssl.rb:186 ../lib/puppet/application/ssl.rb:194
502
+ #: ../lib/puppet/application/ssl.rb:188 ../lib/puppet/application/ssl.rb:196
499
503
  msgid "Downloaded certificate '%{name}' with fingerprint %{fingerprint}"
500
504
  msgstr ""
501
505
 
502
- #: ../lib/puppet/application/ssl.rb:202 ../lib/puppet/application/ssl.rb:205
506
+ #: ../lib/puppet/application/ssl.rb:204 ../lib/puppet/application/ssl.rb:207
503
507
  msgid "Failed to download certificate: %{message}"
504
508
  msgstr ""
505
509
 
506
- #: ../lib/puppet/application/ssl.rb:233 ../lib/puppet/application/ssl.rb:236
510
+ #: ../lib/puppet/application/ssl.rb:235 ../lib/puppet/application/ssl.rb:238
507
511
  msgid "Failed to connect to the CA to determine if certificate %{certname} has been cleaned"
508
512
  msgstr ""
509
513
 
510
- #: ../lib/puppet/application/ssl.rb:240
514
+ #: ../lib/puppet/application/ssl.rb:242
511
515
  msgid ""
512
516
  "The certificate %{certname} must be cleaned from the CA first. To fix this,\n"
513
517
  "run the following commands on the CA:\n"
@@ -515,7 +519,7 @@ msgid ""
515
519
  " puppet ssl clean\n"
516
520
  msgstr ""
517
521
 
518
- #: ../lib/puppet/application/ssl.rb:260
522
+ #: ../lib/puppet/application/ssl.rb:262
519
523
  msgid "Removed %{label} %{path}"
520
524
  msgstr ""
521
525
 
@@ -6659,27 +6663,27 @@ msgstr ""
6659
6663
  msgid "source is defined but does not have trailing slash, ignoring %{source}"
6660
6664
  msgstr ""
6661
6665
 
6662
- #: ../lib/puppet/provider/package/gem.rb:84
6666
+ #: ../lib/puppet/provider/package/gem.rb:94
6663
6667
  msgid "Could not list gems: %{detail}"
6664
6668
  msgstr ""
6665
6669
 
6666
- #: ../lib/puppet/provider/package/gem.rb:110
6670
+ #: ../lib/puppet/provider/package/gem.rb:120
6667
6671
  msgid "Could not match %{desc}"
6668
6672
  msgstr ""
6669
6673
 
6670
- #: ../lib/puppet/provider/package/gem.rb:158
6674
+ #: ../lib/puppet/provider/package/gem.rb:168
6671
6675
  msgid "Invalid source '%{uri}': %{detail}"
6672
6676
  msgstr ""
6673
6677
 
6674
- #: ../lib/puppet/provider/package/gem.rb:169
6678
+ #: ../lib/puppet/provider/package/gem.rb:179
6675
6679
  msgid "puppet:// URLs are not supported as gem sources"
6676
6680
  msgstr ""
6677
6681
 
6678
- #: ../lib/puppet/provider/package/gem.rb:185
6682
+ #: ../lib/puppet/provider/package/gem.rb:195
6679
6683
  msgid "Could not install: %{output}"
6680
6684
  msgstr ""
6681
6685
 
6682
- #: ../lib/puppet/provider/package/gem.rb:211
6686
+ #: ../lib/puppet/provider/package/gem.rb:221
6683
6687
  msgid "Could not uninstall: %{output}"
6684
6688
  msgstr ""
6685
6689
 
@@ -7276,7 +7280,7 @@ msgstr ""
7276
7280
  msgid "Could not find resource %{resource} when converting %{message} resources"
7277
7281
  msgstr ""
7278
7282
 
7279
- #: ../lib/puppet/resource/status.rb:139 ../lib/puppet/transaction.rb:266
7283
+ #: ../lib/puppet/resource/status.rb:139 ../lib/puppet/transaction.rb:270
7280
7284
  msgid "Could not evaluate: %{detail}"
7281
7285
  msgstr ""
7282
7286
 
@@ -7776,7 +7780,7 @@ msgid ""
7776
7780
  "%{crl}"
7777
7781
  msgstr ""
7778
7782
 
7779
- #: ../lib/puppet/ssl/host.rb:384 ../lib/puppet/ssl/state_machine.rb:97
7783
+ #: ../lib/puppet/ssl/host.rb:384 ../lib/puppet/ssl/state_machine.rb:107
7780
7784
  msgid "Could not download CRLs: %{message}"
7781
7785
  msgstr ""
7782
7786
 
@@ -7892,83 +7896,87 @@ msgstr ""
7892
7896
  msgid "Certificate '%{subject}' failed verification (%{err}): %{err_utf8}"
7893
7897
  msgstr ""
7894
7898
 
7895
- #: ../lib/puppet/ssl/state_machine.rb:51
7899
+ #: ../lib/puppet/ssl/state_machine.rb:59
7896
7900
  msgid "CA certificate is missing from the server"
7897
7901
  msgstr ""
7898
7902
 
7899
- #: ../lib/puppet/ssl/state_machine.rb:53
7903
+ #: ../lib/puppet/ssl/state_machine.rb:61
7900
7904
  msgid "Could not download CA certificate: %{message}"
7901
7905
  msgstr ""
7902
7906
 
7903
- #: ../lib/puppet/ssl/state_machine.rb:95
7907
+ #: ../lib/puppet/ssl/state_machine.rb:105
7904
7908
  msgid "CRL is missing from the server"
7905
7909
  msgstr ""
7906
7910
 
7907
- #: ../lib/puppet/ssl/state_machine.rb:104
7911
+ #: ../lib/puppet/ssl/state_machine.rb:114
7908
7912
  msgid "Refreshing CRL"
7909
7913
  msgstr ""
7910
7914
 
7911
- #: ../lib/puppet/ssl/state_machine.rb:110
7915
+ #: ../lib/puppet/ssl/state_machine.rb:120
7912
7916
  msgid "CRL is unmodified, using existing CRL"
7913
7917
  msgstr ""
7914
7918
 
7915
- #: ../lib/puppet/ssl/state_machine.rb:112 ../lib/puppet/ssl/state_machine.rb:118
7919
+ #: ../lib/puppet/ssl/state_machine.rb:122 ../lib/puppet/ssl/state_machine.rb:128
7916
7920
  msgid "Failed to refresh CRL, using existing CRL: %{message}"
7917
7921
  msgstr ""
7918
7922
 
7919
- #: ../lib/puppet/ssl/state_machine.rb:142
7923
+ #: ../lib/puppet/ssl/state_machine.rb:152
7920
7924
  msgid "Loading/generating private key"
7921
7925
  msgstr ""
7922
7926
 
7923
- #: ../lib/puppet/ssl/state_machine.rb:159
7927
+ #: ../lib/puppet/ssl/state_machine.rb:169
7924
7928
  msgid "Creating a new RSA SSL key for %{name}"
7925
7929
  msgstr ""
7926
7930
 
7927
- #: ../lib/puppet/ssl/state_machine.rb:189
7931
+ #: ../lib/puppet/ssl/state_machine.rb:199
7928
7932
  msgid "Generating and submitting a CSR"
7929
7933
  msgstr ""
7930
7934
 
7931
- #: ../lib/puppet/ssl/state_machine.rb:197
7935
+ #: ../lib/puppet/ssl/state_machine.rb:209
7932
7936
  msgid "Failed to submit the CSR, HTTP response was %{code}"
7933
7937
  msgstr ""
7934
7938
 
7935
- #: ../lib/puppet/ssl/state_machine.rb:208
7939
+ #: ../lib/puppet/ssl/state_machine.rb:218
7936
7940
  msgid "Downloading client certificate"
7937
7941
  msgstr ""
7938
7942
 
7939
- #: ../lib/puppet/ssl/state_machine.rb:224
7943
+ #: ../lib/puppet/ssl/state_machine.rb:233
7940
7944
  msgid "Failed to parse certificate: %{message}"
7941
7945
  msgstr ""
7942
7946
 
7943
- #: ../lib/puppet/ssl/state_machine.rb:228
7947
+ #: ../lib/puppet/ssl/state_machine.rb:236
7944
7948
  msgid "Certificate for %{certname} has not been signed yet"
7945
7949
  msgstr ""
7946
7950
 
7947
- #: ../lib/puppet/ssl/state_machine.rb:230
7951
+ #: ../lib/puppet/ssl/state_machine.rb:237
7952
+ msgid "Couldn't fetch certificate from CA server; you might still need to sign this agent's certificate (%{name})."
7953
+ msgstr ""
7954
+
7955
+ #: ../lib/puppet/ssl/state_machine.rb:240
7948
7956
  msgid "Failed to retrieve certificate for %{certname}: %{message}"
7949
7957
  msgstr ""
7950
7958
 
7951
- #: ../lib/puppet/ssl/state_machine.rb:243
7952
- msgid "Couldn't fetch certificate from CA server; you might still need to sign this agent's certificate (%{name}). Exiting now because the waitforcert setting is set to 0."
7959
+ #: ../lib/puppet/ssl/state_machine.rb:256
7960
+ msgid "Exiting now because the waitforcert setting is set to 0."
7953
7961
  msgstr ""
7954
7962
 
7955
- #: ../lib/puppet/ssl/state_machine.rb:246
7963
+ #: ../lib/puppet/ssl/state_machine.rb:259
7956
7964
  msgid "Couldn't fetch certificate from CA server; you might still need to sign this agent's certificate (%{name}). Exiting now because the maxwaitforcert timeout has been exceeded."
7957
7965
  msgstr ""
7958
7966
 
7959
- #: ../lib/puppet/ssl/state_machine.rb:249
7960
- msgid "Couldn't fetch certificate from CA server; you might still need to sign this agent's certificate (%{name}). Will try again in %{time} seconds."
7967
+ #: ../lib/puppet/ssl/state_machine.rb:262
7968
+ msgid "Will try again in %{time} seconds."
7961
7969
  msgstr ""
7962
7970
 
7963
- #: ../lib/puppet/ssl/state_machine.rb:300
7971
+ #: ../lib/puppet/ssl/state_machine.rb:352
7964
7972
  msgid "Verified client certificate '%{subject}' fingerprint %{digest}"
7965
7973
  msgstr ""
7966
7974
 
7967
- #: ../lib/puppet/ssl/state_machine.rb:302
7975
+ #: ../lib/puppet/ssl/state_machine.rb:354
7968
7976
  msgid "Verified CA certificate '%{subject}' fingerprint %{digest}"
7969
7977
  msgstr ""
7970
7978
 
7971
- #: ../lib/puppet/ssl/state_machine.rb:332
7979
+ #: ../lib/puppet/ssl/state_machine.rb:394
7972
7980
  msgid "Another puppet instance is already running; exiting"
7973
7981
  msgstr ""
7974
7982
 
@@ -8073,36 +8081,36 @@ msgstr ""
8073
8081
  msgid "One or more resource dependency cycles detected in graph"
8074
8082
  msgstr ""
8075
8083
 
8076
- #: ../lib/puppet/transaction.rb:180
8084
+ #: ../lib/puppet/transaction.rb:182
8077
8085
  msgid "Somehow left a component in the relationship graph"
8078
8086
  msgstr ""
8079
8087
 
8080
- #: ../lib/puppet/transaction.rb:182
8081
- msgid "Starting to evaluate the resource"
8088
+ #: ../lib/puppet/transaction.rb:185
8089
+ msgid "Starting to evaluate the resource (%{progress} of %{total})"
8082
8090
  msgstr ""
8083
8091
 
8084
- #: ../lib/puppet/transaction.rb:184
8092
+ #: ../lib/puppet/transaction.rb:188
8085
8093
  msgid "Evaluated in %{seconds} seconds"
8086
8094
  msgstr ""
8087
8095
 
8088
- #: ../lib/puppet/transaction.rb:297
8096
+ #: ../lib/puppet/transaction.rb:301
8089
8097
  msgid "Dependency %{dep} has failures: %{status}"
8090
8098
  msgstr ""
8091
8099
 
8092
- #: ../lib/puppet/transaction.rb:318
8100
+ #: ../lib/puppet/transaction.rb:322
8093
8101
  msgid "Prefetch failed for %{type_name} provider '%{name}'"
8094
8102
  msgstr ""
8095
8103
 
8096
8104
  #. TRANSLATORS `prefetch` is a function name and should not be translated
8097
- #: ../lib/puppet/transaction.rb:363 ../lib/puppet/transaction.rb:366
8105
+ #: ../lib/puppet/transaction.rb:367 ../lib/puppet/transaction.rb:370
8098
8106
  msgid "Could not prefetch %{type_name} provider '%{name}': %{detail}"
8099
8107
  msgstr ""
8100
8108
 
8101
- #: ../lib/puppet/transaction.rb:399
8109
+ #: ../lib/puppet/transaction.rb:403
8102
8110
  msgid "Skipping because of failed dependencies"
8103
8111
  msgstr ""
8104
8112
 
8105
- #: ../lib/puppet/transaction.rb:404
8113
+ #: ../lib/puppet/transaction.rb:408
8106
8114
  msgid "Skipping because provider prefetch failed"
8107
8115
  msgstr ""
8108
8116