Description of problem: When attempting to use the System Set Manager to subscribe a group of servers to a child channel shared from a different organization, get the following error: There are no systems available in your System Set to process the subscribe/unsubscribe actions you have selected. Version-Release number of selected component (if applicable): RHNS 530 How reproducible: Always Steps to Reproduce: 1) Create 2 Orgs and give System Entitlements and Channel Entitlements to both for RH channels including few child channels 2) Set up the Trust between these two Orgs 3) Login with Org1 and clone base channel as well as child channels and shared it with trusted org (Org2) a) Channels -> Manage Software Channels -> Click the Clone channel -> Select Protected -> Update Channel b) Repeat the same steps for Child channels as well. 4) Register a system using Org2 5) Select the system and click Manage and then channel membership 6) SSM -> 'channel memberships' 7) Base Channel -> Select the Base Channel and Alter Subscription (This works) 8) Now select 'Child Channels' 9) It lists you the child channels you have cloned and then select 'Subscribe' radio button. 10) Click Alter Channel Subscription button and you will see the following error Actual results: There are no systems available in your System Set to process the subscribe/unsubscribe actions you have selected. Expected results: System should get subscribed to child channels. Additional info: Child channel subscription from SDC works fine. System -> Alter Channel Subcription -> check the child channels
Now, if I take a look at the code: The error message comes from: java/code/webapp/WEB-INF/pages/channel/ssm/childsubconfirm.jsp <html:hidden property="submitted" value="true"/> <!-- Start of active users list --> <rl:list dataset="channelchanges" width="100%" name="channelchanges" styleclass="list" emptykey="ssmchildsubconfirm.jsp.noSystems"> Which tells me that channelchanges is empty. java/code/src/com/redhat/rhn/frontend/action/channel/ssm/ChildChannelConfirmAction.java // Now, build the object that the page knows how to render List<ChannelActionDAO> changes = SsmManager.buildActionlist(subs, unsubs); request.setAttribute("channelchanges", changes); It could be that SsmManager.buildActionlist() is not returning anything or if it does then: if (isSubmitted(daForm)) { // Fire the request off asynchronously SsmChangeChannelSubscriptionsEvent event = new SsmChangeChannelSubscriptionsEvent(user, changes); MessageQueue.publish(event); result = mapping.findForward("success"); } Or, when the form is submitted it creates a SsmChangeChannelSubscriptionsEvent which is then queued but nothing might be happening here.
fixed in: b6d33c812a592b3b60c9165ab90e5639ffdf06d1 there were a few places that were overly restrictive
# VERIFIED (refer to the blocker bug#615026)
Verified in stage. It's possible to subscribe systems (via ssm) to cloned child channel if its parent channel is a base channel of the systems.
The 5.4.0 RHN Satellite and RHN Proxy release has occurred. This issue has been resolved with this release. RHEA-2010:0801 - RHN Satellite Server 5.4.0 Upgrade https://rhn.redhat.com/rhn/errata/details/Details.do?eid=10332 RHEA-2010:0803 - RHN Tools enhancement update https://rhn.redhat.com/rhn/errata/details/Details.do?eid=10333 RHEA-2010:0802 - RHN Proxy Server 5.4.0 bug fix update https://rhn.redhat.com/rhn/errata/details/Details.do?eid=10334 RHEA-2010:0800 - RHN Satellite Server 5.4.0 https://rhn.redhat.com/rhn/errata/details/Details.do?eid=10335 Docs are available: http://docs.redhat.com/docs/en-US/Red_Hat_Network_Satellite/index.html Regards, Clifford