Bug 1325110 - non-Ascii Character in user cause director operation to fail
Summary: non-Ascii Character in user cause director operation to fail
Keywords:
Status: CLOSED EOL
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: python-openstackclient
Version: 7.0 (Kilo)
Hardware: Unspecified
OS: Unspecified
high
medium
Target Milestone: ---
: 8.0 (Liberty)
Assignee: Jakub Ruzicka
QA Contact: Shai Revivo
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-04-08 09:34 UTC by Harald Jensås
Modified: 2019-12-16 05:37 UTC (History)
10 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-05-01 20:38:52 UTC
Target Upstream Version:


Attachments (Terms of Use)
overcloud-controller sosreport (11.36 MB, application/x-xz)
2016-04-08 09:56 UTC, Harald Jensås
no flags Details
overcloud-controller sosreport md5sum (33 bytes, text/plain)
2016-04-08 09:57 UTC, Harald Jensås
no flags Details

Description Harald Jensås 2016-04-08 09:34:11 UTC
Description of problem:
When a user with a non-ASCII charackter exist, a re-deploy/update/scale operation fail.

Version-Release number of selected component (if applicable):
[stack@undercloud ~]$ rpm -qa | grep tripleo
openstack-tripleo-common-0.0.1.dev6-6.git49b57eb.el7ost.noarch
openstack-tripleo-heat-templates-0.8.6-123.el7ost.noarch
openstack-tripleo-0.0.7-0.1.1664e566.el7ost.noarch
openstack-tripleo-puppet-elements-0.0.1-5.el7ost.noarch
openstack-tripleo-image-elements-0.9.6-10.el7ost.noarch

[heat-admin@overcloud-controller-0 ~]$ sudo rpm -qa | grep puppet
puppet-3.6.2-2.el7.noarch
openstack-puppet-modules-2015.1.8-51.el7ost.noarch


How reproducible:
100%, steps below.

Steps to Reproduce:
1.(openstack) user create --project admin --email hjensas --enable --password hjensas "haraldjensås"
+------------+----------------------------------+
| Field      | Value                            |
+------------+----------------------------------+
| email      | hjensas               |
| enabled    | True                             |
| id         | 41c4f9ec59384239990aec8d3a6f0ccc |
| name       | haraldjensås                     |
| project_id | 055966471f944a4ebb12f81753f4a891 |
| username   | haraldjensås                     |
+------------+----------------------------------+
2.(openstack) user list
+----------------------------------+--------------+
| ID                               | Name         |
+----------------------------------+--------------+
| 161b1f81c78342269601722fafefa670 | admin        |
| 33d4fb018dc74145b142d5376bf64c6c | nova         |
| 41c4f9ec59384239990aec8d3a6f0ccc | haraldjensås | <--- Non ascii char
| 45527723f2d848d1b9494dee484779cf | cinder       |
| 6ff5f0a2289c4dfaa5b539cbabe98a96 | swift        |
| 71cc3322b3584a6c820250ca73b40033 | cinderv2     |
| 8e66d88846994f9ebd2348feb4ebf3e8 | ceilometer   |
| bd921c7b2fe14ed89ac5623f5f2b8b10 | heat         |
| c84f2b33825445878f6352738a668a4f | neutron      |
| fd00f433f3124c888edb38df20501d5f | glance       |
+----------------------------------+--------------+
3. [stack@undercloud ~]$ cat overcloud-deploy.sh 
#!/bin/bash

cd /home/stack

openstack overcloud deploy \
  --templates /home/stack/templates/my-overcloud/ \
  --ntp-server 192.168.102.11 \
  --control-scale 1 \
  --compute-scale 1 \
  --neutron-network-type vxlan \
  --neutron-tunnel-types vxlan \
  -e /home/stack/templates/my-rabbit-fd-limits.yaml
#  -e /home/stack/templates/my-parameters.yaml

4.[stack@undercloud ~]$ bash overcloud-deploy.sh 
Deploying templates in the directory /home/stack/templates/my-overcloud
Stack failed with status: resources.ControllerNodesPostDeployment: resources.ControllerOvercloudServicesDeployment_Step6: Error: resources[0]: Deployment to server failed: deploy_status_code : Deployment exited with non-zero status code: 6
ERROR: openstack Heat Stack update failed.

