Bug 666876 - [Spacewalk] rhnplugin does not respect metadata_expire setting
Summary: [Spacewalk] rhnplugin does not respect metadata_expire setting
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Spacewalk
Classification: Community
Component: Clients
Version: 1.3
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Miroslav Suchý
QA Contact: Red Hat Satellite QA List
URL:
Whiteboard:
Depends On:
Blocks: space13 666463 666534
TreeView+ depends on / blocked
 
Reported: 2011-01-03 15:38 UTC by Miroslav Suchý
Modified: 2011-02-08 08:41 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of: 666463
Environment:
Last Closed: 2011-02-08 08:41:37 UTC
Embargoed:


Attachments (Terms of Use)

Description Miroslav Suchý 2011-01-03 15:38:27 UTC
+++ This bug was initially created as a clone of Bug #666463 +++

Description of problem:  The rhnplugin provided by yum-rhn-plugin does not respect yum's metadata_expire setting, and therefore all channels from RHN/RHNS use the default expiration time of 6 hours (21700 seconds).  

This came up in regards to an issue reported while the customer was using Satellite.  The customer pushed new packages to their Satellite base channel and taskomatic successfully regenerated the repodata for that channel.  They then scheduled a package upgrade from the satellite, which triggered the clients to run a yum update, but the metadata had not yet expired and thus the packages could not be installed without either

a) waiting 6 hours for the metadata to expire, OR
b) manually running 'yum clean all' on all of the clients

This is very inconvenient for the customer, considering they are looking to roll out satellite with several thousand clients.  

In response to the customer's report, I reproduced the issue and attempted to prevent it by lowering the metadata_expire setting so that the clients would not have to wait so long after a package push.  When this was unsuccessful, further debugging showed that repos made available through rhnplugin were still calling withinCacheAge with an expiration_time of 21700, while standard yum repos (for instance epel) were respecting my custom metadata_expire setting.  

I have implemented and tested a patch (attached) against yum-rhn-plugin which allows rhnplugin-based channels to use this setting.  I tested the setting in [main] of yum.conf, [main] of rhnplugin.conf, and individual channels in rhnplugin.conf.  All were successful at expiring the metadata of rhnplugin-based channels after the configured amount of time.

Version-Release number of selected component (if applicable): yum-rhn-plugin-0.9.1-7.el6.noarch.  

How reproducible: Whenever RHN/RHNS channel metadata is updated and a client has updated its metadata within the last 6 hours.

Steps to Reproduce:
1. Create a channel in Satellite
2. Register system to channel
3. 'yum clean all; yum makecache' on system
4. Push new or updated packages to channel
5. Within 6 hours from step 3, EITHER:
  a. yum check-update / yum install <package>
   OR
  b. Schedule an install/upgrade of one of the new packages for this system using the satellite UI

Actual results: If the action was carried out with yum (5a), observe that the packages are not available.  If the action was scheduled through satellite (5b), observe that it is reported as successful but the packages are not actually installed/updated.  

Expected results: Packages are installed or updated

Additional info: Problem also exists on RHEL5, and if no objections to implementing this functionality are presented, I will be filing another bug against it as well

--- Additional comment from jruemker on 2010-12-30 19:06:45 EST ---

Created attachment 471228 [details]
patch to add metadata_expire functionality to rhnplugin (fixed whitespace typo in previous patch)

Comment 1 Miroslav Suchý 2011-01-03 15:43:57 UTC
Patch applied as commit f9a28adf24d288931cbb512712949304b57fb039
Thx for contribution.

Comment 2 Tomas Lestach 2011-02-03 12:21:38 UTC
Moving ON_QA ...

Comment 3 Tomas Lestach 2011-02-08 08:41:37 UTC
This bug has been fixed in Spacewalk 1.3.


Note You need to log in before you can comment on or make changes to this bug.