Bug 57732

Summary: Kickstart over network gives kickstart.py traceback
Product: [Retired] Red Hat Linux Reporter: Ton Kersten <ton.kersten>
Component: anacondaAssignee: Jeremy Katz <katzj>
Status: CLOSED NOTABUG QA Contact: Brock Organ <borgan>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.2   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2002-01-03 07:32:45 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 Ton Kersten 2001-12-20 12:49:53 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.4)
Gecko/20011126 Netscape6/6.2.1

Description of problem:
When we do a kickstart over the network the installer stops with a
traceback of /usr/lib/anaconda/kickstart.py line 242 which says
device = drives[0], index error

This is after the load of the diskdrivers.

I did repair the 'doLiloCheck (self, id, ..)' but this doesn't seem to
help. I did remove the complete doLiloCheck from kickstart.py and
recompiled it. Then I did put this new kickstart.pyc in our stage2.img,
netstg1.img and hdstg1.img (base directory). All to no revail, the error
stays the same.

What am I missing here??

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1.Try to kickstart a machine over the net using eth1.
2.
3.
	

Actual Results:  The machine stops installing and a python (kickstart.py)
traceback is
displayed. Teh next message is that it is safe to turn my computer off.

Expected Results:  An installed machine with RH-7.2

Additional info:

Our net-ks.cfg file
------------------------------------------------------------------------
#### Be sure the kickstart is INTENDED (not by mistake)
#
# Switched off due to bugs in /usr/lib/anaconda/kickstart.py
#
# TonK @ 19-12-2001 10:45
#
# lilocheck

### Language Specification
lang en_US

### Network Configuration
network --bootproto dhcp

### Source File Location
##NET-1-BEGIN
nfs --server 192.87.56.65 --dir /ndist/kickstart/cdrom72
##NET-1-END

### Ethernet Device Configuration
#device ethernet wd --opts "io=0x280, irq=3" 

### Keyboard Configuration
### Will get set to 'us' by default 
### if nothing specified in /etc/sysconfig/keyboard
keyboard us

### Partitioning Information
### Whether to clear out the Master Boot Record (yes/no)
### Which partitions to format (--linux/--all)
###      --linux - only format existing linux partitions
###      --all   - format all existing partitions
### Which partitions to set up on new system as well 
### as size of those partitions
### Specify software RAID partitions (optional)
zerombr yes
clearpart --all
part /boot       --size   20 --onprimary 1
part swap        --size 1024 --onprimary 2
part /           --size  300 --onprimary 3
part /usr        --size 2500
part /tmp        --size  300
part /var        --size  500
part /usr/atcomp --size  600
part /home       --size  500
part /ndist      --size    1 --grow

# Here's where we'd set up RAID devices if any.
#part raid.0 --size 80 --ondisk sda
#part raid.1 --size 80 --ondisk sdb
#raid swap raid.0 raid.1 --level 1 --device md0

# Install (not upgrade)
install

### Mouse Configuration
mouse generic3ps/2

### Firewall Configuration
firewall --disabled


### Time Zone Configuration
timezone --utc Europe/Amsterdam

### X Configuration
skipx

### Root Password Designation
rootpw mr.linux 

### Reboot system after installation complete
#reboot

### Authorization Configuration
auth --useshadow --enablemd5

### Lilo Configuration
lilo --location mbr

