Bug 820352

Summary: content uploads throws unicode error on some packages
Product: [Retired] Pulp Reporter: Dennis Gregorovic <dgregor>
Component: user-experienceAssignee: Pradeep Kilambi <pkilambi>
Status: CLOSED CURRENTRELEASE QA Contact: Preethi Thomas <pthomas>
Severity: unspecified Docs Contact:
Priority: urgent    
Version: 1.1.0CC: jason.dobies, jortel, pkilambi, skarmark
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-05-25 14:14:06 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Dennis Gregorovic 2012-05-09 18:13:24 UTC
Running pulp 1.0.4

# pulp-admin content upload --verbose jonathan-core-4.1-1jpp_1rh.noarch.rpm
* Starting Content Upload

* Performing Content Uploads to Pulp server
Traceback (most recent call last):
  File "/usr/bin/pulp-admin", line 23, in <module>
    admin.main()
  File "/usr/lib/python2.6/site-packages/pulp/client/lib/cli.py", line 152, in main
    command.main(self.args[1:])
  File "/usr/lib/python2.6/site-packages/pulp/client/pluginlib/command.py", line 129, in main
    action.main(args[1:])
  File "/usr/lib/python2.6/site-packages/pulp/client/pluginlib/command.py", line 213, in main
    self.run()
  File "/usr/lib/python2.6/site-packages/pulp/client/admin/plugins/content.py", line 131, in run
    uploaded = uapi.import_content(metadata, upload_id)
  File "/usr/lib/python2.6/site-packages/pulp/client/api/upload.py", line 183, in import_content
    return self.server.POST(path, uploadinfo)[1]
  File "/usr/lib/python2.6/site-packages/pulp/client/api/server.py", line 323, in POST
    return self._request('POST', path, body=body)
  File "/usr/lib/python2.6/site-packages/pulp/client/api/server.py", line 261, in _request
    body = json.dumps(body)
  File "/usr/lib64/python2.6/json/__init__.py", line 230, in dumps
    return _default_encoder.encode(obj)
  File "/usr/lib64/python2.6/json/encoder.py", line 367, in encode
    chunks = list(self.iterencode(o))
  File "/usr/lib64/python2.6/json/encoder.py", line 309, in _iterencode
    for chunk in self._iterencode_dict(o, markers):
  File "/usr/lib64/python2.6/json/encoder.py", line 275, in _iterencode_dict
    for chunk in self._iterencode(value, markers):
  File "/usr/lib64/python2.6/json/encoder.py", line 309, in _iterencode
    for chunk in self._iterencode_dict(o, markers):
  File "/usr/lib64/python2.6/json/encoder.py", line 275, in _iterencode_dict
    for chunk in self._iterencode(value, markers):
  File "/usr/lib64/python2.6/json/encoder.py", line 294, in _iterencode
    yield encoder(o)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xe9 in position 140: invalid continuation byte

# rpm -qip jonathan-core-4.1-1jpp_1rh.noarch.rpm
Name        : jonathan-core                Relocations: (not relocatable)
Version     : 4.1                               Vendor: Red Hat, Inc.
Release     : 1jpp_1rh                      Build Date: Fri 04 Mar 2005 02:47:04 PM EST
Install Date: (not installed)               Build Host: tweety.build.redhat.com
Group       : Development/Libraries/Java    Source RPM: jonathan-core-4.1-1jpp_1rh.src.rpm
Size        : 135009                           License: LGPL
Signature   : DSA/SHA1, Wed 15 Oct 2008 04:20:17 PM EDT, Key ID 5326810137017186
Packager    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
URL         : http://jonathan.objectweb.org/
Summary     : Distributed Object Platform (DOP) written entirely in Java
Description :
Jonathan is a Distributed Object Platform (DOP) written entirely in
Java. Jonathan was developed originally at the research labs of France
T\351l\351com in the context of the European project ReTINA, whose aim was to
define an architecture for telecommunications distributed environments.
Telecommunications applications such as multimedia services have
stringent requirements in terms of scalability, adaptability and
realtime. Jonathan's response to this is through its "openness" in the
sense that contrary to standard DOPs (and in particular, most CORBA
ORBs), the abstractions that make up its internal machinery are
accessible by an application programmer and may be specialized to meet
specific requirements.

