Bug 827554

Summary: Katello doesn't update candlepin product content on gpgkey data change
Product: Red Hat Satellite Reporter: Chris Pelland <cpelland>
Component: Content ManagementAssignee: Katello Bug Bin <katello-bugs>
Status: CLOSED ERRATA QA Contact: Kedar Bidarkar <kbidarka>
Severity: high Docs Contact:
Priority: medium    
Version: 6.0.0CC: alikins, bkearney, cpelland, dmacpher, gkhachik, kbidarka, mmccune, omaciel
Target Milestone: UnspecifiedKeywords: Regression, Triaged, ZStream
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
System Engine did not pass GPG key information from an updated product or repository to candlepin. The gpgkey value in clients' repo files remained unchanged. This update refreshes candlepin content after updating System Engine repository information. This candlepin content updates repo files on clients, including GPG keys.
Story Points: ---
Clone Of: 814118 Environment:
Last Closed: 2012-07-10 07:25:03 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: 814118, 824581    
Bug Blocks:    

Comment 6 Mike McCune 2012-06-21 19:38:00 UTC
SYSTEM-ENGINE-1.0.1: 

commit 617b18d5e0e3e425478baed048f2634fe4a5ffb0
Author: Justin Sherrill <jsherril>
Date:   Fri May 11 14:51:02 2012 -0400

    814118 - fixing issue where updating gpg key did not refresh cp content
    (cherry picked from commit 604d36ae7c6056d6559d64cdba94422cc68f3ec5)

Comment 7 Dan Macpherson 2012-06-24 16:08:27 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
System Engine did not pass GPG key information from an updated product or repository to candlepin. The gpgkey value in clients' repo files remained unchanged. This update refreshes candlepin content after updating System Engine repository information. This candlepin content updates repo files on clients, including GPG keys.

Comment 8 Kedar Bidarkar 2012-06-26 10:05:16 UTC
Summary :- Running the commands "subscription-manager refresh" and "yum repolist" on client, after adding gpgkey key for the repo, does not automatically change the gpgcheck=0 to gpgcheck=1
 
------------------------------------

Case 1)  : without a gpgkey

I synced a custom provider "rhel62" and synced content, no gpg key was used.
It was later promoted and on running "yum repolist", the redhat.repo was populated with the below stuff.

[ACME_Corporation_Fedora_product_fed_repo]
name = fed_repo
baseurl = https://xc.redhat.com/pulp/repos/ACME_Corporation/Dev/custom/Fedora_product/fed_repo
enabled = 1
gpgcheck = 0
sslverify = 1
sslcacert = /etc/rhsm/ca/candlepin-local.pem
sslclientkey = /etc/pki/entitlement/3211491558867242750-key.pem
sslclientcert = /etc/pki/entitlement/3211491558867242750.pem

==================End of Case1=================================

Case 2): After adding a GPGkey for the repo

Later I added the gpgkey, re-synced content ( agreed not necessary), re-promoted the Product.
Moved to the client end, 
Ran the below commands.

[root@xx ~]# subscription-manager refresh 
All local data refreshed
[root@xx ~]# yum repolist
Loaded plugins: product-id, security, subscription-manager
Updating certificate-based repositories.
ACME_Corporation_Fedora_product_fed_repo                 | 3.7 kB     00:00     
repo id                                              repo name            status
ACME_Corporation_Fedora_product_fed_repo             fed_repo             3,529
repolist: 3,529


And now on checking the content inside redhat.repo , after running the above commands,

[ACME_Corporation_Fedora_product_fed_repo]
name = fed_repo
baseurl = https://xc.redhat.com/pulp/repos/ACME_Corporation/Dev/custom/Fedora_product/fed_repo
enabled = 1
gpgcheck = 0
gpgkey = https://xc.redhat.com/katello/api/repositories/1/gpg_key_content
sslverify = 1
sslcacert = /etc/rhsm/ca/candlepin-local.pem
sslclientkey = /etc/pki/entitlement/1401602742009796537-key.pem
sslclientcert = /etc/pki/entitlement/1401602742009796537.pem


I see that gpgcheck has not automatically moved to gpgcheck=1 and is still gpgcheck=0, but we have a new entry which is the link to the gpgkey

====================End of Case 2=====================================


After that I manually flipped it to gpgcheck=1, removed the "gpg-pubkey" and found that, we could indeed fetch content and the gpgkeys also with it.

Later I re-registered the system and re-subscribed the product and now the redhat.repo was populated with the below content.

[ACME_Corporation_Fedora_product_fed_repo]
name = fed_repo
baseurl = https://xc.redhat.com/pulp/repos/ACME_Corporation/Dev/custom/Fedora_product/fed_repo
enabled = 1
gpgcheck = 1
gpgkey = https://xc.redhat.com/katello/api/repositories/1/gpg_key_content
sslverify = 1
sslcacert = /etc/rhsm/ca/candlepin-local.pem
sslclientkey = /etc/pki/entitlement/2967524992419075334-key.pem
sslclientcert = /etc/pki/entitlement/2967524992419075334.pem

Comment 11 errata-xmlrpc 2012-07-10 07:25:03 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2012-1062.html