Actual results:
Stack failed with status: resources.ControllerNodesPostDeployment: resources.ControllerOvercloudServicesDeployment_Step6: Error: resources[0]: Deployment to server failed: deploy_status_code : Deployment exited with non-zero status code: 6
ERROR: openstack Heat Stack update failed.


In the os-collect-config logs these entries:
-----------
Apr 08 08:13:22 overcloud-controller-0.localdomain os-collect-config[3290]: Error: Could not prefetch keystone_user provider 'openstack': Execution of '/usr/bin/openstack user list --quiet --format csv --long' returned 1: ERROR: openstack 'ascii' codec can't encode character u'\xe5' in position 10: ordinal not in range(128)
Apr 08 08:13:22 overcloud-controller-0.localdomain os-collect-config[3290]: "ID","Name","Project","Email","Enabled"
Apr 08 08:13:22 overcloud-controller-0.localdomain os-collect-config[3290]: "161b1f81c78342269601722fafefa670","admin","admin","root@localhost",True
Apr 08 08:13:22 overcloud-controller-0.localdomain os-collect-config[3290]: "33d4fb018dc74145b142d5376bf64c6c","nova","service","email=nobody",True
Apr 08 08:13:22 overcloud-controller-0.localdomain os-collect-config[3290]: Error: Execution of '/usr/bin/openstack user create --format shell admin --enable --password AZADfbmt2JbbQVHh3nkfVwhQ6 --project admin --email root@localhost' returned 1: ERROR: openstack Conflict occurred attempting to store user - Duplicate Entry (HTTP 409) (Request-ID: req-efd6c099-a9fc-4913-b8ca-ba325ffec901)
Apr 08 08:13:22 overcloud-controller-0.localdomain os-collect-config[3290]: Error: /Stage[main]/Keystone::Roles::Admin/Keystone_user[admin]/ensure: change from absent to present failed: Execution of '/usr/bin/openstack user create --format shell admin --enable --password AZADfbmt2JbbQVHh3nkfVwhQ6 --project admin --email root@localhost' returned 1: ERROR: openstack Conflict occurred attempting 
Apr 08 08:13:22 overcloud-controller-0.localdomain os-collect-config[3290]: Warning: /Stage[main]/Keystone::Roles::Admin/Keystone_user_role[admin@admin]: Skipping because of failed dependencies
Apr 08 08:13:22 overcloud-controller-0.localdomain os-collect-config[3290]: Warning: /Stage[main]/Heat::Keystone::Domain/Exec[heat_domain_create]: Skipping because of failed dependencies


Expected results:
The stack update should complete successfully

Additional info:
This also happen when an directory such as LDAP or Active Directory is used, if a user in the directory has a name or similar with a non-ASCII character the deployment will fail in the same way.

Comment 2 Harald Jensås 2016-04-08 09:56:24 UTC
Created attachment 1145079 [details]
overcloud-controller sosreport

Comment 3 Harald Jensås 2016-04-08 09:57:19 UTC
Created attachment 1145080 [details]
overcloud-controller sosreport md5sum

Comment 4 Jeremy 2016-11-22 18:59:48 UTC
Adding Customer support case as another Customer has hit this issue because of unicode character in keystone user email address.  Same error:


Nov 21 20:32:09 overcloud-s1-twinsburg-controller-0.localdomain os-collect-config[4375]: g to store user - Duplicate Entry (HTTP 409) (Request-ID: req-b6aa1b25-0d0d-47bd-b4da-1f4c2c13afb6)\u001b[0m\n\u001b[1;31mError: /Stage[main]/Keystone::Roles::Admin/Keystone_user[admin]/ensure: change from absent to present failed: Execution of '/usr/bin/openstack user create --format shell admin --enable --password hy7juVv7K4FfxFKdwq2E6Ck8p --project admin --email root@localhost' returned 1: ERROR:

Comment 5 Ben Nemec 2017-03-21 19:42:12 UTC
This appears to be a general issue handling utf-8 in openstackclient.  I'm not sure if there's a DFG that is responsible for OSC, so I'm leaving it in DF for now.  It's not really deployment-specific though.

Comment 6 Steve Baker 2018-04-02 20:42:47 UTC
Reassigning to DFG:UI


Note You need to log in before you can comment on or make changes to this bug.