Bug 784093

Summary: Can't re-promote a product if repos are unsynced
Product: Red Hat Satellite Reporter: Mike McCune <mmccune>
Component: APIAssignee: Bryan Kearney <bkearney>
Status: CLOSED NOTABUG QA Contact: Jitendra Yejare <jyejare>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.0.1   
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-01-23 19:37:01 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    

Description Mike McCune 2012-01-23 19:35:18 UTC
If you try and promote a product that has one of the enabled repos unsynced the promotion will fail with a pulp error.  We need to be able to promote a Product if one of the repos remains unsynced.

Steps to reproduce:

1) import RHEL manifest
2) Enable: "Red Hat Enterprise Linux 6 Server - Optional RPMs x86_64 62"
3) Enable: "Red Hat Enterprise Linux 6 Server RPMs x86_64 62"
4) Sync  "Red Hat Enterprise Linux 6 Server RPMs x86_64 62"
5) Do NOT sync the Optional repo
6) Create a changeset, review and promote the RHEL product.  Should go OK
7) Create a 2nd changeset and try and promote RHEL again.  Will get stuck with a pulp error in the logfile:

2012-01-24 03:09:37,467 27151:140291405244160: pulp.server.api.synchronizers:INFO: synchronizers:1211 Copying repodata from /var/lib/pulp//repos/ACME_Corporation/Locker/content/dist/rhel/server/6/6.2/x86_64/optional/os/repodata to /var/lib/pulp//repos/ACME_Corporation/Dev/content/dist/rhel/server/6/6.2/x86_64/optional/os/repodata
2012-01-24 03:09:37,468 27151:140291405244160: pulp.server.api.synchronizers:ERROR: synchronizers:1216 Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/pulp/server/api/synchronizers.py", line 1214, in local
    shutil.copytree(src_repodata_dir, dst_repodata_dir)
  File "/usr/lib64/python2.6/shutil.py", line 136, in copytree
    names = os.listdir(src)
OSError: [Errno 2] No such file or directory: '/var/lib/pulp//repos/ACME_Corporation/Locker/content/dist/rhel/server/6/6.2/x86_64/optional/os/repodata'

Comment 1 Mike McCune 2012-01-23 19:37:01 UTC
nevermind, it promoted, just took forever :)  

will file a new bug that repromotions take too long:

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

Comment 3 Mike McCune 2013-08-16 18:14:20 UTC
getting rid of 6.0.0 version since that doesn't exist