On Tue, Jul 2, 2013 at 12:52 AM, Álvaro Acción - CiTIUS <
[email protected]> wrote:
> The output I get is this one:
>
> C:\Program Files (x86)\Puppet Labs\Puppet\bin>puppet.bat agent
> --server=pupbuntu
> .inv.usc.es --no-daemonize --verbose --debug --trace
> Could not retrieve domain: undefined method `gsub' for nil:NilClass
> Could not retrieve domain: undefined method `gsub' for nil:NilClass
> Could not retrieve domain: undefined method `gsub' for nil:NilClass
> Debug: Failed to load library 'syslog' for feature 'syslog'
> Debug: Failed to load library 'selinux' for feature 'selinux'
> Debug: Using settings: adding file resource 'confdir':
> 'File[C:/ProgramData/Pupp
> etLabs/puppet/etc]{:path=>"C:/ProgramData/PuppetLabs/puppet/etc",
> :ensure=>:dire
> ctory, :loglevel=>:debug, :links=>:follow, :backup=>false}'
> Debug: Using settings: adding file resource 'vardir':
> 'File[C:/ProgramData/Puppe
> tLabs/puppet/var]{:path=>"C:/ProgramData/PuppetLabs/puppet/var",
> :ensure=>:direc
> tory, :loglevel=>:debug, :links=>:follow, :backup=>false}'
> Debug: Using settings: adding file resource 'logdir':
> 'File[C:/ProgramData/Puppe
> tLabs/puppet/var/log]{:path=>"C:/ProgramData/PuppetLabs/puppet/var/log",
> :mode=>
> "750", :ensure=>:directory, :loglevel=>:debug, :links=>:follow,
> :backup=>false}'
>
> Debug: Using settings: adding file resource 'statedir':
> 'File[C:/ProgramData/Pup
> petLabs/puppet/var/state]{:path=>"C:/ProgramData/PuppetLabs/puppet/var/state",
> :
> mode=>"1755", :ensure=>:directory, :loglevel=>:debug, :links=>:follow,
> :backup=>
> false}'
> Debug: Using settings: adding file resource 'rundir':
> 'File[C:/ProgramData/Puppe
> tLabs/puppet/var/run]{:path=>"C:/ProgramData/PuppetLabs/puppet/var/run",
> :mode=>
> "1777", :ensure=>:directory, :loglevel=>:debug, :links=>:follow,
> :backup=>false}
> '
> Debug: Using settings: adding file resource 'libdir':
> 'File[C:/ProgramData/Puppe
> tLabs/puppet/var/lib]{:path=>"C:/ProgramData/PuppetLabs/puppet/var/lib",
> :ensure
> =>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'
> Debug: Using settings: adding file resource 'certdir':
> 'File[C:/ProgramData/Pupp
>
> etLabs/puppet/etc/ssl/certs]{:path=>"C:/ProgramData/PuppetLabs/puppet/etc/ssl/ce
> rts", :ensure=>:directory, :loglevel=>:debug, :links=>:follow,
> :backup=>false}'
> Debug: Using settings: adding file resource 'ssldir':
> 'File[C:/ProgramData/Puppe
> tLabs/puppet/etc/ssl]{:path=>"C:/ProgramData/PuppetLabs/puppet/etc/ssl",
> :mode=>
> "771", :ensure=>:directory, :loglevel=>:debug, :links=>:follow,
> :backup=>false}'
>
> Debug: Using settings: adding file resource 'publickeydir':
> 'File[C:/ProgramData
>
> /PuppetLabs/puppet/etc/ssl/public_keys]{:path=>"C:/ProgramData/PuppetLabs/puppet
> /etc/ssl/public_keys", :ensure=>:directory, :loglevel=>:debug,
> :links=>:follow,
> :backup=>false}'
> Debug: Using settings: adding file resource 'requestdir':
> 'File[C:/ProgramData/P
>
> uppetLabs/puppet/etc/ssl/certificate_requests]{:path=>"C:/ProgramData/PuppetLabs
> /puppet/etc/ssl/certificate_requests", :ensure=>:directory,
> :loglevel=>:debug, :
> links=>:follow, :backup=>false}'
> Debug: Using settings: adding file resource 'privatekeydir':
> 'File[C:/ProgramDat
>
> a/PuppetLabs/puppet/etc/ssl/private_keys]{:path=>"C:/ProgramData/PuppetLabs/pupp
> et/etc/ssl/private_keys", :mode=>"750", :ensure=>:directory,
> :loglevel=>:debug,
> :links=>:follow, :backup=>false}'
> Debug: Using settings: adding file resource 'privatedir':
> 'File[C:/ProgramData/P
>
> uppetLabs/puppet/etc/ssl/private]{:path=>"C:/ProgramData/PuppetLabs/puppet/etc/s
> sl/private", :mode=>"750", :ensure=>:directory, :loglevel=>:debug,
> :links=>:foll
> ow, :backup=>false}'
> Debug: Using settings: adding file resource 'hostprivkey':
> 'File[C:/ProgramData/
>
> PuppetLabs/puppet/etc/ssl/private_keys/ctdesk0222.pem]{:path=>"C:/ProgramData/Pu
> ppetLabs/puppet/etc/ssl/private_keys/ctdesk0222.pem", :mode=>"600",
> :ensure=>:fi
> le, :loglevel=>:debug, :links=>:follow, :backup=>false}'
> Debug: Using settings: adding file resource 'hostpubkey':
> 'File[C:/ProgramData/P
>
> uppetLabs/puppet/etc/ssl/public_keys/ctdesk0222.pem]{:path=>"C:/ProgramData/Pupp
> etLabs/puppet/etc/ssl/public_keys/ctdesk0222.pem", :mode=>"644",
> :ensure=>:file,
> :loglevel=>:debug, :links=>:follow, :backup=>false}'
> Debug: Using settings: adding file resource 'clientyamldir':
> 'File[C:/ProgramDat
>
> a/PuppetLabs/puppet/var/client_yaml]{:path=>"C:/ProgramData/PuppetLabs/puppet/va
> r/client_yaml", :mode=>"750", :ensure=>:directory, :loglevel=>:debug,
> :links=>:f
> ollow, :backup=>false}'
> Debug: Using settings: adding file resource 'client_datadir':
> 'File[C:/ProgramDa
>
> ta/PuppetLabs/puppet/var/client_data]{:path=>"C:/ProgramData/PuppetLabs/puppet/v
> ar/client_data", :mode=>"750", :ensure=>:directory, :loglevel=>:debug,
> :links=>:
> follow, :backup=>false}'
> Debug: Using settings: adding file resource 'clientbucketdir':
> 'File[C:/ProgramD
>
> ata/PuppetLabs/puppet/var/clientbucket]{:path=>"C:/ProgramData/PuppetLabs/puppet
> /var/clientbucket", :mode=>"750", :ensure=>:directory, :loglevel=>:debug,
> :links
> =>:follow, :backup=>false}'
> Debug: Using settings: adding file resource 'graphdir':
> 'File[C:/ProgramData/Pup
>
> petLabs/puppet/var/state/graphs]{:path=>"C:/ProgramData/PuppetLabs/puppet/var/st
> ate/graphs", :ensure=>:directory, :loglevel=>:debug, :links=>:follow,
> :backup=>f
> alse}'
> Debug: Puppet::Type::File::ProviderPosix: feature posix is missing
> Debug: Failed to load library 'shadow' for feature 'libshadow'
> Debug: /File[C:/ProgramData/PuppetLabs/puppet/var/log]: Autorequiring
> File[C:/Pr
> ogramData/PuppetLabs/puppet/var]
> Debug: /File[C:/ProgramData/PuppetLabs/puppet/var/state]: Autorequiring
> File[C:/
> ProgramData/PuppetLabs/puppet/var]
> Debug: /File[C:/ProgramData/PuppetLabs/puppet/var/run]: Autorequiring
> File[C:/Pr
> ogramData/PuppetLabs/puppet/var]
> Debug: /File[C:/ProgramData/PuppetLabs/puppet/var/lib]: Autorequiring
> File[C:/Pr
> ogramData/PuppetLabs/puppet/var]
> Debug: /File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/certs]:
> Autorequiring File
> [C:/ProgramData/PuppetLabs/puppet/etc/ssl]
> Debug: /File[C:/ProgramData/PuppetLabs/puppet/etc/ssl]: Autorequiring
> File[C:/Pr
> ogramData/PuppetLabs/puppet/etc]
> Debug: /File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/public_keys]:
> Autorequirin
> g File[C:/ProgramData/PuppetLabs/puppet/etc/ssl]
> Debug:
> /File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/certificate_requests]: Aut
> orequiring File[C:/ProgramData/PuppetLabs/puppet/etc/ssl]
> Debug: /File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/private_keys]:
> Autorequiri
> ng File[C:/ProgramData/PuppetLabs/puppet/etc/ssl]
> Debug: /File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/private]:
> Autorequiring Fi
> le[C:/ProgramData/PuppetLabs/puppet/etc/ssl]
> Debug: /File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/private_keys/
> ctdesk0222.pe
> m]: Autorequiring
> File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/private_keys]
> Debug:
> /File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/public_keys/ctdesk0222.pem
> ]: Autorequiring File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/public_keys]
> Debug: /File[C:/ProgramData/PuppetLabs/puppet/var/client_yaml]:
> Autorequiring Fi
> le[C:/ProgramData/PuppetLabs/puppet/var]
> Debug: /File[C:/ProgramData/PuppetLabs/puppet/var/client_data]:
> Autorequiring Fi
> le[C:/ProgramData/PuppetLabs/puppet/var]
> Debug: /File[C:/ProgramData/PuppetLabs/puppet/var/clientbucket]:
> Autorequiring F
> ile[C:/ProgramData/PuppetLabs/puppet/var]
> Debug: /File[C:/ProgramData/PuppetLabs/puppet/var/state/graphs]:
> Autorequiring F
> ile[C:/ProgramData/PuppetLabs/puppet/var/state]
> Debug: Finishing transaction 34603848
> Debug: Using settings: adding file resource 'confdir':
> 'File[C:/ProgramData/Pupp
> etLabs/puppet/etc]{:path=>"C:/ProgramData/PuppetLabs/puppet/etc",
> :ensure=>:dire
> ctory, :loglevel=>:debug, :links=>:follow, :backup=>false}'
> Debug: Using settings: adding file resource 'vardir':
> 'File[C:/ProgramData/Puppe
> tLabs/puppet/var]{:path=>"C:/ProgramData/PuppetLabs/puppet/var",
> :ensure=>:direc
> tory, :loglevel=>:debug, :links=>:follow, :backup=>false}'
> Debug: Using settings: adding file resource 'logdir':
> 'File[C:/ProgramData/Puppe
> tLabs/puppet/var/log]{:path=>"C:/ProgramData/PuppetLabs/puppet/var/log",
> :mode=>
> "750", :ensure=>:directory, :loglevel=>:debug, :links=>:follow,
> :backup=>false}'
>
> Debug: Using settings: adding file resource 'statedir':
> 'File[C:/ProgramData/Pup
> petLabs/puppet/var/state]{:path=>"C:/ProgramData/PuppetLabs/puppet/var/state",
> :
> mode=>"1755", :ensure=>:directory, :loglevel=>:debug, :links=>:follow,
> :backup=>
> false}'
> Debug: Using settings: adding file resource 'rundir':
> 'File[C:/ProgramData/Puppe
> tLabs/puppet/var/run]{:path=>"C:/ProgramData/PuppetLabs/puppet/var/run",
> :mode=>
> "1777", :ensure=>:directory, :loglevel=>:debug, :links=>:follow,
> :backup=>false}
> '
> Debug: Using settings: adding file resource 'libdir':
> 'File[C:/ProgramData/Puppe
> tLabs/puppet/var/lib]{:path=>"C:/ProgramData/PuppetLabs/puppet/var/lib",
> :ensure
> =>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'
> Debug: Using settings: adding file resource 'certdir':
> 'File[C:/ProgramData/Pupp
>
> etLabs/puppet/etc/ssl/certs]{:path=>"C:/ProgramData/PuppetLabs/puppet/etc/ssl/ce
> rts", :ensure=>:directory, :loglevel=>:debug, :links=>:follow,
> :backup=>false}'
> Debug: Using settings: adding file resource 'ssldir':
> 'File[C:/ProgramData/Puppe
> tLabs/puppet/etc/ssl]{:path=>"C:/ProgramData/PuppetLabs/puppet/etc/ssl",
> :mode=>
> "771", :ensure=>:directory, :loglevel=>:debug, :links=>:follow,
> :backup=>false}'
>
> Debug: Using settings: adding file resource 'publickeydir':
> 'File[C:/ProgramData
>
> /PuppetLabs/puppet/etc/ssl/public_keys]{:path=>"C:/ProgramData/PuppetLabs/puppet
> /etc/ssl/public_keys", :ensure=>:directory, :loglevel=>:debug,
> :links=>:follow,
> :backup=>false}'
> Debug: Using settings: adding file resource 'requestdir':
> 'File[C:/ProgramData/P
>
> uppetLabs/puppet/etc/ssl/certificate_requests]{:path=>"C:/ProgramData/PuppetLabs
> /puppet/etc/ssl/certificate_requests", :ensure=>:directory,
> :loglevel=>:debug, :
> links=>:follow, :backup=>false}'
> Debug: Using settings: adding file resource 'privatekeydir':
> 'File[C:/ProgramDat
>
> a/PuppetLabs/puppet/etc/ssl/private_keys]{:path=>"C:/ProgramData/PuppetLabs/pupp
> et/etc/ssl/private_keys", :mode=>"750", :ensure=>:directory,
> :loglevel=>:debug,
> :links=>:follow, :backup=>false}'
> Debug: Using settings: adding file resource 'privatedir':
> 'File[C:/ProgramData/P
>
> uppetLabs/puppet/etc/ssl/private]{:path=>"C:/ProgramData/PuppetLabs/puppet/etc/s
> sl/private", :mode=>"750", :ensure=>:directory, :loglevel=>:debug,
> :links=>:foll
> ow, :backup=>false}'
> Debug: Using settings: adding file resource 'hostprivkey':
> 'File[C:/ProgramData/
>
> PuppetLabs/puppet/etc/ssl/private_keys/ctdesk0222.pem]{:path=>"C:/ProgramData/Pu
> ppetLabs/puppet/etc/ssl/private_keys/ctdesk0222.pem", :mode=>"600",
> :ensure=>:fi
> le, :loglevel=>:debug, :links=>:follow, :backup=>false}'
> Debug: Using settings: adding file resource 'hostpubkey':
> 'File[C:/ProgramData/P
>
> uppetLabs/puppet/etc/ssl/public_keys/ctdesk0222.pem]{:path=>"C:/ProgramData/Pupp
> etLabs/puppet/etc/ssl/public_keys/ctdesk0222.pem", :mode=>"644",
> :ensure=>:file,
> :loglevel=>:debug, :links=>:follow, :backup=>false}'
> Debug: /File[C:/ProgramData/PuppetLabs/puppet/var/log]: Autorequiring
> File[C:/Pr
> ogramData/PuppetLabs/puppet/var]
> Debug: /File[C:/ProgramData/PuppetLabs/puppet/var/state]: Autorequiring
> File[C:/
> ProgramData/PuppetLabs/puppet/var]
> Debug: /File[C:/ProgramData/PuppetLabs/puppet/var/run]: Autorequiring
> File[C:/Pr
> ogramData/PuppetLabs/puppet/var]
> Debug: /File[C:/ProgramData/PuppetLabs/puppet/var/lib]: Autorequiring
> File[C:/Pr
> ogramData/PuppetLabs/puppet/var]
> Debug: /File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/certs]:
> Autorequiring File
> [C:/ProgramData/PuppetLabs/puppet/etc/ssl]
> Debug: /File[C:/ProgramData/PuppetLabs/puppet/etc/ssl]: Autorequiring
> File[C:/Pr
> ogramData/PuppetLabs/puppet/etc]
> Debug: /File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/public_keys]:
> Autorequirin
> g File[C:/ProgramData/PuppetLabs/puppet/etc/ssl]
> Debug:
> /File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/certificate_requests]: Aut
> orequiring File[C:/ProgramData/PuppetLabs/puppet/etc/ssl]
> Debug: /File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/private_keys]:
> Autorequiri
> ng File[C:/ProgramData/PuppetLabs/puppet/etc/ssl]
> Debug: /File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/private]:
> Autorequiring Fi
> le[C:/ProgramData/PuppetLabs/puppet/etc/ssl]
> Debug: /File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/private_keys/
> ctdesk0222.pe
> m]: Autorequiring
> File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/private_keys]
> Debug:
> /File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/public_keys/ctdesk0222.pem
> ]: Autorequiring File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/public_keys]
> Debug: Finishing transaction 35053716
>
> Error: Could not prepare for execution: "\xF3" to UTF-8 in conversion from
> ASCII
> -8BIT to UTF-8 to UTF-16LE
> C:/Program Files (x86)/Puppet
> Labs/Puppet/puppet/lib/puppet/util/colors.rb:116:i
> n `encode'
> C:/Program Files (x86)/Puppet
> Labs/Puppet/puppet/lib/puppet/util/colors.rb:116:i
> n `string_encode'
> C:/Program Files (x86)/Puppet
> Labs/Puppet/puppet/lib/puppet/util/colors.rb:110:i
> n `Write'
> C:/Program Files (x86)/Puppet
> Labs/Puppet/sys/ruby/lib/ruby/gems/1.9.1/gems/win3
> 2console-1.3.2-x86-mingw32/lib/Win32/Console/ANSI.rb:164:in `_PrintString'
> C:/Program Files (x86)/Puppet
> Labs/Puppet/sys/ruby/lib/ruby/gems/1.9.1/gems/win3
> 2console-1.3.2-x86-mingw32/lib/Win32/Console/ANSI.rb:146:in `block in
> write'
> C:/Program Files (x86)/Puppet
> Labs/Puppet/sys/ruby/lib/ruby/gems/1.9.1/gems/win3
> 2console-1.3.2-x86-mingw32/lib/Win32/Console/ANSI.rb:146:in `each'
> C:/Program Files (x86)/Puppet
> Labs/Puppet/sys/ruby/lib/ruby/gems/1.9.1/gems/win3
> 2console-1.3.2-x86-mingw32/lib/Win32/Console/ANSI.rb:146:in `write'
> C:/Program Files (x86)/Puppet
> Labs/Puppet/puppet/lib/puppet/util/log/destination
> s.rb:125:in `puts'
> C:/Program Files (x86)/Puppet
> Labs/Puppet/puppet/lib/puppet/util/log/destination
> s.rb:125:in `handle'
> C:/Program Files (x86)/Puppet
> Labs/Puppet/puppet/lib/puppet/util/log.rb:156:in `
> block (2 levels) in newmessage'
> C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/util.rb:322:in
> `bloc
> k in threadlock'
> C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/util.rb:72:in
> `block
> in synchronize_on'
> C:/Program Files (x86)/Puppet
> Labs/Puppet/sys/ruby/lib/ruby/1.9.1/sync.rb:227:in
> `sync_synchronize'
> C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/util.rb:72:in
> `synch
> ronize_on'
> C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/util.rb:322:in
> `thre
> adlock'
> C:/Program Files (x86)/Puppet
> Labs/Puppet/puppet/lib/puppet/util/log.rb:155:in `
> block in newmessage'
> C:/Program Files (x86)/Puppet
> Labs/Puppet/puppet/lib/puppet/util/log.rb:154:in `
> each'
> C:/Program Files (x86)/Puppet
> Labs/Puppet/puppet/lib/puppet/util/log.rb:154:in `
> newmessage'
> C:/Program Files (x86)/Puppet
> Labs/Puppet/puppet/lib/puppet/util/log.rb:248:in `
> initialize'
> C:/Program Files (x86)/Puppet
> Labs/Puppet/puppet/lib/puppet/util/log.rb:82:in `n
> ew'
> C:/Program Files (x86)/Puppet
> Labs/Puppet/puppet/lib/puppet/util/log.rb:82:in `c
> reate'
> C:/Program Files (x86)/Puppet
> Labs/Puppet/puppet/lib/puppet/util/logging.rb:8:in
> `send_log'
> C:/Program Files (x86)/Puppet
> Labs/Puppet/puppet/lib/puppet/util/logging.rb:15:i
> n `block (2 levels) in <module:Logging>'
> C:/Program Files (x86)/Puppet
> Labs/Puppet/puppet/lib/puppet/util/logging.rb:27:i
> n `log_exception'
> C:/Program Files (x86)/Puppet
> Labs/Puppet/puppet/lib/puppet/ssl/host.rb:319:in `
> rescue in wait_for_cert'
>
>
This shows that the agent tried to make an SSL connection to the master and
failed. Puppet then tries to log the exception to the console[1]. In the
process, puppet attempts to encode the string in UTF-16LE (windows' native
wide character encoding), but obviously fails.
I can reproduce the exception just in ruby. Given a file encoding.rb:
# -*- coding: utf-8 -*-
detail = 'Acción'.force_encoding('ASCII-8BIT')
puts detail.encode('UTF-16LE')
Using ruby 1.9.3:
C:\work\puppet>ruby encoding.rb
encoding.rb:3:in `encode': "\xC3" to UTF-8 in conversion from ASCII-8BIT to
UTF-8 to UTF-16LE (Encoding::UndefinedConversionError)
from encoding.rb:3:in `<main>'
The problem appears to be that ruby (or ruby's openssl bindings) are
constructing an exception whose message is an ASCII-8BIT encoded string,
instead of the encoding currently in use.
Does the agent or master hostname, or any part of the master's certificate,
e.g. common name, locale, state, etc, contain any non US-ASCII characters?
Josh
[1]
https://github.com/puppetlabs/puppet/blob/master/lib/puppet/ssl/host.rb#L319
--
Josh Cooper
Developer, Puppet Labs
*Join us at PuppetConf 2013, August 22-23 in San Francisco - *
http://bit.ly/pupconf13*
**Register now and take advantage of the Final Countdown discount - save
15%!*
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-users.
For more options, visit https://groups.google.com/groups/opt_out.