Jonathan is organised around a very small kernel (namely Kilim) that
essentially lets the infrastructure components communicate. Currently,
these components consist of a number of independently developed
protocols, marshallers, stub factories, etc.

Different personalities can be built using these components. A
personality is a set of normalized Application Programming Interfaces:
Java RMI is a personality, CORBA is another, COM still another...
Jonathan provides two personnalities:

    * David is a CORBA ORB implementation. David lacks a number of CORBA
      features (POA, interface repository, Dynamic Any,...) and provides only
      a naive naming service implementation. However, our ambition is to fill
      these gaps and to provide a reference CORBA implementation.

    * Jeremie provides an RMI-like programming style.

Comment 2 Jay Dobies 2012-05-16 18:55:24 UTC
Aligning to 1.1.

Comment 3 Pradeep Kilambi 2012-05-17 15:46:39 UTC
commit ffdb6d4085da829ef7b4680a111f73ae3a319ed7

After Fix:

$ pulp-admin content upload --repoid=testupload2 jonathan-core-4.1-1jpp_1rh.noarch.rpm -vvvvv --nosig
* Starting Content Upload

* Performing Content Uploads to Pulp server
Successfully uploaded [jonathan-core-4.1-1jpp_1rh.noarch.rpm] to server

* Performing Repo Associations 
Packages skipped because of filters associated with the repository testupload2 : 0

* Metadata generation has been scheduled for repository [testupload2] with a task id [e409770f-a036-11e1-8c30-24770342b0c0]; use `pulp-admin repo generate_metadata --status` to check the status.

Content association Complete for Repo [testupload2]: 
 Packages: 
jonathan-core-4.1-1jpp_1rh.noarch.rpm 
 
 Files: 
None

* Content Upload complete.

Comment 4 Jeff Ortel 2012-05-17 20:10:54 UTC
build: 1.1.9

Comment 5 Preethi Thomas 2012-05-18 13:56:11 UTC
[root@pulp-f16 ~]# pulp-admin -u admin -p admin content upload  jonathan-core-4.1-1jpp_1rh.noarch.rpm -r preethi -v
* Starting Content Upload

* Performing Content Uploads to Pulp server
Successfully uploaded [jonathan-core-4.1-1jpp_1rh.noarch.rpm] to server

* Performing Repo Associations 
Packages skipped because of filters associated with the repository preethi : 0

* Metadata generation has been scheduled for repository [preethi] with a task id [31bf5f68-a0ee-11e1-9887-5452007c4f00]; use `pulp-admin repo generate_metadata --status` to check the status.

Content association Complete for Repo [preethi]: 
 Packages: 
jonathan-core-4.1-1jpp_1rh.noarch.rpm 
 
 Files: 
None

* Content Upload complete.
[root@pulp-v1-server ~]# pulp-admin content upload jonathan-core-4.1-1jpp_1rh.noarch.rpm -v
* Starting Content Upload

* Performing Content Uploads to Pulp server
Successfully uploaded [jonathan-core-4.1-1jpp_1rh.noarch.rpm] to server

* Content Upload complete.


[root@pulp-v1-server ~]# pulp-admin content list --orphaned
jonathan-core-4.1-1jpp_1rh.noarch.rpm,692035f1d654e98ab461975b0b590ac94c4a1d249f3539d3367726d2857c8198

Comment 6 Preethi Thomas 2012-05-18 13:57:32 UTC
[root@pulp-v1-server ~]# rpm -q pulp
pulp-1.1.9-1.el6.noarch
[root@pulp-v1-server ~]# 
[root@pulp-f16 ~]# rpm -q pulp
pulp-1.1.9-1.fc16.noarch

Comment 7 Preethi Thomas 2012-05-25 14:14:06 UTC
Pulp v1.1 Release