### Package Designation
%packages
##PACK-BEGIN
basesystem
desktop-backgrounds
ghostscript-fonts
gnome-audio
gnome-audio-extra
urw-fonts
Canna-libs
ImageMagick
LPRng
MAKEDEV
Mesa
ORBit
SysVinit
VFlib2
Wnn6-SDK
XFree86
XFree86-100dpi-fonts
XFree86-75dpi-fonts
XFree86-devel
XFree86-libs
XFree86-tools
XFree86-twm
XFree86-xdm
XFree86-xfs
Xaw3d
Xaw3d-devel
a2ps
abiword
am-utils
anaconda
anaconda-runtime
anacron
anonftp
apache
apache-manual
apmd
arpwatch
arts
ash
aspell
aspell-en-gb
aspell-nl
at
audiofile
aumix
authconfig
autoconf
autofs
automake
balsa
bash
bash-doc
bc
bdflush
bind
bind-utils
binutils
bison
bug-buddy
byacc
bzip2
bzip2-devel
cdecl
chkconfig
chkfontpath
compat-libstdc++
console-tools
control-center
cpio
cpp
cproto
cracklib
cracklib-dicts
crontabs
ctags
cvs
cyrus-sasl
cyrus-sasl-devel
db1
db2
db3
db3-utils
ddd
dev
dhcp
dhcpcd
dia
diffstat
diffutils
dos2unix
dosfstools
dump
e2fsprogs
e2fsprogs-devel
ed
ee
eject
elm
emacs
emacs-X11
emacs-nox
esound
exmh
expat
expat-devel
expect
extace
fetchmail
file
filesystem
fileutils
findutils
finger
flex
fortune-mod
freetype
freetype-devel
ftp
fvwm2
fvwm2-icons
gal
gawk
gcc
gcc-c++
gcc-java
gcc-objc
gd
gd-devel
gdb
gdbm
gdbm-devel
gdk-pixbuf
gdk-pixbuf-devel
gdm
gedit
gettext
gftp
ghostscript
glib
glib-devel
glibc
glibc-common
glibc-devel
glms
gmc
gmp
gnome-applets
gnome-core
gnome-games
gnome-libs
gnome-pim
gnome-print
gnome-utils
gnorpm
gnumeric
gnupg
gperf
gpm
gpm-devel
gqview
grep
groff
groff-perl
gtk+
gtk+-devel
gtk-engines
gtop
guile
gv
gzip
hdparm
hotplug
htdig
imlib
imlib-cfgeditor
indent
indexhtml
info
initscripts
ipchains
iptables
iptables-ipv6
iputils
isapnptools
kbdconfig
kde-i18n-Dutch
kdeadmin
kdebase
kdelibs
kdelibs-sound
kdepim
kdeutils
kernel
kernel-doc
kernel-headers
kernel-smp
kernel-source
koffice
krb5-libs
ksymoops
kudzu
lclint
less
libgcj
libgcj-devel
libghttp
libglade
libgtop
libjpeg
libmng
libole2
libpng
librep
libstdc++
libstdc++-devel
libtermcap
libtermcap-devel
libtiff
libtool
libtool-libs
libungif
libunicode
libxml
lilo
lm_sensors
logrotate
lokkit
losetup
lsof
ltrace
lynx
m4
mailcap
mailx
make
man
man-pages
mc
memprof
metamail
mingetty
minicom
mkbootdisk
mkinitrd
mkkickstart
mktemp
mod_perl
modutils
mount
mouseconfig
mozilla
mozilla-mail
mozilla-psm
mpage
mt-st
mtools
mutt
ncompress
ncurses
ncurses-devel
net-tools
netpbm
netpbm-devel
netpbm-progs
netscape-common
netscape-communicator
newt
nfs-utils
nkf
nmap
nmh
ntp
ntsysv
nvi-m17n-nocanna
openldap
openssh
openssh-askpass
openssh-askpass-gnome
openssh-clients
openssh-server
openssl
pam
pam-devel
passwd
patch
pciutils
pciutils-devel
pdksh
perl
php
pilot-link
pine
popt
portmap
ppp
procmail
procps
psmisc
pspell
psutils
pump
pwdb
pygnome-libglade
pygtk
pygtk-libglade
python
qt
qt-devel
qt-static
quota
raidtools
rcs
rdist
readline
readline-devel
redhat-logos
redhat-release
rep-gtk
rep-gtk-gnome
rep-gtk-libglade
rmt
rootfiles
rpm
rpm-build
rpm-devel
rpm-python
rsh
rsh-server
rsync
rxvt
samba
samba-client
samba-common
sash
sawfish
sawfish-themer
sed
sendmail
sendmail-cf
sendmail-doc
setserial
setup
setuptool
sh-utils
shadow-utils
sharutils
slang
slocate
stat
strace
stunnel
switchdesk
switchdesk-gnome
switchdesk-kde
symlinks
sysklogd
syslinux
sysstat
talk
talk-server
tamago
tar
tcl
tclx
tcp_wrappers
tcpdump
tcsh
telnet
telnet-server
termcap
texinfo
textutils
tftp-server
time
timeconfig
tix
tk
tkinter
tmpwatch
traceroute
tripwire
ucd-snmp
ucd-snmp-utils
umb-scheme
unix2dos
unzip
usermode
utempter
util-linux
vim-X11
vim-common
vim-enhanced
vim-minimal
vixie-cron
wget
which
whois
words
wu-ftpd
xchat
xemacs
xinetd
xinitrc
xloadimage
xpdf
xscreensaver
yp-tools
ypbind
ypserv
zip
zlib
zlib-devel

##PACK-END

### Commands to be run immediately after this file has been parsed
%pre

### Commands to be run post-installation

# Notice:
# - for a network install, we use a chrooted environment
# - for a CDROM install, we use a non-chrooted environment

##NET-2-BEGIN
%post

# Meld starten van post install
echo "Basic kickstart completed at `/bin/date`" \
        >> /var/log/kickstart.log
