Bug 229616

Summary: KeyError: <yum.yumRepo.YumRepository object at 0x997e4ac>
Product: [Fedora] Fedora Reporter: John Reiser <jreiser>
Component: pungiAssignee: David Cantrell <dcantrell>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhide   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: pungi-0.2.6-1.fc7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-02-23 03:47:36 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description John Reiser 2007-02-22 04:26:42 UTC
Description of problem: pungi quit unexpectedly with cryptic error message. 


Version-Release number of selected component (if applicable):
pungi-0.2.4-1.fc7


How reproducible:
haven't tried

Steps to Reproduce:
1. pungi -c /etc/pungi/pungi.conf
2.
3.
  
Actual results:
Traceback (most recent call last):
  File "/usr/bin/pungi", line 179, in <module>
    main()
  File "/usr/bin/pungi", line 102, in main
    mygather.downloadSRPMs()
  File "/usr/lib/python2.5/site-packages/pypungi/gather.py", line 251, in
downloadSRPMs
    self.doSackSetup(archlist=['src'])
  File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 352, in doSackSetup
    self.pkgSack.excludeArchs(archlist)
  File "/usr/lib/python2.5/site-packages/yum/packageSack.py", line 331, in
excludeArchs
    sack.excludeArchs(archlist)
  File "/usr/lib/python2.5/site-packages/yum/sqlitesack.py", line 588, in
excludeArchs
    self.delPackage(obj)
  File "/usr/lib/python2.5/site-packages/yum/sqlitesack.py", line 191, in delPackage
    self.excludes[repo][obj.pkgId] = 1
KeyError: <yum.yumRepo.YumRepository object at 0x997e4ac>


Expected results:
successful creation of .iso

Additional info:
pungi]$ du -s *
2099724 cache
124     development
512     logs

comps-fc7.xml, f7-classic.i386, f7-classic.manifest as of Wednesday 2007-02-21:
$ md5sum $HOME/Desktop/comps-fc7.xml $HOME/Desktop/f7*
4dd1713c18de4f5c4d970d0e24e13344  /home/jreiser/Desktop/comps-fc7.xml
ba7318ee9f2b0a28cbdbda3cdfff3f5a  /home/jreiser/Desktop/f7-classic.i386
76104b94826f2894761bbdb8750838a3  /home/jreiser/Desktop/f7-classic.manifest
$ 
-----/etc/pungi/pungi.conf
# Pungi config file
#

[default]
product_name = Fedora Core
product_path = Fedora
iso_basename = FC
comps =    /home/jreiser/Desktop/comps-fc7.xml
manifest = /home/jreiser/Desktop/f7-classic.manifest
yumconf =  /home/jreiser/Desktop/yum.conf.rawhide.i386
destdir =  /home/jreiser/srv/pungi
cachedir = /home/jreiser/srv/pungi/cache
arch = i386
version = development
discs = 1
getsource = Yes
-----

Comment 1 Jesse Keating 2007-02-22 12:29:37 UTC
To be honest, I haven't tried gathering source in a while.  Can you try without
that and see what you get?

Comment 2 John Reiser 2007-02-22 15:20:29 UTC
I changed to "getsource = no" in /etc/pungi/pungi.conf.  Then:
-----
# pungi -c /etc/pungi/pungi.conf
Copying release note file RELEASE-NOTES-en_US.html
Copying release note file README-BURNING-ISOS-en_US.txt
Copying release note file fedora.css
Copying release note file GPL
Copying release note file eula.txt
Copying release note file RPM-GPG-KEY
Copying release note file RPM-GPG-KEY-fedora-legacy
Copying release note file RPM-GPG-KEY-fedora
Copying release note file RPM-GPG-KEY-fedora-extras
Copying release note file RPM-GPG-KEY-fedora-test
Copying release note file RPM-GPG-KEY-rawhide
Copying release note file RPM-GPG-KEY-fedora-rawhide
Copying release note file RPM-GPG-KEY-beta
Copying release note dir stylesheet-images
Traceback (most recent call last):
  File "/usr/bin/pungi", line 179, in <module>
    main()
  File "/usr/bin/pungi", line 114, in main
    mypungi.doSplittree()
  File "/usr/lib/python2.5/site-packages/pypungi/pungi.py", line 160, in doSplittree
    output = timber.main()
  File "/usr/lib/anaconda-runtime/splittree.py", line 393, in main
    self.createSplitDirs()
  File "/usr/lib/anaconda-runtime/splittree.py", line 236, in createSplitDirs
    self.createDiscInfo(i)
  File "/usr/lib/anaconda-runtime/splittree.py", line 151, in createDiscInfo
    raise RuntimeError, "CRITICAL ERROR : self.real_arch is not the same as
