← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1751051] Re: UnicodeEncodeError when creating user with non-ascii chars

 

This bug was fixed in the package cloud-init - 18.1-5-g40e77380-0ubuntu1

---------------
cloud-init (18.1-5-g40e77380-0ubuntu1) bionic; urgency=medium

  * New upstream snapshot.
    - GCE: fix reading of user-data that is not base64 encoded. (LP: #1752711)
    - doc: fix chef install from apt packages example in RTD.
    - Implement puppet 4 support [Romanos Skiadas] (LP: #1446804)
    - subp: Fix subp usage with non-ascii characters when no system locale.
      (LP: #1751051)
    - salt: configure grains in grains file rather than in minion config.
      [Daniel Wallace]

 -- Chad Smith <chad.smith@xxxxxxxxxxxxx>  Thu, 01 Mar 2018 15:47:04
-0700

** Changed in: cloud-init (Ubuntu)
       Status: Confirmed => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to cloud-init.
https://bugs.launchpad.net/bugs/1751051

Title:
  UnicodeEncodeError when creating user with non-ascii chars

Status in cloud-init:
  Confirmed
Status in subiquity:
  New
Status in cloud-init package in Ubuntu:
  Fix Released

Bug description:
  I was testing subiquity, and at the user creation prompt typed in
  "André D'Silva" for the username, and just "andre" for the login.

  The installer finished fine, but upon first login I couldn't login.
  Booting into rescue mode showed me that the user had not been created.

  Checking cloud-init logs, I find the UnicodeEncodeError.
  2018-02-22 12:44:01,386 - __init__.py[DEBUG]: Adding user andre
  2018-02-22 12:44:01,387 - util.py[WARNING]: Failed to create user andre
  2018-02-22 12:44:01,387 - util.py[DEBUG]: Failed to create user andre
  Traceback (most recent call last):
    File "/usr/lib/python3/dist-packages/cloudinit/distros/__init__.py", line 463, in add_user
      util.subp(adduser_cmd, logstring=log_adduser_cmd)
    File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 1871, in subp
      env=env, shell=shell)
    File "/usr/lib/python3.6/subprocess.py", line 709, in __init__
      restore_signals, start_new_session)
    File "/usr/lib/python3.6/subprocess.py", line 1275, in _execute_child
      restore_signals, start_new_session, preexec_fn)
  UnicodeEncodeError: 'ascii' codec can't encode character '\xe9' in position 4: ordinal not in range(128)

  user-data contains this:
  #cloud-config
  hostname: sbqt
  users:
  - gecos: "Andr\xE9 D'Silva"
    groups: [adm, cdrom, dip, lpadmin, plugdev, sambashare, debian-tor, libvirtd, lxd,
      sudo]
    lock-passwd: false
    name: andre
    passwd: $6$UaxxahbQam4Ko1g7$WB5tNuCR84DvWwI7ovxDiofIdLP47pG2USPel2iIQV/qzzT3pAb1VtlbelCR2iCNRxCoJgsVafcNtqdfz1/IL1
    shell: /bin/bash
    ssh_import_id: ['lp:ahasenack']

  cloud-init is 17.2-34-g644048e3-0ubuntu1 from bionic/main.

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1751051/+subscriptions


References