Bug 711077

Summary: package install faills w/ TaskPicklingError
Product: [Retired] Pulp Reporter: dgao
Component: z_otherAssignee: Jason Connor <jconnor>
Status: CLOSED CURRENTRELEASE QA Contact: dgao
Severity: unspecified Docs Contact:
Priority: high    
Version: unspecifiedCC: mmccune, pthomas, skarmark
Target Milestone: ---Keywords: Triaged
Target Release: Sprint 24   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-08-16 12:08:59 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 647488    

Description dgao 2011-06-06 13:13:22 UTC
[root@pulp-nightly ~]# pulp-admin repo create --id=foo
Successfully created repository [ foo ]

[root@pulp-nightly ~]# pulp-admin content upload -r foo -v /tmp/patb-0.1-1.noarch.rpm 
* Starting Content Upload

* Performing Content Uploads to Pulp server
Successfully uploaded [patb-0.1-1.noarch.rpm] to server

* Performing Repo Associations 
Content association Complete for Repo [foo]: 
 Packages: 
patb-0.1-1.noarch.rpm 
 
 Files: 
None

* Content Upload complete.


[root@pulp-nightly ~]# pulp-admin repo content --id=foo
+------------------------------------------+
               Contents of foo
+------------------------------------------+

Packages in foo: 

patb-0.1-1.noarch.rpm

Errata in foo: 

 none

Files in foo: 

 none

[root@pulp-nightly ~]# pulp-client -u admin -p admin consumer create --id=fred
Successfully created consumer [ fred ]

[root@pulp-nightly ~]# pulp-client consumer bind --repoid=foo
Successfully subscribed consumer [fred] to repo [foo]

[root@pulp-nightly ~]# rpm -q patb

[root@pulp-nightly ~]# pulp-admin package install -n patb --consumerid=fred
error: operation failed: TaskPicklingError: 'Error pickling attribute callable: <bound method InstallPackages.install of <pulp.server.api.consumer.InstallPackages object at 0x7fa3105f2f10>>'

[root@pulp-nightly ~]# tail /var/log/pulp/pulp.log
  File "/usr/lib64/python2.7/pickle.py", line 663, in _batch_setitems
    save(v)
  File "/usr/lib64/python2.7/pickle.py", line 306, in save
    rv = reduce(self.proto)
  File "/usr/lib64/python2.7/copy_reg.py", line 84, in _reduce_ex
    dict = getstate()
  File "/usr/lib64/python2.7/site-packages/pymongo/collection.py", line 966, in __call__
    self.__name.split(".")[-1])
TaskPicklingError: 'Error pickling attribute callable: <bound method InstallPackages.install of <pulp.server.api.consumer.InstallPackages object at 0x7fa3105f2f10>>'

Comment 1 dgao 2011-06-06 13:15:01 UTC
from pulp log:


2011-06-06 10:09:31,443 [ERROR][Dummy-5] report_error() @ base.py:57 - Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/pulp/server/webservices/controllers/base.py", line 53, in report_error
    return method(self, *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/pulp/server/webservices/controllers/base.py", line 132, in _auth_decorator
    value = method(self, *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/pulp/server/webservices/controllers/consumers.py", line 553, in POST
    return action(id)
  File "/usr/lib/python2.7/site-packages/pulp/server/webservices/controllers/consumers.py", line 405, in installpackages
    if async.enqueue(task) is None:
  File "/usr/lib/python2.7/site-packages/pulp/server/async.py", line 46, in enqueue
    _queue.enqueue(task, unique)
  File "/usr/lib/python2.7/site-packages/pulp/server/tasking/taskqueue/queue.py", line 247, in enqueue
    self.__storage.enqueue_waiting(task)
  File "/usr/lib/python2.7/site-packages/pulp/server/tasking/taskqueue/storage.py", line 340, in enqueue_waiting
    snapshot = task.snapshot()
  File "/usr/lib/python2.7/site-packages/pulp/server/tasking/task.py", line 237, in snapshot
    snapshot[attr] = pickle.dumps(getattr(self, attr, None)) # ascii pickle
  File "/usr/lib64/python2.7/pickle.py", line 1374, in dumps
    Pickler(file, protocol).dump(obj)
  File "/usr/lib64/python2.7/pickle.py", line 224, in dump
    self.save(obj)
  File "/usr/lib64/python2.7/pickle.py", line 331, in save
    self.save_reduce(obj=obj, *rv)
  File "/usr/lib64/python2.7/pickle.py", line 401, in save_reduce
    save(args)
  File "/usr/lib64/python2.7/pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "/usr/lib64/python2.7/pickle.py", line 562, in save_tuple
    save(element)
  File "/usr/lib64/python2.7/pickle.py", line 331, in save
    self.save_reduce(obj=obj, *rv)
  File "/usr/lib64/python2.7/pickle.py", line 419, in save_reduce
    save(state)
  File "/usr/lib64/python2.7/pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "/usr/lib64/python2.7/pickle.py", line 649, in save_dict
    self._batch_setitems(obj.iteritems())
  File "/usr/lib64/python2.7/pickle.py", line 663, in _batch_setitems
    save(v)
  File "/usr/lib64/python2.7/pickle.py", line 331, in save
    self.save_reduce(obj=obj, *rv)
  File "/usr/lib64/python2.7/pickle.py", line 401, in save_reduce
    save(args)
  File "/usr/lib64/python2.7/pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "/usr/lib64/python2.7/pickle.py", line 562, in save_tuple
    save(element)
  File "/usr/lib64/python2.7/pickle.py", line 331, in save
    self.save_reduce(obj=obj, *rv)
  File "/usr/lib64/python2.7/pickle.py", line 419, in save_reduce
    save(state)
  File "/usr/lib64/python2.7/pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "/usr/lib64/python2.7/pickle.py", line 649, in save_dict
    self._batch_setitems(obj.iteritems())
  File "/usr/lib64/python2.7/pickle.py", line 663, in _batch_setitems
    save(v)
  File "/usr/lib64/python2.7/pickle.py", line 331, in save
    self.save_reduce(obj=obj, *rv)
  File "/usr/lib64/python2.7/pickle.py", line 419, in save_reduce
    save(state)
  File "/usr/lib64/python2.7/pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "/usr/lib64/python2.7/pickle.py", line 649, in save_dict
    self._batch_setitems(obj.iteritems())
  File "/usr/lib64/python2.7/pickle.py", line 663, in _batch_setitems
    save(v)
  File "/usr/lib64/python2.7/pickle.py", line 306, in save
    rv = reduce(self.proto)
  File "/usr/lib64/python2.7/copy_reg.py", line 84, in _reduce_ex
    dict = getstate()
  File "/usr/lib64/python2.7/site-packages/pymongo/collection.py", line 966, in __call__
    self.__name.split(".")[-1])
TaskPicklingError: 'Error pickling attribute callable: <bound method InstallPackages.install of <pulp.server.api.consumer.InstallPackages object at 0x7fa3105f2f10>>'

Comment 2 Jason Connor 2011-06-08 16:44:04 UTC
fixed in 9da9121634435213b34ace67fb266a6a033efa69

Comment 3 Jeff Ortel 2011-06-08 23:58:30 UTC
build: 0.188

Comment 4 dgao 2011-06-13 17:28:19 UTC
[root@pulp-qe ~]# yum info pulp
Loaded plugins: pulp-profile-update
fedora-pulp-testing                                      | 1.3 kB     00:00     
updates/metalink                                         |  19 kB     00:00     
Installed Packages
Name        : pulp
Arch        : noarch
Version     : 0.0.189
Release     : 1.fc14
Size        : 2.8 M
Repo        : installed
From repo   : fedora-pulp-testing
Summary     : An application for managing software content
URL         : https://fedorahosted.org/pulp/
License     : GPLv2
Description : Pulp provides replication, access, and accounting for software
            : repositories.

[root@pulp-qe ~]# pulp-admin auth login -u admin -p admin
User credentials successfully stored at [/root/.pulp/user-cert.pem]

[root@pulp-qe ~]# pulp-admin repo create --id=foo
Successfully created repository [ foo ]

[root@pulp-qe ~]# pulp-admin content upload -r foo -v /tmp/patb-0.1-1.noarch.rpm 
* Starting Content Upload

* Performing Content Uploads to Pulp server
Successfully uploaded [patb-0.1-1.noarch.rpm] to server

* Performing Repo Associations 
Content association Complete for Repo [foo]: 
 Packages: 
patb-0.1-1.noarch.rpm 
 
 Files: 
None

* Content Upload complete.
[root@pulp-qe ~]# pulp-admin repo content --id=foo
+------------------------------------------+
               Contents of foo
+------------------------------------------+

Packages in foo: 

patb-0.1-1.noarch.rpm

Errata in foo: 

 none

Files in foo: 

 none

[root@pulp-qe ~]# pulp-client -u admin -p admin consumer create --id=fred
Successfully created consumer [ fred ]

[root@pulp-qe ~]# pulp-client consumer bind --repoid=foo
Successfully subscribed consumer [fred] to repo [foo]

[root@pulp-qe ~]# rpm -q patb
package patb is not installed
[root@pulp-qe ~]# pulp-admin package install -n patb --consumerid=fred
Created task id: 699f2400-95e2-11e0-b73d-54520040237d
Task is scheduled for: 2011-06-13 13:27
Waiting: [\] 
[[['patb-0.1-1.noarch'], None]] installed on fred

Comment 5 Preethi Thomas 2011-08-16 12:08:59 UTC
Closing with Community Release 15

pulp-0.0.223-4.

Comment 6 Preethi Thomas 2011-08-16 12:21:44 UTC
Closing with Community Release 15

pulp-0.0.223-4.