Created attachment 107634 [details] delete_old_systems.pl delete_old_systems.pl script which has been working fine for several months.
Created attachment 109428 [details] rhn-traceback-on-system-register.txt I continue to see tracebacks resulting from Exception while handling function registration.remaining_subscriptions this time when someone tried registering a Fedora Core 3 server against the satellite, which doesn't carry FC3. Traceback message attached.
Created attachment 111216 [details] registration.py.patch I believe this will fix it, applies to /var/www/rhns/server/handlers/xmlrpc/registration.py, and restores this function as called by the up2date clients. It trivially returns -1 for remaining_subscriptions, so it always succeeds (as it has for the clients already), but avoids the RHN traceback messages being emailed to the RHN satellite owner.
Matt, your fix is correct. But the client should have noticed the server does not support that call and it shouldn't have called it. So, we'll have to look at changing the client side code, probably.
This bug is considered CanFix for RHEL 3 U6 by RHN Engineering.
Dev & PM ACKs for U6
client fix applied in 4.4.26
please provide a test plan
Test plan. To test this, you will need an old sattelite that does not support registration.remaining_subscriptions. I belive 2.1 or early 3x sats fall into this category. You will also need a new sat, 3.6 or 400 is fine. Against a modern sat: The account you are registering to needs to have extra entitlements available for that system (aka, unused entitlements) Point a current client (say, 4.4.28) at the sattelite. Run the gui registration (aka, just "up2date" or "up2date --register" on a system with a proper X "DISPLAY" env setup) after the first account screen (asking for username/password) there will be a "activation key". There will be an option for "use my existing subscriptions". If this is not greyed out, and selectable as an option, then it works. If it is greyed out, make sure you have approriate entitlements. Then try using up all available entitlements, and running it again. At this point, that option should be greyed out. Against the old sat, go through the same steps, but against an old sat. Running against an old sat that does not support registration.remaining_subscriptions, that option should always be available.
er, not "activation key" but an activation screen
status notes from Beth: -retested on new satellite -still in the midst of retesting on 2.1 satellite (rlx-1-04), but there are 10000 entitlements and I need to use them up. I may upload a new cert with only 35 entitlements but this is Cliff's satellite so I'm going to put this off for now.
According to Cliff: I don't need to verify that the registration process doesn't crap out when a client attempts to register to a 2.1 satellite with no remaining subscriptions because, as he puts it, if a customer's subscriptions are used up they will be more concerned with buying more subscriptions than any error message they get from up2date. As such, I am moving this bug to PROD_READY based on the other tests I did on a new satellite.
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 the 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. http://rhn.redhat.com/errata/RHBA-2005-712.html