Bug 669779

Summary: Error in one package install on a consumer group doesn't indicate which consumer it was
Product: [Retired] Pulp Reporter: Jay Dobies <jason.dobies>
Component: user-experienceAssignee: Jeff Ortel <jortel>
Status: CLOSED CURRENTRELEASE QA Contact: Preethi Thomas <pthomas>
Severity: medium Docs Contact:
Priority: low    
Version: 1.0.0CC: jconnor, skarmark
Target Milestone: ---Keywords: Triaged
Target Release: Sprint 29   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-02-24 20:12:07 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Jay Dobies 2011-01-14 18:44:14 UTC
I think this is related to the bug where non GPG signed RPMs cannot be installed. When installing a non GPG signed RPM on a consumer group, the following error came up. It doesn't indicate which consumer it was installed on.


$ pulp-admin package install -n emoticons --consumergroupid group1
Created task id: 2a26cc59-200e-11e0-8cf1-5254003d10ee
Task is scheduled for: 2011-01-14 13:43
.error: operation failed: Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/pulp/server/webservices/controllers/base.py", line 57, in report_error
    return method(self, *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/pulp/server/webservices/role_check.py", line 131, in check_roles
    result = f(instance, *fargs, **kw)
  File "/usr/lib/python2.7/site-packages/pulp/server/webservices/controllers/consumergroups.py", line 245, in GET
    return self.ok(task_info)
  File "/usr/lib/python2.7/site-packages/pulp/server/webservices/controllers/base.py", line 199, in ok
    return self._output(data)
  File "/usr/lib/python2.7/site-packages/pulp/server/webservices/controllers/base.py", line 189, in _output
    return json.dumps(data, default=json_util.default)
  File "/usr/lib64/python2.7/json/__init__.py", line 238, in dumps
    **kw).encode(obj)
  File "/usr/lib64/python2.7/json/encoder.py", line 201, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "/usr/lib64/python2.7/json/encoder.py", line 264, in iterencode
    return _iterencode(o, 0)
  File "/usr/lib64/python2.7/site-packages/pymongo/json_util.py", line 92, in default
    raise TypeError("%r is not JSON serializable" % obj)
TypeError: YumGPGCheckError() is not JSON serializable

Comment 1 Jason Connor 2011-02-22 22:12:08 UTC
This actually isn't a bug in consumer group installation, it's  bug in the action status serialization. I've changed it to "stringify" and exceptions associated with the task if the exception is a raw exception instance.

fixed in ede18d8

Comment 2 Jeff Ortel 2011-02-23 17:59:53 UTC
Build: 0.141

Comment 3 Preethi Thomas 2011-05-31 20:34:32 UTC
fails_qa
[root@preethi ~]# rpm -q pulp
pulp-0.0.181-1.fc14.noarch
[root@preethi ~]# 

2011-05-31 16:46:57,927 [INFO][Dummy-5] POST() @ services.py:337 - agent status:   GET received
2011-05-31 16:46:58,637 [INFO][asynctaskreplyqueue] failed() @ async.py:290 - Task RMI (failed)
Failed
  sn : c3f16322-099f-4225-9e2e-bb6e6fc57a86
  origin : 20f750af-1ec1-47d9-9152-23b6051c348b
  user data : 2085e6b5-8bc7-11e0-ae67-002564a85a58
  exception:
Test Transaction Errors:   package zsh-4.3.11-2.fc15.x86_64 is already installed

2011-05-31 16:46:58,942 [INFO][asynctaskreplyqueue] failed() @ async.py:290 - Task RMI (failed)
Failed
  sn : e05fb939-add7-4683-a4b4-9652e6e697fa
  origin : 4f135bd0-e226-498d-aafe-a257e235eb19
  user data : 2085e6b5-8bc7-11e0-ae67-002564a85a58
  exception:
Test Transaction Errors:   package zsh-4.3.10-5.fc14.x86_64 is already installed

2011-05-31 16:47:06,229 [ERROR][Dummy-5] report_error() @ base.py:59 - Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/pulp/server/webservices/controllers/base.py", line 55, in report_error
    return method(self, *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/pulp/server/webservices/controllers/base.py", line 134, in _auth_decorator
    value = method(self, *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/pulp/server/webservices/controllers/consumergroups.py", line 278, in GET
    return self.ok(task_info)
  File "/usr/lib/python2.7/site-packages/pulp/server/webservices/controllers/base.py", line 223, in ok
    return self._output(data)
  File "/usr/lib/python2.7/site-packages/pulp/server/webservices/controllers/base.py", line 201, in _output
    return json.dumps(data, default=json_util.default)
  File "/usr/lib64/python2.7/site-packages/simplejson/__init__.py", line 269, in dumps
    use_decimal=use_decimal, **kw).encode(obj)
  File "/usr/lib64/python2.7/site-packages/simplejson/encoder.py", line 214, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "/usr/lib64/python2.7/site-packages/simplejson/encoder.py", line 282, in iterencode
    return _iterencode(o, 0)
  File "/usr/lib64/python2.7/site-packages/bson/json_util.py", line 132, in default
    raise TypeError("%r is not JSON serializable" % obj)
TypeError: YumTestTransactionError() is not JSON serializable

Comment 4 Jeff Ortel 2011-10-17 14:35:07 UTC
Fixed as part of package install rework in commit: 2c6fcfa37914982cfa4ab68f08fe81e57f0b19fe and released in build: 0.221.

Comment 5 Preethi Thomas 2011-11-11 15:12:34 UTC
verified
[root@preethi init.d]# rpm -q pulp
pulp-0.0.247-1.fc15.noarch
[root@preethi init.d]# 

[root@preethi init.d]# pulp-admin package install -n zsh --consumergroupid=grp1
Created job id: 1201567b-bb41-4e83-8581-66edfa9da290
Waiting: [\] 
Install Summary:
	[ FINISHED ] pulp-client; packages installed: [u'zsh-4.3.11-2.fc15.x86_64']
	[ FINISHED ] preethi; packages installed: []

[root@preethi init.d]#

Comment 6 Preethi Thomas 2012-02-24 20:12:07 UTC
Pulp v1.0 is released
Closed Current Release.