Bug 970232

Summary: No way to copy productid.xml when cloning a repo
Product: Red Hat Satellite Reporter: Justin Sherrill <jsherril>
Component: Content ManagementAssignee: Justin Sherrill <jsherril>
Status: CLOSED CURRENTRELEASE QA Contact: Og Maciel <omaciel>
Severity: high Docs Contact:
Priority: high    
Version: 6.0.1CC: bbuckingham, mmccune, omaciel, skarmark
Target Milestone: UnspecifiedKeywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 961875 Environment:
Last Closed: 2013-07-18 21:19:24 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:
Bug Depends On: 961875, 974663    
Bug Blocks: 950743    

Description Justin Sherrill 2013-06-03 19:04:26 UTC
+++ This bug was initially created as a clone of Bug #961875 +++

Description of problem:

RHEL content includes a productid(.gz) file that identifies the product.  Pulp should sync this file down and publish it via a distributor.  Currently it is not doing that.  The result is that machines provisioned from kickstarts trees within pulp will not have the correct product certificate installed and thus will not attach to the correct repos or even indicate that they have a product installed that requires a subscription.  


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

How reproducible:
always

Steps to Reproduce:
1.  Sync a red hat RHEL repo that contains productid file
2.  Publish the repo

  
Actual results:
productid file does not exist in the published repo

Expected results:
productid should exist in the published repo

--- Additional comment from Justin Sherrill on 2013-05-10 12:07:59 EDT ---

To clarify, this is a bit more complicated.

On a synced repo it is preserved.  However, when making a 'clone' of the repo, there is no way (that i can see) to copy the productid to the new repo.

So i would amend the steps to reproduce:



Steps to Reproduce:
1.  Sync a red hat RHEL repo that contains productid file
2.  Copy all units from one repo to a new one
3.  Publish the new repo

--- Additional comment from Sayli Karmarkar on 2013-05-15 11:54:02 EDT ---

Justin, Can you create a separate bug for copy issue and cc me on it? It is a different and more complicated issue and needs to be aligned differently. 

Thanks,

--- Additional comment from Sayli Karmarkar on 2013-05-15 15:38:04 EDT ---

Looks like the issue in the main description of the bug does not exist. https://bugzilla.redhat.com/show_bug.cgi?id=961875#c1 is the actual bug. Updated bug summary accordingly.

--- Additional comment from Justin Sherrill on 2013-06-03 15:02:54 EDT ---

blocker for Satellite MDP1 without product ids, provisioned RHEL systems cannot access RHEL content.

Comment 1 Justin Sherrill 2013-06-03 19:05:59 UTC
Satellite 6 clone of this bugzilla for proper tracking.

Comment 2 Brad Buckingham 2013-06-11 17:56:51 UTC
We had a brief discussion with jdob on irc about the solution that will be coming soon, which require a minor change to katello.  Below is are the 'important' details.

<jdob> custom metadata files (read: non-standard ones like comps and filelists) are going to be inventoried in pulp just like any other type of "thing" managed by Pulp
<jdob> should have been done that way originally
<jdob> it'll be uniquely identified by two fields: data_type and repo_id
<jdob> where data_type is the, well, data type from primary.xml that describes the file
<jdob> more specifically, <data type="foo"...
<jdob> so since it's a content unit, it's subject to all of our normal stuff, including copying
<jdob> you'll want to use the normal copy APIs
<jdob> so you use the normal copy APIs with the new content type (i'll have to look up the specifics, something like "custom_metadata_file"
<jdob> data_type of "productid" or "product_id", but that one you can check yourself from inside of primary.xml
<jdob> and have another copy call that copies that between repos
<jdob> the rest should fall into place for you, so when it's published it'll be included in the repo metadata


Somewhere above was also a statement to the effect of "jdob is awesome" and we would not want to omit that... :)

Comment 3 Justin Sherrill 2013-06-13 21:28:40 UTC
requires new runcible 0.4.10

