Note: This bug is displayed in read-only format because
the product is no longer active in Red Hat Bugzilla.
Red Hat Satellite engineering is moving the tracking of its product development work on Satellite to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "Satellite project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs will be migrated starting at the end of May. If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "Satellite project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/SAT-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
If you create a user in Katello that has utf8 characters in the username and then attempt to interact with pulp with syncs, repo discovery or anything that requires delayed task processing you will see errors in Katello and Pulp.
How to reproduce (create a user, a repo and sync):
katello -u admin -p admin user create --username "Mané" --password redhat --email "mane"
katello -u admin -p admin user assign_role --username "Mané" --role "Administrator"
katello -u Mané -p redhat org create --name Cuiabá --label Cuiaba
katello -u Mané -p redhat provider create --name test_prov --org Cuiabá
katello -u Mané -p redhat product create --name Cuiabá_prod --provider test_prov --org Cuiabá
katello -u Mané -p redhat repo create --name Cuiabá_repo --product Cuiabá_prod --org Cuiabá --product Cuiabá_prod
katello -u Mané -p redhat repo synchronize --name Cuiabá_prod_dummy_repos_zoo --org Cuiabá --product Cuiabá_prod
Error in pulp log:
2012-10-01 10:48:16,450 11917:140154905814784: pulp.server.webservices.controllers.repositories:INFO: repositories:1179 sync timeout passed : None
2012-10-01 10:48:16,500 11917:140155184740096: pulp:CRITICAL: queue:130 Exception in FIFO Queue Dispatch Thread
Traceback (most recent call last):
File "/usr/lib/python2.6/site-packages/pulp/server/tasking/taskqueue/queue.py", line 124, in _dispatch
self.run(task)
File "/usr/lib/python2.6/site-packages/pulp/server/tasking/taskqueue/queue.py", line 314, in run
self.__storage.store_running(task)
File "/usr/lib/python2.6/site-packages/pulp/server/tasking/taskqueue/storage.py", line 232, in store_running
self._snapshot_task(task)
File "/usr/lib/python2.6/site-packages/pulp/server/tasking/taskqueue/storage.py", line 223, in _snapshot_task
snapshot = task.snapshot()
File "/usr/lib/python2.6/site-packages/pulp/server/api/repo_sync_task.py", line 64, in snapshot
snapshot = super(RepoSyncTask, self).snapshot()
File "/usr/lib/python2.6/site-packages/pulp/server/tasking/task.py", line 314, in snapshot
snapshot = model.TaskSnapshot(data)
File "/usr/lib/python2.6/site-packages/pulp/server/db/model/persistence.py", line 45, in __init__
self.update(self._process_serialized_task(serialized_task))
File "/usr/lib/python2.6/site-packages/pulp/server/db/model/persistence.py", line 58, in _process_serialized_task
return dict([(k, _process_value(v)) for k, v in serialized_task.items()])
File "/usr/lib/python2.6/site-packages/pulp/server/db/model/persistence.py", line 55, in _process_value
value = value.decode('utf-8')
File "/usr/lib64/python2.6/encodings/utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xe9 in position 270: invalid continuation byte
If you create a user in Katello that has utf8 characters in the username and then attempt to interact with pulp with syncs, repo discovery or anything that requires delayed task processing you will see errors in Katello and Pulp. How to reproduce (create a user, a repo and sync): katello -u admin -p admin user create --username "Mané" --password redhat --email "mane" katello -u admin -p admin user assign_role --username "Mané" --role "Administrator" katello -u Mané -p redhat org create --name Cuiabá --label Cuiaba katello -u Mané -p redhat provider create --name test_prov --org Cuiabá katello -u Mané -p redhat product create --name Cuiabá_prod --provider test_prov --org Cuiabá katello -u Mané -p redhat repo create --name Cuiabá_repo --product Cuiabá_prod --org Cuiabá --product Cuiabá_prod katello -u Mané -p redhat repo synchronize --name Cuiabá_prod_dummy_repos_zoo --org Cuiabá --product Cuiabá_prod Error in pulp log: 2012-10-01 10:48:16,450 11917:140154905814784: pulp.server.webservices.controllers.repositories:INFO: repositories:1179 sync timeout passed : None 2012-10-01 10:48:16,500 11917:140155184740096: pulp:CRITICAL: queue:130 Exception in FIFO Queue Dispatch Thread Traceback (most recent call last): File "/usr/lib/python2.6/site-packages/pulp/server/tasking/taskqueue/queue.py", line 124, in _dispatch self.run(task) File "/usr/lib/python2.6/site-packages/pulp/server/tasking/taskqueue/queue.py", line 314, in run self.__storage.store_running(task) File "/usr/lib/python2.6/site-packages/pulp/server/tasking/taskqueue/storage.py", line 232, in store_running self._snapshot_task(task) File "/usr/lib/python2.6/site-packages/pulp/server/tasking/taskqueue/storage.py", line 223, in _snapshot_task snapshot = task.snapshot() File "/usr/lib/python2.6/site-packages/pulp/server/api/repo_sync_task.py", line 64, in snapshot snapshot = super(RepoSyncTask, self).snapshot() File "/usr/lib/python2.6/site-packages/pulp/server/tasking/task.py", line 314, in snapshot snapshot = model.TaskSnapshot(data) File "/usr/lib/python2.6/site-packages/pulp/server/db/model/persistence.py", line 45, in __init__ self.update(self._process_serialized_task(serialized_task)) File "/usr/lib/python2.6/site-packages/pulp/server/db/model/persistence.py", line 58, in _process_serialized_task return dict([(k, _process_value(v)) for k, v in serialized_task.items()]) File "/usr/lib/python2.6/site-packages/pulp/server/db/model/persistence.py", line 55, in _process_value value = value.decode('utf-8') File "/usr/lib64/python2.6/encodings/utf_8.py", line 16, in decode return codecs.utf_8_decode(input, errors, True) UnicodeDecodeError: 'utf8' codec can't decode byte 0xe9 in position 270: invalid continuation byte