Bug 781311

Summary: Re-promoting a product in same env failed with "Reason: can't convert Hash into String"
Product: Red Hat Satellite Reporter: Sachin Ghai <sghai>
Component: WebUIAssignee: Partha Aji <paji>
Status: CLOSED CURRENTRELEASE QA Contact: Katello QA List <katello-qa-list>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.0.0CC: bkearney, cwelton, mmccune
Target Milestone: Unspecified   
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-08-22 18:19:26 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: 747354    
Attachments:
Description Flags
UI snapshot stating same error none

Description Sachin Ghai 2012-01-13 09:35:16 UTC
Description of problem:


Version-Release number of selected component (if applicable):

[root@dhcp201-187 os]# rpm -qa | grep katello
katello-glue-candlepin-0.1.174-2.el6.noarch
katello-httpd-ssl-key-pair-1.0-1.noarch
katello-certs-tools-1.0.1-2.el6.noarch
katello-common-0.1.174-2.el6.noarch
katello-cli-0.1.34-2.el6.noarch
katello-glue-pulp-0.1.174-2.el6.noarch
katello-trusted-ssl-cert-1.0-1.noarch
katello-cli-common-0.1.34-2.el6.noarch
katello-configure-0.1.52-2.el6.noarch
katello-glue-foreman-0.1.174-2.el6.noarch
katello-all-0.1.174-2.el6.noarch
katello-0.1.174-2.el6.noarch
katello-qpid-broker-key-pair-1.0-1.noarch



[root@dhcp201-187 os]# rpm -qa | grep pulp
m2crypto-0.21.1.pulp-5.el6.x86_64
python-isodate-0.4.4-4.pulp.el6.noarch
katello-glue-pulp-0.1.174-2.el6.noarch
pulp-common-0.0.256-1.el6.noarch
pulp-selinux-server-0.0.256-1.el6.noarch
pulp-0.0.256-1.el6.noarch
python-oauth2-1.5.170-2.pulp.el6.noarch
mod_wsgi-3.2-6.pulp.el6.x86_64
[root@dhcp201-187 os]# 

How reproducible:
always

Steps to Reproduce:
1. Imported Nov's simple manifest
2. Enabled rhel6.2 x86_64 repo and synced it
3. Created a changeset and promoted to test env
4. Again re-promoted the same rhel6.2 to same test env  

Actual results:
Promotion of changeset 'promo_rhel' failed.
Reason: can't convert Hash into String

No logs in production.log

Expected results:
Promotion should succeed.
In case of such failure, production.log should contain some relevant logs.  


Additional info:

[root@dhcp201-187 ~]# tail -f /var/log/pulp/pulp.log 
}
2012-01-13 14:29:12,636 9459:140174904256256: pulp.server.api.consumer:INFO: consumer:419 Successfully updated package profile for consumer e3f206af-af56-41e4-95e7-80c85ffd0c99
2012-01-13 14:32:28,079 9459:140174904256256: pulp.server.webservices.controllers.repositories:INFO: repositories:871 sync timeout passed : None
2012-01-13 14:32:29,779 9459:140174893766400: pulp.server.api.repo_sync:INFO: repo_sync:254 Sync invoked for repo <ACME_Corporation-test-Red_Hat_Enterprise_Linux_Server-Red_Hat_Enterprise_Linux_6_Server_RPMs_62_x86_64>
2012-01-13 14:32:36,318 9459:140174893766400: pulp.server.api.repo_sync:INFO: repo_sync:268 Sync of ACME_Corporation-test-Red_Hat_Enterprise_Linux_Server-Red_Hat_Enterprise_Linux_6_Server_RPMs_62_x86_64 starting, skip_dict = {}
2012-01-13 14:32:43,286 9459:140174893766400: pulp.server.api.synchronizers:INFO: synchronizers:1146 sync of /var/lib/pulp//repos/ACME_Corporation/Locker/content/dist/rhel/server/6/6.2/x86_64/os for repo ACME_Corporation-test-Red_Hat_Enterprise_Linux_Server-Red_Hat_Enterprise_Linux_6_Server_RPMs_62_x86_64
2012-01-13 14:35:42,981 9459:140174893766400: pulp.server.api.synchronizers:INFO: synchronizers:794 Found 6715 packages in /var/lib/pulp//repos/ACME_Corporation/Locker/content/dist/rhel/server/6/6.2/x86_64/os
2012-01-13 14:41:19,218 9459:140174893766400: pulp.server.api.synchronizers:INFO: synchronizers:806 Found 0 delta rpm packages in /var/lib/pulp//repos/ACME_Corporation/Locker/content/dist/rhel/server/6/6.2/x86_64/os
2012-01-13 14:42:15,437 9459:140174893766400: pulp.server.api.synchronizers:INFO: synchronizers:898 Working on 0/6715
2012-01-13 14:42:33,446 9459:140174893766400: pulp.server.api.synchronizers:INFO: synchronizers:898 Working on 500/6715
2012-01-13 14:42:50,663 9459:140174893766400: pulp.server.api.synchronizers:INFO: synchronizers:898 Working on 1000/6715
2012-01-13 14:43:31,889 9459:140174893766400: pulp.server.api.synchronizers:INFO: synchronizers:898 Working on 1500/6715
2012-01-13 14:44:09,640 9459:140174893766400: pulp.server.api.synchronizers:INFO: synchronizers:898 Working on 2000/6715
2012-01-13 14:44:29,000 9459:140174893766400: pulp.server.api.synchronizers:ERROR: synchronizers:839  source path /var/lib/pulp//repos/ACME_Corporation/Locker/content/dist/rhel/server/6/6.2/x86_64/os/Packages/java-1.6.0-openjdk-1.6.0.0-1.42.1.10.4.el6_2.x86_64.rpm ; dst path /var/lib/pulp//packages/java-1.6.0-openjdk/1.6.0.0/1.42.1.10.4.el6_2/x86_64/59f/java-1.6.0-openjdk-1.6.0.0-1.42.1.10.4.el6_2.x86_64.rpm
2012-01-13 14:44:29,513 9459:140174893766400: pulp.server.tasking.task:ERROR: task:455 Task failed: Task 519819c5-3dc5-11e1-866b-525400e2f58e: _sync(ACME_Corporation-test-Red_Hat_Enterprise_Linux_Server-Red_Hat_Enterprise_Linux_6_Server_RPMs_62_x86_64, synchronizer=<pulp.server.api.synchronizers.YumSynchronizer object at 0x7f7ccb6c1450>, skip={}, max_speed=None, threads=4, progress_callback=<bound method RepoSyncTask.progress_callback of <pulp.server.api.repo_sync_task.RepoSyncTask object at 0x7f7ccb6c1510>>)
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/pulp/server/tasking/task.py", line 404, in run
    result = self.callable(*self.args, **self.kwargs)
  File "/usr/lib/python2.6/site-packages/pulp/server/api/repo_sync.py", line 272, in _sync
    progress_callback, synchronizer, max_speed, threads)
  File "/usr/lib/python2.6/site-packages/pulp/server/api/repo_sync.py", line 350, in fetch_content
    progress_callback, max_speed, threads)
  File "/usr/lib/python2.6/site-packages/pulp/server/api/synchronizers.py", line 162, in sync
    max_speed=max_speed, threads=threads)
  File "/usr/lib/python2.6/site-packages/pulp/server/api/synchronizers.py", line 1177, in local
    blacklist_packages, progress_callback)
  File "/usr/lib/python2.6/site-packages/pulp/server/api/synchronizers.py", line 902, in _sync_rpms
    self._process_rpm(pkg, src_repo_dir, dst_repo_dir)
  File "/usr/lib/python2.6/site-packages/pulp/server/api/synchronizers.py", line 840, in _process_rpm
    shutil.copy(src_pkg_path, dst_pkg_path)
  File "/usr/lib64/python2.6/shutil.py", line 84, in copy
    copyfile(src, dst)
  File "/usr/lib64/python2.6/shutil.py", line 48, in copyfile
    raise Error("`%s` and `%s` are the same file" % (src, dst))
Error: `/var/lib/pulp//repos/ACME_Corporation/Locker/content/dist/rhel/server/6/6.2/x86_64/os/Packages/java-1.6.0-openjdk-1.6.0.0-1.42.1.10.4.el6_2.x86_64.rpm` and `/var/lib/pulp//packages/java-1.6.0-openjdk/1.6.0.0/1.42.1.10.4.el6_2/x86_64/59f/java-1.6.0-openjdk-1.6.0.0-1.42.1.10.4.el6_2.x86_64.rpm` are the same file

Comment 1 Sachin Ghai 2012-01-13 09:55:24 UTC
Created attachment 555025 [details]
UI snapshot stating same error

Comment 2 Partha Aji 2012-01-20 22:25:47 UTC
Anyway you can get us the actual trace from the delayed_job logs for this bug ? should be in the /var/log/katello/*delayed_jobs*log

I am having trouble reproducing this .

Comment 3 Bryan Kearney 2012-01-22 13:11:27 UTC
try running /usr/share/katello/scripts/katello-debug. This will collect the logs in a zip file. You can then send them along.

Comment 4 Sachin Ghai 2012-01-23 09:18:21 UTC
I don't have the same setup where I found this issue. Will try to reproduce this again on new setup.

Comment 5 Mike McCune 2012-01-23 19:38:02 UTC
I was able to promote twice although the 2nd promotion took a really long time:


2012-01-24T03:22:39-0500: [Worker(delayed_job host:sat-perf-04.idm.lab.bos.redhat.com pid:27728)] Changeset#promote_content completed after 783.1144

roughly 13 minutes

Going to move this ON_QA and file a bug about the speed of repromotions

Comment 7 Corey Welton 2012-02-10 14:29:45 UTC
QA Verified. Can promote the same product multiple times w/o error.