Package: puppet Version: 3.7.2-4 Severity: important Hi,
When testing my puppet infrastructure with Debian jessie puppet 3.7 and a UTF-8 locale, I noticed a regression vs debian wheezy concerning users with non-ASCII realnames. $ locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" ... $ puppet -V 3.7.2 $ ruby --version ruby 2.1.5p273 (2014-11-13) [x86_64-linux-gnu] Adding a new user, or changing a pure-ASCII comment to a non-ASCII comment, works fine: $ getent passwd terom terom:x:1001:100:Tero:/home/terom:/bin/bash $ sudo LANG=C.UTF-8 puppet resource user terom ensure=present comment=Tëro Notice: /User[terom]/comment: comment changed 'Tero' to 'Tëro' user { 'terom': ensure => 'present', comment => 'Tëro', } However, user resources with non-ASCII real names in the /etc/passwd comment field trigger encoding-related errors and fail to apply: $ sudo LANG=C.UTF-8 puppet resource user terom ensure=present comment=Tëro Error: Could not convert change 'comment' to string: incompatible character encodings: UTF-8 and ASCII-8BIT Error: Could not convert change 'comment' to string: incompatible character encodings: UTF-8 and ASCII-8BIT Error: /User[terom]: Could not evaluate: Puppet::Util::Log requires a message user { 'terom': ensure => 'present', comment => 'Tëro', } The bug seems closely related to the upstream bug #22703, which should have been fixed in Puppet 3.4? https://projects.puppetlabs.com/issues/22703 The workaround is to use a non-UTF-8 locale. $ sudo LANG=C puppet resource user terom ensure=present comment=Tëro user { 'terom': ensure => 'present', comment => 'Tëro', } This also happens with the upstream puppet 3.7.5 on Debian jessie: $ dpkg -l puppet Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-=================================-=====================-=====================-======================================================================== ii puppet 3.7.5-1puppetlabs1 all Centralized configuration management - agent startup and compatibility s $ puppet --version 3.7.5 $ sudo LANG=C.UTF-8 puppet resource user terom ensure=present comment=Tëro Error: Could not convert change 'comment' to string: incompatible character encodings: UTF-8 and ASCII-8BIT Error: Could not convert change 'comment' to string: incompatible character encodings: UTF-8 and ASCII-8BIT Error: /User[terom]: Could not evaluate: Puppet::Util::Log requires a message user { 'terom': ensure => 'present', comment => 'Tëro', } However, the upstream 3.7.5 on debian wheezy works fine: $ dpkg -l puppet ruby Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-=================================-=====================-=====================-======================================================================== ii puppet 3.7.5-1puppetlabs1 all Centralized configuration management - agent startup and compatibility s ii ruby 1:1.9.3 all Interpreter of object-oriented scripting language Ruby (default version) $ getent passwd terom terom:x:1001:100:Tëro:/home/terom:/bin/bash $ sudo LANG=C.UTF-8 puppet resource user terom ensure=present comment=Tëro user { 'terom': ensure => 'present', comment => 'Tëro', } -- Tero Marttila -- System Information: Debian Release: 8.0 APT prefers testing-updates APT policy: (500, 'testing-updates'), (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 3.16.0-4-amd64 (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages puppet depends on: ii init-system-helpers 1.22 ii puppet-common 3.7.2-4 ii ruby 1:2.1.5 ii ruby2.1 [ruby-interpreter] 2.1.5-2 puppet recommends no packages. Versions of packages puppet suggests: pn etckeeper <none> pn puppet-el <none> pn vim-puppet <none> -- Configuration Files: /etc/default/puppet e3a89dd703e6b796ef7889ba75af2df7 [Errno 2] No such file or directory: u'/etc/default/puppet e3a89dd703e6b796ef7889ba75af2df7' /etc/logrotate.d/puppet 037c34a239a8895833388ccfce278adc [Errno 2] No such file or directory: u'/etc/logrotate.d/puppet 037c34a239a8895833388ccfce278adc' -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org