Issue #22107 has been updated by Dustin Mitchell.
There aren't non-ascii characters anywhere in the user DB as returned by
Etc.getpwent, and this is a new user. The trace is
Error: Could not set 'present' on ensure: incompatible character encodings:
ASCII-8BIT and US-ASCII at 5:/private/var/root/foo.pp
/Library/Ruby/Gems/2.0.0/gems/facter-1.7.2/lib/facter/util/cfpropertylist/lib/rbBinaryCFPropertyList.rb:522:in
`data_to_binary'
/Library/Ruby/Gems/2.0.0/gems/facter-1.7.2/lib/facter/util/cfpropertylist/lib/rbCFTypes.rb:193:in
`to_binary'
/Library/Ruby/Gems/2.0.0/gems/facter-1.7.2/lib/facter/util/cfpropertylist/lib/rbBinaryCFPropertyList.rb:534:in
`block in array_to_binary'
/Library/Ruby/Gems/2.0.0/gems/facter-1.7.2/lib/facter/util/cfpropertylist/lib/rbBinaryCFPropertyList.rb:534:in
`map'
/Library/Ruby/Gems/2.0.0/gems/facter-1.7.2/lib/facter/util/cfpropertylist/lib/rbBinaryCFPropertyList.rb:534:in
`array_to_binary'
/Library/Ruby/Gems/2.0.0/gems/facter-1.7.2/lib/facter/util/cfpropertylist/lib/rbCFTypes.rb:215:in
`to_binary'
/Library/Ruby/Gems/2.0.0/gems/facter-1.7.2/lib/facter/util/cfpropertylist/lib/rbBinaryCFPropertyList.rb:551:in
`block in dict_to_binary'
/Library/Ruby/Gems/2.0.0/gems/facter-1.7.2/lib/facter/util/cfpropertylist/lib/rbBinaryCFPropertyList.rb:551:in
`map'
/Library/Ruby/Gems/2.0.0/gems/facter-1.7.2/lib/facter/util/cfpropertylist/lib/rbBinaryCFPropertyList.rb:551:in
`dict_to_binary'
/Library/Ruby/Gems/2.0.0/gems/facter-1.7.2/lib/facter/util/cfpropertylist/lib/rbCFTypes.rb:239:in
`to_binary'
/Library/Ruby/Gems/2.0.0/gems/facter-1.7.2/lib/facter/util/cfpropertylist/lib/rbBinaryCFPropertyList.rb:70:in
`to_str'
/Library/Ruby/Gems/2.0.0/gems/facter-1.7.2/lib/facter/util/cfpropertylist/lib/rbCFPropertyList.rb:364:in
`to_str'
/Library/Ruby/Gems/2.0.0/gems/facter-1.7.2/lib/facter/util/cfpropertylist/lib/rbCFPropertyList.rb:398:in
`to_plist'
/Library/Ruby/Gems/2.0.0/gems/facter-1.7.2/lib/facter/util/plist/generator.rb:54:in
`block in save_plist'
/Library/Ruby/Gems/2.0.0/gems/facter-1.7.2/lib/facter/util/plist/generator.rb:53:in
`open'
/Library/Ruby/Gems/2.0.0/gems/facter-1.7.2/lib/facter/util/plist/generator.rb:53:in
`save_plist'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/provider/user/directoryservice.rb:637:in
`write_users_plist_to_disk'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/provider/user/directoryservice.rb:569:in
`set_shadow_hash_data'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/provider/user/directoryservice.rb:631:in
`set_salted_pbkdf2'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/provider/user/directoryservice.rb:535:in
`write_password_to_users_plist'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/provider/user/directoryservice.rb:394:in
`password='
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/provider/user/directoryservice.rb:313:in
`block in create'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/provider/user/directoryservice.rb:278:in
`each'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/provider/user/directoryservice.rb:278:in
`create'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/type/user.rb:58:in
`block (3 levels) in <module:Puppet>'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/property.rb:197:in
`call_valuemethod'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/property.rb:498:in
`set'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/property.rb:581:in
`sync'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/transaction/resource_harness.rb:114:in
`apply_parameter'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/transaction/resource_harness.rb:56:in
`perform_changes'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/transaction/resource_harness.rb:139:in
`evaluate'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/transaction.rb:48:in
`apply'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/transaction.rb:83:in
`eval_resource'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/transaction.rb:103:in
`block (2 levels) in evaluate'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/util.rb:351:in `block
in thinmark'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/benchmark.rb:296:in
`realtime'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/util.rb:350:in
`thinmark'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/transaction.rb:103:in
`block in evaluate'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/transaction.rb:382:in
`traverse'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/transaction.rb:98:in
`evaluate'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/resource/catalog.rb:146:in
`apply'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/configurer.rb:122:in
`block in apply_catalog'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/util.rb:179:in `block
in benchmark'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/benchmark.rb:296:in
`realtime'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/util.rb:178:in
`benchmark'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/configurer.rb:121:in
`apply_catalog'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/configurer.rb:179:in
`run'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/application/apply.rb:275:in
`apply_catalog'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/application/apply.rb:223:in
`main'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/application/apply.rb:151:in
`run_command'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/application.rb:364:in
`block (2 levels) in run'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/application.rb:456:in
`plugin_hook'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/application.rb:364:in
`block in run'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/util.rb:504:in
`exit_on_fail'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/application.rb:364:in
`run'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/util/command_line.rb:132:in
`run'
/Library/Ruby/Gems/2.0.0/gems/puppet-3.2.3/lib/puppet/util/command_line.rb:86:in
`execute'
/usr/bin/puppet:4:in `<main>'
which suggests that Etc is not to blame?
----------------------------------------
Bug #22107: user provider fails on OS X 10.9 Mavericks
https://projects.puppetlabs.com/issues/22107#change-96137
* Author: Dustin Mitchell
* Status: Needs More Information
* Priority: Normal
* Assignee: Dustin Mitchell
* Category:
* Target version:
* Affected Puppet version:
* Keywords:
* Branch:
----------------------------------------
t-maverick-r5-001:~ root# cat foo.pp
user { 'test':
iterations => '26954',
salt => '81b3d509c7b4d0c1d8e8021bdd5fa21e8b095a60b7ab3f00a5c3fa98fb4d5f39',
password =>
'265845a0e1c47c558b8845c2c43eccd74eda5dd2d00b501be02a4fe8878d6692fe87803533d72c2a7911576c3df9227d4b8d22dcb692d1b75d50cee2053154e7afcf06280c11369b7d473f7a3012eb5ab3f3fe8e7fef80e561a327aebfa243e749e64052742d9aa3639c6422a083fdecca26b04620949003caa812e1d13bb9d7';
}
t-maverick-r5-001:~ root# puppet apply foo.pp
Error: Could not set 'present' on ensure: incompatible character encodings:
ASCII-8BIT and US-ASCII at 5:/private/var/root/foo.pp
Error: Could not set 'present' on ensure: incompatible character encodings:
ASCII-8BIT and US-ASCII at 5:/private/var/root/foo.pp
Wrapped exception:
incompatible character encodings: ASCII-8BIT and US-ASCII
Error: /User[test]/ensure: change from absent to present failed: Could not
set 'present' on ensure: incompatible character encodings: ASCII-8BIT and
US-ASCII at 5:/private/var/root/foo.pp
Notice: Finished catalog run in 5.94 seconds
--
You have received this notification because you have either subscribed to it,
or are involved in it.
To change your notification preferences, please click here:
http://projects.puppetlabs.com/my/account
--
You received this message because you are subscribed to the Google Groups
"Puppet Bugs" 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-bugs.
For more options, visit https://groups.google.com/groups/opt_out.