Description of problem:
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Have a system that has a base channel
2. Through the rpc api calls try to subscribe 2 base channels to the system
client.channel.software.set_system_channels (session_key, sys_id, [base_label_1,
3. Notice the error generated...
xmlrpclib.Fault: <Fault -1: 'unhandled internal exception: ORA-20102:
(channel_server_one_base) - A server can be subscribed to at most one base
channel\nORA-06512: at "RHNSAT.RHN_EXCEPTION", line 23\nORA-06512: at
"RHNSAT.RHN_CHANNEL", line 93\nORA-06512: at line 1\n'>
Nice non oracle specific message saying "Cant subscribe 2 base channels..."
Modifications made with git commit: 7d24d16435a0bea08b0bb964813e7c871e71c5ae
Updated channel.software.setSystemChannels to throw an exception like the following:
Fault 1203: 'redstone.xmlrpc.XmlRpcFault: Multiple base channels selected for subscription. The channels rhel-x86_64-server-5 and rhel-x86_64-server-6 were both selected for subscription, but a system can only be subscribed to a single base channel.'
Note: We use this same exception for other similar scenarios w/in the API.
Note: No changes will be made to the systems current channel settings when this exception is thrown.
Verified against ISO: Satellite-5.3.0-RHEL5-re20090206.1-i386-embedded-oracle.iso
Added automation test to rpcapi to check for error message snippet "a system can only be subscribed to a single base channel".
Verified in stage:
<Fault 1203: 'redstone.xmlrpc.XmlRpcFault: Multiple base channels selected for
subscription. The channels rhel-i386-server-5.0.z and rhel-i386-server-5.1.z
were both selected for subscription, but a system can only be subscribed to a
single base channel.'>
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.