Three cheers for Seth !!! Yes!! Hip Hip Horray and Alright!!! Yes, that fixed it. Thank you. Troy seth vidal wrote: > On Wed, 2003-01-15 at 16:00, Troy Dawson wrote: > >>Howdy Ho, >>Here at fermilab we have this odd little problem that only happens twice then >>goes away. It happens in our nightly cron job, as it cleans itself up. >> >>So, here is the senario. >>A user does a fresh install, or for some other reason, put's yum on for the >>first time, and get's their headers seeded. To do that we basically have all >>the headers from the repository, and the header.info file, in a tar ball, we >>then put them in the appropriate spot. But this means that they now have all >>the headers, so running a yum clean is going to remove a bunch of them. >>So along comes the nightly yum, and we have it clean itself up as it goes >>along. But as it is cleaning up, we get the traceback below. >>We've actually been having this happen for a long time, but, it only happens >>on the first, and occasionally the second, time that this cleanup happens. So >>the user get's the e-mail one night, and they are worried, so they check to >>see if yum is still working, which it is, then they forget about it. >> >>--snip---from running it with a -d4 instead of -d2---snip-- >> >>Deleting Header /var/cache/yum/731updates/headers/kernel-0-2.4.18-10.i386.hdr >>Deleting Header /var/cache/yum/731updates/headers/kernel-0-2.4.18-10.i586.hdr >>Deleting Header /var/cache/yum/731updates/headers/kernel-0-2.4.18-10.i686.hdr >>Deleting Header /var/cache/yum/731updates/headers/kernel-0-2.4.18-10.i686.hdr >>Traceback (innermost last): >> File "/usr/sbin/yum", line 24, in ? >> yummain.main(sys.argv[1:]) >> File "yummain.py", line 181, in main >> File "clientStuff.py", line 687, in take_action >> File "clientStuff.py", line 530, in clean_up_old_headers >>OSError: [Errno 2] No such file or directory: >>'/var/cache/yum/731updates/headers/kernel-0-2.4.18-10.i686.hdr' >> >>--end-snip---end-snip---end-snip-- >> >>I wasn't too worried about it until the farm people said they were going to be >>upgrading 500 nodes next month to be using yum. Also the users are starting >>to go to our release that uses it, and the observant users are noticing and >>asking about it more and more. >> >>I do have the full output of doing the command with a -d 4 and a -d 10, as >>well as the config file and full command that causes the traceback. I figured >>I'd spare the list and only send it to those that want it. >> > > > oo look - I found it :-D > > clientStuff.py - starting at line 516 it says: > > for hdrfn in hdrlist: > hdr = readHeader(hdrfn) > (e, n, v, r, a) = getENVRA(hdr) > if rpmDBInfo.exists(n, a): > (e1, v1, r1) = rpmDBInfo.evr(n, a) > rc = compareEVR((e1, v1, r1), (e, v, r)) > # if the rpmdb has an equal or better rpm then delete > # the header > if (rc >= 0): > log(4, 'Deleting Header %s' % hdrfn) > os.unlink(hdrfn) > if not HeaderInfo.exists(n, a): > # if its not in the HeaderInfo nevral anymore just kill it > log(4, 'Deleting Header %s' % hdrfn) > os.unlink(hdrfn) > > well if the hdr isn't needed b/c there is a good enough one in the rpmdb > AND it's no longer in the header.info anywhere well, then it's being > deleted twice. > > apply this patch see if you see it anymore. If it works then It'll go > in. > thanks > -sv > > > > > ------------------------------------------------------------------------ > > --- clientStuff.py 9 Dec 2002 05:37:31 -0000 1.47 > +++ clientStuff.py 15 Jan 2003 21:50:20 -0000 > @@ -514,6 +514,7 @@ > hdrdir = conf.serverhdrdir[serverid] > hdrlist = getfilelist(hdrdir, '.hdr', hdrlist) > for hdrfn in hdrlist: > + todel = 0 > hdr = readHeader(hdrfn) > (e, n, v, r, a) = getENVRA(hdr) > if rpmDBInfo.exists(n, a): > @@ -522,13 +523,14 @@ > # if the rpmdb has an equal or better rpm then delete > # the header > if (rc >= 0): > - log(4, 'Deleting Header %s' % hdrfn) > - os.unlink(hdrfn) > + todel = todel + 1 > + log(6, 'Header %s should be deleted' % hdrfn) > if not HeaderInfo.exists(n, a): > # if its not in the HeaderInfo nevral anymore just kill it > - log(4, 'Deleting Header %s' % hdrfn) > + todel = todel + 1 > + log(6, 'Deleting Header %s' % hdrfn) > + if todel > 0: > os.unlink(hdrfn) > - > > def printtime(): > import time -- __________________________________________________ Troy Dawson dawson@xxxxxxxx (630)840-6468 Fermilab ComputingDivision/OSS CSI Group __________________________________________________