Description of problem: Check the workflow in the following paste.. I'm trying to create an entitlement cert for three repos... I'll try to recreate with a new content cert from access.redhat.com, the content cert I'm using is older. x 1 : test_protected x 12: Red Hat Enterprise Linux 6 Server from RHUI (RPMs) x 14: Red Hat Update Infrastructure 2.0 (RPMs) I end up w/ entitlements for: Custom Entitlements test_protected Red Hat Repositories Red Hat Enterprise Linux 6 Server - Optional from RHUI (RPMs) Red Hat Enterprise Linux 6 Server Beta from RHUI (Debug RPMs) ****************************************************************** ----------------------------------------------------------------------------- -= Red Hat Update Infrastructure Management Tool =- -= Client Entitlement Management =- e generate an entitlement certificate c create a client configuration RPM from an entitlement certificate logout removes stored authentication credentials and exits < move to the previous screen ^, home move to the home screen /, clear clears the screen ?, help display help q, quit, exit exit Connected: ip-10-212-87-146.ec2.internal ------------------------------------------------------------------------------ rhui (client) => e Select the CDS cluster that clients using this entitlement certificate will use to download content: 1 - cluster01 Enter value (1-1) or 'b' to abort: 1 Select one or more repositories to include in the entitlement certificate: (an * next to a Red Hat repository indicates it is deployed in the RHUI) Custom Repositories - 1 : test_protected test_protected Red Hat Repositories - 2 : Red Hat Enterprise Linux 6 Server - Optional Beta from RHUI (RPMs) - 3 : Red Hat Enterprise Linux 6 Server - Optional Beta from RHUI (Source RPMs) - 4 : Red Hat Enterprise Linux 6 Server - Optional Beta from RHUI(Debug RPMs) - 5 : Red Hat Enterprise Linux 6 Server - Optional from RHUI (Debug RPMs) - 6 : Red Hat Enterprise Linux 6 Server - Optional from RHUI (RPMs) - 7 : Red Hat Enterprise Linux 6 Server - Optional from RHUI (Source RPMs) - 8 : Red Hat Enterprise Linux 6 Server Beta from RHUI (Debug RPMs) - 9 : Red Hat Enterprise Linux 6 Server Beta from RHUI (RPMs) - 10: Red Hat Enterprise Linux 6 Server Beta from RHUI (Source RPMs) - 11: Red Hat Enterprise Linux 6 Server from RHUI (Debug RPMs) - 12: Red Hat Enterprise Linux 6 Server from RHUI (RPMs) - 13: Red Hat Enterprise Linux 6 Server from RHUI (Source RPMs) - 14: Red Hat Update Infrastructure 2.0 (RPMs) - 15: Red Hat Update Infrastructure 2.0 (Source RPMs) Enter value (1-15) to toggle selection, 'c' to confirm selections, or '?' for more commands: 1 Select one or more repositories to include in the entitlement certificate: (an * next to a Red Hat repository indicates it is deployed in the RHUI) Custom Repositories x 1 : test_protected test_protected Red Hat Repositories - 2 : Red Hat Enterprise Linux 6 Server - Optional Beta from RHUI (RPMs) - 3 : Red Hat Enterprise Linux 6 Server - Optional Beta from RHUI (Source RPMs) - 4 : Red Hat Enterprise Linux 6 Server - Optional Beta from RHUI(Debug RPMs) - 5 : Red Hat Enterprise Linux 6 Server - Optional from RHUI (Debug RPMs) - 6 : Red Hat Enterprise Linux 6 Server - Optional from RHUI (RPMs) - 7 : Red Hat Enterprise Linux 6 Server - Optional from RHUI (Source RPMs) - 8 : Red Hat Enterprise Linux 6 Server Beta from RHUI (Debug RPMs) - 9 : Red Hat Enterprise Linux 6 Server Beta from RHUI (RPMs) - 10: Red Hat Enterprise Linux 6 Server Beta from RHUI (Source RPMs) - 11: Red Hat Enterprise Linux 6 Server from RHUI (Debug RPMs) - 12: Red Hat Enterprise Linux 6 Server from RHUI (RPMs) - 13: Red Hat Enterprise Linux 6 Server from RHUI (Source RPMs) - 14: Red Hat Update Infrastructure 2.0 (RPMs) - 15: Red Hat Update Infrastructure 2.0 (Source RPMs) Enter value (1-15) to toggle selection, 'c' to confirm selections, or '?' for more commands: 12 Select one or more repositories to include in the entitlement certificate: (an * next to a Red Hat repository indicates it is deployed in the RHUI) Custom Repositories x 1 : test_protected test_protected Red Hat Repositories - 2 : Red Hat Enterprise Linux 6 Server - Optional Beta from RHUI (RPMs) - 3 : Red Hat Enterprise Linux 6 Server - Optional Beta from RHUI (Source RPMs) - 4 : Red Hat Enterprise Linux 6 Server - Optional Beta from RHUI(Debug RPMs) - 5 : Red Hat Enterprise Linux 6 Server - Optional from RHUI (Debug RPMs) - 6 : Red Hat Enterprise Linux 6 Server - Optional from RHUI (RPMs) - 7 : Red Hat Enterprise Linux 6 Server - Optional from RHUI (Source RPMs) - 8 : Red Hat Enterprise Linux 6 Server Beta from RHUI (Debug RPMs) - 9 : Red Hat Enterprise Linux 6 Server Beta from RHUI (RPMs) - 10: Red Hat Enterprise Linux 6 Server Beta from RHUI (Source RPMs) - 11: Red Hat Enterprise Linux 6 Server from RHUI (Debug RPMs) x 12: Red Hat Enterprise Linux 6 Server from RHUI (RPMs) - 13: Red Hat Enterprise Linux 6 Server from RHUI (Source RPMs) - 14: Red Hat Update Infrastructure 2.0 (RPMs) - 15: Red Hat Update Infrastructure 2.0 (Source RPMs) Enter value (1-15) to toggle selection, 'c' to confirm selections, or '?' for more commands: 14 Select one or more repositories to include in the entitlement certificate: (an * next to a Red Hat repository indicates it is deployed in the RHUI) Custom Repositories x 1 : test_protected test_protected Red Hat Repositories - 2 : Red Hat Enterprise Linux 6 Server - Optional Beta from RHUI (RPMs) - 3 : Red Hat Enterprise Linux 6 Server - Optional Beta from RHUI (Source RPMs) - 4 : Red Hat Enterprise Linux 6 Server - Optional Beta from RHUI(Debug RPMs) - 5 : Red Hat Enterprise Linux 6 Server - Optional from RHUI (Debug RPMs) - 6 : Red Hat Enterprise Linux 6 Server - Optional from RHUI (RPMs) - 7 : Red Hat Enterprise Linux 6 Server - Optional from RHUI (Source RPMs) - 8 : Red Hat Enterprise Linux 6 Server Beta from RHUI (Debug RPMs) - 9 : Red Hat Enterprise Linux 6 Server Beta from RHUI (RPMs) - 10: Red Hat Enterprise Linux 6 Server Beta from RHUI (Source RPMs) - 11: Red Hat Enterprise Linux 6 Server from RHUI (Debug RPMs) x 12: Red Hat Enterprise Linux 6 Server from RHUI (RPMs) - 13: Red Hat Enterprise Linux 6 Server from RHUI (Source RPMs) x 14: Red Hat Update Infrastructure 2.0 (RPMs) - 15: Red Hat Update Infrastructure 2.0 (Source RPMs) Enter value (1-15) to toggle selection, 'c' to confirm selections, or '?' for more commands: c Name of the certificate. This will be used as the name of the certificate file (name.crt) and its associated private key (name.key). Choose something that will help identify the products contained with it: test2_protected Local directory in which to save the generated certificate [current directory]: /tmp/test2_protected Number of days the certificate should be valid [365]: Repositories to be included in the entitlement certificate: Custom Entitlements test_protected Red Hat Repositories Red Hat Enterprise Linux 6 Server - Optional from RHUI (RPMs) Red Hat Enterprise Linux 6 Server Beta from RHUI (Debug RPMs) Proceed? (y/n) y *** rh-rhui-tools-2.0.68-1.el6_3.noarch.rpm
this issue is reflected in the client: [root@ip-10-40-54-189 ~]# yum repolist Loaded plugins: product-id, rhui-lb, security, subscription-manager Updating certificate-based repositories. Unable to read consumer identity repo id repo name status rhui-custom-10000 Custom Repositories - 10000 0 rhui-rhel-6-server-rhui-optional-rpms Red Hat Enterprise Linux 6 Server - Optional from RHUI (RPMs) 5,109
So I've tested this patch and it appears to fix the problem. The issue was two separate lists were used to display and track what repos were selected. I've added a third list that is in sync w/ what is displayed to the user.. diff --git a/rhui-2.0/tools/src/rhui/tools/screens/client.py b/rhui-2.0/tools/src/rhui/tools/screens/client.py index 7e3790d..c17eef8 100644 --- a/rhui-2.0/tools/src/rhui/tools/screens/client.py +++ b/rhui-2.0/tools/src/rhui/tools/screens/client.py @@ -60,6 +60,7 @@ class ClientScreen(Screen): # Load entitlement certificate redhat_ents = self.cert_manager.valid_entitlements() redhat_ents = sorted(redhat_ents, key=lambda ent: ent.name) + redhat_ents_filtered = [] # Cross reference with Red Hat repos deployed in the RHUI to mark them # specifically @@ -72,6 +73,7 @@ class ClientScreen(Screen): if len([repo for repo in cluster_repos \ if e.label in repo['groupid']]): redhat_ent_names.append(name) + redhat_ents_filtered.append(e) # Load custom repositories and generate display names for the menu ent_repo_mappings = self.pulp.custom_repo_entitlements() @@ -85,7 +87,7 @@ class ClientScreen(Screen): # List each repo for that path underneath it, indented to match # the menu for repo in ent.repos: - if repo['repo_id'] not in cluster['repo_ids']: + if repo['id'] not in cluster['repo_ids']: continue menu_item += ' %s\n' % repo['name'] @@ -122,7 +124,7 @@ class ClientScreen(Screen): return # Map selected indices back to ent objects - redhat_selected_ents = [redhat_ents[index] for index in selected_section_indices[redhat_section_name]] + redhat_selected_ents = [redhat_ents_filtered[index] for index in selected_section_indices[redhat_section_name]] custom_selected_ents = [custom_ents[index] for index in selected_section_indices[custom_section_name]]
cloude ae1789aaabf07247f2d5f72e93dd426a72b0a86b
*** Bug 841256 has been marked as a duplicate of this bug. ***
Created attachment 599317 [details] Patching log The patch from comment 2 solves the issue indeed. Applied to rh-rhui-tools of version: 2.0.68. See the attachment for screen log of a client certificate being generated with the patch applied...
Created attachment 602083 [details] screenshot Verified against /root/RHEL-6.3-RHUI-2.1-20120801.0-Server-x86_64-DVD1.iso. For further info see attachment. Moving bug to VERIFIED.
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: Two separate repository lists were used by rhui-manager to display and track what repositories were selected during the creation of client entitlement certificate which led to a conflict. A repository list that is synchronised with what is displayed to the user has now been created to remove this error.
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/RHEA-2012-1205.html