# NET install
# this is done chrooted

# Allereerst het overnemen van /usr/atcomp
# en andere directories.
# /usr/atcomp is essentieel als voorbereiding,
# de andere zijn nodig omdat dit bij de CDROM-kickstart
# vanaf de CD gekopieerd moet worden.
#
(
 echo "Postinstall starting now -- `/bin/date`"
 echo "Filling /etc/hosts"
 echo "127.0.0.1 localhost. localhost" >> /etc/hosts
 echo "192.87.56.65 cursushost nijmegen4.zaal.atcomputing.nl" >> /etc/hosts
 echo "done -- `/bin/date`"

 echo "Starting portmapper .... "
 /sbin/portmap
 echo "done -- `/bin/date`"

  echo "Now copying /usr/atcomp .... "
  /bin/mount -t nfs -o ro,nolock 192.87.56.65:/usr/atcomp /mnt
  cd /mnt
  cp -a . /usr/atcomp
  cd /
  umount /mnt
  echo " done -- `/bin/date`"
  sleep 2

  # Overnemen van /usr/local
  echo "Now copying /usr/local .... "
  /bin/mount -t nfs -o ro,nolock 192.87.56.65:/usr/local /mnt
  cd /mnt
  cp -a . /usr/local
  cd /
  umount /mnt
  echo " done -- `/bin/date`"
  sleep 2

  # Overnemen van /usr/atcmp
  echo "Now copying /usr/atcmp .... "
  /bin/mount -t nfs -o ro,nolock 192.87.56.65:/usr/atcmp /mnt
  cd /mnt
  cp -a . /usr/atcmp
  cd /
  umount /mnt
  echo " done -- `/bin/date`"
  sleep 2

  # Overnemen van /home
  echo "Now copying /home .... "
  /bin/mount -t nfs -o ro,nolock 192.87.56.65:/home /mnt
  cd /mnt
  cp -a . /home
  cd /
  umount /mnt
  echo " done -- `/bin/date`"
  sleep 2
) >> /var/log/kickstart.log 2>&1

# de rest kan via de post-install procedure
#
/usr/atcomp/kloon/postinstall.ksh >> /var/log/kickstart.log 2>&1
##NET-2-END

Comment 1 Jeremy Katz 2001-12-20 17:29:47 UTC
Could you include the complete traceback message?  There's some context missing
here which would be nice to have.

Comment 2 Ton Kersten 2001-12-21 08:13:07 UTC
The complete traceback:
---------------------------------------------------------------------------------
Running anaconda - please wait...
Traceback (innermost last):
    File "/usr/bin/anaconda", line 393, in ?
        instClass = KickStart(Kickstart, serial)
    File "/usr/lib/anaconda/kickstart.py", line 696, in Kickstart
        ksClass = KickstartBase(file, serial)
    File "/usr/lib/anaconda/kickstart.py", line 657, in __init__
        self.readKickstart(file)
    File "/usr/lib/anaconda/kickstart.py", line 528, in readKickstart
        handlers[args[0]](args[1:])
    File "/usr/lib/anaconda/kickstart.py", line 242, in doLiloCheck
        device = drives[0]
Index Error: list index out of range
install exited abnormally
sending termination signals...done
sending kill signals...done
disabling swap...
unmounting file systems
    /mnt/runtime done
    disabling /dev/loop0
    /proc done
    /dev/pts done
    /mnt/source umount failed (16)
You may safely reboot your system.
---------------------------------------------------------------------------------

Hope this helps.    


Comment 3 Jeremy Katz 2002-01-02 21:56:54 UTC
Hmm, if you boot normally (without the kickstart file) and on tty2 run the
following, what do you get?

PYTHONPATH=/usr/lib/anaconda/isys:/usr/lib/anaconda/balkan python -c "import
isys; print isys.hardDriveDict ().keys()"

Comment 4 Ton Kersten 2002-01-03 07:32:40 UTC
We installed the machine from CD, so that we are able to continue testing. But
when I run the command on this installed machine, this is the result.

# PYTHONPATH=/usr/lib/anaconda/isys:/usr/lib/anaconda/balkan python -c "import
isys; print isys.hardDriveDict ().keys()"
Traceback (innermost last):
  File "<string>", line 1, in ?
ImportError: No module named isys

But we do think that we have found the error. It seems that we had a path 
mismatch between the RH71 and RH72 installation. After repairing the path 
settings and commenting out the doLiloCheck we where able to install. 

I'm not sure if this is what you wanted me to do. If you like, I will boot the 
machine from CD and then run the command again.

Comment 5 Jeremy Katz 2002-01-03 07:45:36 UTC
Yeah, mismatched paths would definitely be a good cause for this one