self.arch"
RuntimeError: CRITICAL ERROR : self.real_arch is not the same as self.arch
-----

The actual discrepant values of arch and real_arch are not evident from the message.

pungi.conf:arch = i386
yum.conf.i386:exactarch=1
/home/jreiser/Desktop/f7-classic.i386:arch = i386
/home/jreiser/Desktop/yum.conf.rawhide.i386:exactarch=1

So where was arch set to [presumably] x86_64 ?


Comment 3 Jesse Keating 2007-02-22 15:28:52 UTC
Actually I took a closer look at your configs.  You're using the classic
manifest, but only asking for one CD, without setting CD size to something
large.  That won't work.  If you're trying to compose classic, please use the
configs from http://people.redhat.com/jkeating/f7-test2/

Comment 4 John Reiser 2007-02-22 15:37:39 UTC
That's where I got the config files f7-classic.i386, f7-classic.manifest,
comps-fc7.xml, and pungi.conf.  I retrieved again; the new copies are the same
as the old (except my pungi.conf has "arch = i386".)

What is the syntax for "setting CD size to something large" 

Comment 5 Jesse Keating 2007-02-22 16:15:13 UTC
Perhaps I didn't make it clear, instead of -c /etc/pungi/pungi.conf  you would
use -c /etc/pungi/f7-classic.i386

Comment 6 John Reiser 2007-02-22 17:00:51 UTC
OK, but now I get "IndexError: list index out of range" apparently because:
du: cannot access `/srv/pungi/development/6.91/Classic/i386/os-disc0': No such
file or directory

## I moved the .../srv directory to /srv to make config files simpler,
## and changed to "version = 6.91".  I added "setarch i386" to evade trouble.
## I also removed the 'development' and 'work' directories before starting here:
-----
# setarch i386 pungi -c f7-classic.i386
Copying release note file RELEASE-NOTES-en_US.html
Copying release note file README-BURNING-ISOS-en_US.txt
Copying release note file fedora.css
Copying release note file GPL
Copying release note file eula.txt
Copying release note file RPM-GPG-KEY
Copying release note file RPM-GPG-KEY-fedora-legacy
Copying release note file RPM-GPG-KEY-fedora
Copying release note file RPM-GPG-KEY-fedora-extras
Copying release note file RPM-GPG-KEY-fedora-test
Copying release note file RPM-GPG-KEY-rawhide
Copying release note file RPM-GPG-KEY-fedora-rawhide
Copying release note file RPM-GPG-KEY-beta
Copying release note dir stylesheet-images
du: cannot access `/srv/pungi/development/6.91/Classic/i386/os-disc0': No such
file or directory
Traceback (most recent call last):
  File "/usr/bin/pungi", line 179, in <module>
    main()
  File "/usr/bin/pungi", line 114, in main
    mypungi.doSplittree()
  File "/usr/lib/python2.5/site-packages/pypungi/pungi.py", line 160, in doSplittree
    output = timber.main()
  File "/usr/lib/anaconda-runtime/splittree.py", line 394, in main
    self.splitRPMS()
  File "/usr/lib/anaconda-runtime/splittree.py", line 301, in splitRPMS
    curused = self.getSize("%s-disc%s" % (self.dist_dir, disc), blocksize=1)
  File "/usr/lib/anaconda-runtime/splittree.py", line 113, in getSize
    thesize = long(string.split(thesize)[0])
IndexError: list index out of range
----

The files in /srv/pungi/development/6.91/Classic/i386 are:
$ ls
os  os-disc1



Comment 7 Jesse Keating 2007-02-22 20:11:24 UTC
heh, I just noticed what version you're running, and realized something went
haywire in the Extras push script which pushed out an older version of pungi. 
Pungi should be version 0.2.6, not 0.2.4.  Working with the Extras team to get
the right version out there.

Comment 8 Jesse Keating 2007-02-23 03:47:36 UTC
pungi-0.2.6-1.fc7.noarch.rpm should be available now in extras, and should solve
your problem.