https://github.com/Katello/katello/pull/2491

Comment 5 Brad Buckingham 2013-06-15 00:08:27 UTC
Mass move to ON_QA

Comment 6 Og Maciel 2013-06-17 17:25:58 UTC
Verified:
* apr-util-ldap-1.3.9-3.el6_0.1.x86_64
* candlepin-0.8.9-1.el6_4.noarch
* candlepin-scl-1-5.el6_4.noarch
* candlepin-scl-quartz-2.1.5-5.el6_4.noarch
* candlepin-scl-rhino-1.7R3-1.el6_4.noarch
* candlepin-scl-runtime-1-5.el6_4.noarch
* candlepin-selinux-0.8.9-1.el6_4.noarch
* candlepin-tomcat6-0.8.9-1.el6_4.noarch
* elasticsearch-0.19.9-8.el6sat.noarch
* foreman-1.1.10011-1.noarch
* foreman-compute-1.1.10011-1.noarch
* foreman-installer-puppet-concat-0-2.d776701.git.0.21ef926.el6sat.noarch
* foreman-installer-puppet-dhcp-0-5.3a4a13c.el6sat.noarch
* foreman-installer-puppet-dns-0-7.fcae203.el6sat.noarch
* foreman-installer-puppet-foreman-0-6.568c5c4.el6sat.noarch
* foreman-installer-puppet-foreman_proxy-0-8.bd1e35d.el6sat.noarch
* foreman-installer-puppet-puppet-0-3.ab46748.el6sat.noarch
* foreman-installer-puppet-tftp-0-5.ea6c5e5.el6sat.noarch
* foreman-installer-puppet-xinetd-0-50a267b8.git.0.44aca6a.el6sat.noarch
* foreman-libvirt-1.1.10011-1.noarch
* foreman-postgresql-1.1.10011-1.noarch
* foreman-proxy-1.1.10003-1.el6sat.noarch
* foreman-proxy-installer-1.0.1-10.f5ae2cd.el6sat.noarch
* katello-1.4.2-14.el6sat.noarch
* katello-all-1.4.2-14.el6sat.noarch
* katello-candlepin-cert-key-pair-1.0-1.noarch
* katello-certs-tools-1.4.2-2.el6sat.noarch
* katello-cli-1.4.2-7.el6sat.noarch
* katello-cli-common-1.4.2-7.el6sat.noarch
* katello-common-1.4.2-14.el6sat.noarch
* katello-configure-1.4.3-16.el6sat.noarch
* katello-configure-foreman-1.4.3-16.el6sat.noarch
* katello-foreman-all-1.4.2-14.el6sat.noarch
* katello-glue-candlepin-1.4.2-14.el6sat.noarch
* katello-glue-elasticsearch-1.4.2-14.el6sat.noarch
* katello-glue-pulp-1.4.2-14.el6sat.noarch
* katello-qpid-broker-key-pair-1.0-1.noarch
* katello-qpid-client-key-pair-1.0-1.noarch
* katello-selinux-1.4.3-3.el6sat.noarch
* openldap-2.4.23-31.el6.x86_64
* pulp-rpm-plugins-2.1.2-0.3.beta.el6sat.noarch
* pulp-selinux-2.1.2-0.3.beta.el6sat.noarch
* pulp-server-2.1.2-0.3.beta.el6sat.noarch
* python-ldap-2.3.10-1.el6.x86_64
* ruby193-rubygem-ldap_fluff-0.2.2-1.el6sat.noarch
* ruby193-rubygem-net-ldap-0.3.1-2.el6sat.noarch
* signo-0.0.18-1.el6sat.noarch
* signo-katello-0.0.18-1.el6sat.noarch

Comment 7 Mike McCune 2013-07-18 21:19:24 UTC
mass move to CLOSED:CURRENTRELEASE since MDP1 has been released.