Skip to contentSkip to conversation

Autotest: Unattended_install testcase always fail with rhel3.9-32 guest

Autotest Lucas Meneghel Rodrigues 3 participants 10 messages Apr 14, 2010 – Apr 19, 2010 2 messages not in the archive KVM

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): -1719040579288086063@unknownmsgid

#1 lore raw
Quoted 4 lines · Amos Kong

Hi Lucas,

When I execute unattended_install testcases on RHEL-5.5, it always fail when using rhel3.9-32 guest. I found it blocked after packages installation. Is it related that rhel39-32 guest don't support acpi ?

I've hit this problem before, it is what I believe to be an anaconda bug on that particular RHEL version. I tried a *lot* to work around the problem, spent a lot of time with it, but in the end I just gave up.

The problem happens because it's simply not possible to bring the network up at post install stage so the install can communicate with the host to respond that its installation finished. If anyone can help to work around the problem that'd be great...

Quoted 8 lines

Regards,
Amos
_______________________________________________
Autotest mailing list
[email protected]
http://test.kernel.org/cgi-bin/mailman/listinfo/autotest

Signature · 1 line
Lucas
#2 lore raw
Quoted 11 lines · Lucas Meneghel Rodrigues
Quoted 4 lines · Amos Kong

Hi Lucas,

When I execute unattended_install testcases on RHEL-5.5, it always fail when using rhel3.9-32 guest. I found it blocked after packages installation. Is it related that rhel39-32 guest don't support acpi ?

I've hit this problem before, it is what I believe to be an anaconda bug on that particular RHEL version. I tried a *lot* to work around the problem, spent a lot of time with it, but in the end I just gave up.

Quoted 4 lines

The problem happens because it's simply not possible to bring the network up at post install stage so the install can communicate with the host to respond that its installation finished. If anyone can help to work around the problem that'd be great...

For people reading this thread without a lot of context, just for the record, rhel39-64 bit works just fine.

Quoted 14 lines
Quoted 8 lines

Regards,
Amos
_______________________________________________
Autotest mailing list
[email protected]
http://test.kernel.org/cgi-bin/mailman/listinfo/autotest

--
Lucas

Signature · 1 line
Lucas
#3 lore raw
In reply to Lucas Meneghel Rodrigues
Quoted 11 lines · Lucas Meneghel Rodrigues
Quoted 4 lines · Amos Kong

Hi Lucas,

When I execute unattended_install testcases on RHEL-5.5, it always fail when using rhel3.9-32 guest. I found it blocked after packages installation. Is it related that rhel39-32 guest don't support acpi ?

I've hit this problem before, it is what I believe to be an anaconda bug on that particular RHEL version. I tried a *lot* to work around the problem, spent a lot of time with it, but in the end I just gave up.

Quoted 4 lines

The problem happens because it's simply not possible to bring the network up at post install stage so the install can communicate with the host to respond that its installation finished. If anyone can help to work around the problem that'd be great...

What commands are you running to configure the network and what command is stalling? I've done unattended installs with RHEL3.8, 32-bit guests with networking enabled.

David

Quoted 12 lines
Quoted 9 lines

Regards,
Amos
_______________________________________________
Autotest mailing list
[email protected]
http://test.kernel.org/cgi-bin/mailman/listinfo/autotest

#4 lore raw
Quoted 13 lines · David S. Ahern
Quoted 11 lines · Lucas Meneghel Rodrigues
Quoted 4 lines · Amos Kong

Hi Lucas,

When I execute unattended_install testcases on RHEL-5.5, it always fail when using rhel3.9-32 guest. I found it blocked after packages installation. Is it related that rhel39-32 guest don't support acpi ?

I've hit this problem before, it is what I believe to be an anaconda bug on that particular RHEL version. I tried a *lot* to work around the problem, spent a lot of time with it, but in the end I just gave up.

Quoted 8 lines
Quoted 4 lines

The problem happens because it's simply not possible to bring the network up at post install stage so the install can communicate with the host to respond that its installation finished. If anyone can help to work around the problem that'd be great...

What commands are you running to configure the network and what command is stalling? I've done unattended installs with RHEL3.8, 32-bit guests with networking enabled.

To add some background to the discussion, RHEL3.9 64 bit works just fine. The kickstart file that installs pretty much all RH based systems tries to configure the network by calling 'dhclient eth0'. In order to work, some networking kernel modules need to be loaded.

While debugging the problem, I discovered that it wasn't possible to load some of the iptables kernel modules (I don't remember exactly which ones). So I tried many strategies, loading the modules specifying paths, etc... nothing worked. It seems like those essential networking modules in the install kernel for 32 bit are missing due to some build problem.

Sure, once the install finished the system will boot on a functional kernel, but the kernel used by the install system just can't load the modules, rendering our unattended install system useless, since the host need to be able to verify whether the guest finished the install through socket communication.

Quoted 19 lines

David

Quoted 12 lines
Quoted 9 lines

Regards,
Amos
_______________________________________________
Autotest mailing list
[email protected]
http://test.kernel.org/cgi-bin/mailman/listinfo/autotest

--
To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

#5 lore raw
Quoted 28 lines · Lucas Meneghel Rodrigues
Quoted 13 lines · David S. Ahern
Quoted 11 lines · Lucas Meneghel Rodrigues
Quoted 4 lines · Amos Kong

Hi Lucas,

When I execute unattended_install testcases on RHEL-5.5, it always fail when using rhel3.9-32 guest. I found it blocked after packages installation. Is it related that rhel39-32 guest don't support acpi ?

I've hit this problem before, it is what I believe to be an anaconda bug on that particular RHEL version. I tried a *lot* to work around the problem, spent a lot of time with it, but in the end I just gave up.

Quoted 8 lines
Quoted 4 lines

The problem happens because it's simply not possible to bring the network up at post install stage so the install can communicate with the host to respond that its installation finished. If anyone can help to work around the problem that'd be great...

What commands are you running to configure the network and what command is stalling? I've done unattended installs with RHEL3.8, 32-bit guests with networking enabled.

To add some background to the discussion, RHEL3.9 64 bit works just fine. The kickstart file that installs pretty much all RH based systems tries to configure the network by calling 'dhclient eth0'. In order to work, some networking kernel modules need to be loaded.

Quoted 5 lines

While debugging the problem, I discovered that it wasn't possible to load some of the iptables kernel modules (I don't remember exactly which ones). So I tried many strategies, loading the modules specifying paths, etc... nothing worked. It seems like those essential networking modules in the install kernel for 32 bit are missing due to some build problem.

Ok, so it's firewall related. RHEL3 uses a BOOT kernel and only a subset of the kernel modules are included in the modules.cgz. It should contain all of the drivers for the NICs, so networking alone should be fine. Why are the iptables rules needed to tell the host that the install has completed?

David

Quoted 28 lines

Sure, once the install finished the system will boot on a functional kernel, but the kernel used by the install system just can't load the modules, rendering our unattended install system useless, since the host need to be able to verify whether the guest finished the install through socket communication.

Quoted 19 lines

David

Quoted 12 lines
Quoted 9 lines

Regards,
Amos
_______________________________________________
Autotest mailing list
[email protected]
http://test.kernel.org/cgi-bin/mailman/listinfo/autotest

--
To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

#6 lore raw
In reply to David S. Ahern
Quoted 14 lines · David S. Ahern
Quoted 11 lines · Lucas Meneghel Rodrigues
Quoted 4 lines · Amos Kong

Hi Lucas,

When I execute unattended_install testcases on RHEL-5.5, it always fail when using rhel3.9-32 guest. I found it blocked after packages installation. Is it related that rhel39-32 guest don't support acpi ?

I've hit this problem before, it is what I believe to be an anaconda bug on that particular RHEL version. I tried a *lot* to work around the problem, spent a lot of time with it, but in the end I just gave up.

Quoted 8 lines
Quoted 4 lines

The problem happens because it's simply not possible to bring the network up at post install stage so the install can communicate with the host to respond that its installation finished. If anyone can help to work around the problem that'd be great...

What commands are you running to configure the network and what command is stalling? I've done unattended installs with RHEL3.8, 32-bit guests with networking enabled.

Qemu Command Line:

# /root/autotest/client/tests/kvm/qemu -name 'vm1' -monitor
tcp:0:6001,server,nowait -drive
file=/root/autotest/client/tests/kvm/images/RHEL-3.9-32.raw,if=ide,cache=writethrough,boot=on
-net nic,vlan=0,model=e1000,macaddr=00:11:22:33:50:01 -net user,vlan=0 -m 33792
-smp 12 -drive
file=/root/autotest/client/tests/kvm/isos/linux/RHEL3.9-i386-DVD.iso,index=2,media=cdrom
-soundhw ac97 -fda /root/autotest/client/tests/kvm/images/floppy.img -tftp
/root/autotest/client/tests/kvm/images/tftpboot -usbdevice tablet -rtc-td-hack
-no-hpet -cpu qemu64,+sse2 -no-kvm-pit-reinjection -bootp /pxelinux.0 -boot n
-redir tcp:5000::22 -redir tcp:5001::12323 -vnc :0    

----------------------

# cat RHEL-3-series.ks 
install
cdrom
text
reboot
lang en_US.UTF-8
langsupport --default=en_US.UTF-8 en_US.UTF-9
keyboard us
network --bootproto dhcp
r-ootpw 123456
firewall --enabled --ssh
timezone America/New_York
firstboot --disable
bootloader --location=mbr
clearpart --all --initlabel
autopart
reboot
mouse generic3ps/2
skipx

%packages --resolvedeps
@ base
@ development-libs
@ development-tools

%post --interpreter /usr/bin/python
import socket, os
os.system('dhclient')
os.system('chkconfig sshd on') os.system('iptables -F')
os.system('echo 0 > /selinux/enforce')
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server.bind(('', 12323))
server.listen(1)
(client, addr) = server.accept() client.send("done")
client.close()

Quoted 2 lines

David

A message that is not in the archive (sent off-list or not yet received): 20100418035704.GA2688@[email protected]

#8 lore raw
Quoted 4 lines · Amos Kong

%post --interpreter /usr/bin/python
import socket, os
os.system('dhclient')
os.system('chkconfig sshd on')

Quoted 8 lines

os.system('iptables -F')
os.system('echo 0 > /selinux/enforce')
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server.bind(('', 12323))
server.listen(1)
(client, addr) = server.accept() client.send("done")
client.close()

So, effectively after the install completes use dhclient to configure a network address, start a server on a known port and when a client connects send the message "done". I would expect that to work just fine.

What part is not working? Have you used anaconda's root shell (alt-f2) to confirm each step and if so which one is not setup as expected?

David

#9 lore raw
Quoted 15 lines · David S. Ahern
Quoted 4 lines · Amos Kong

%post --interpreter /usr/bin/python
import socket, os
os.system('dhclient')
os.system('chkconfig sshd on')

Quoted 8 lines

os.system('iptables -F')
os.system('echo 0 > /selinux/enforce')
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server.bind(('', 12323))
server.listen(1)
(client, addr) = server.accept() client.send("done")
client.close()

Quoted 3 lines

So, effectively after the install completes use dhclient to configure a network address, start a server on a known port and when a client connects send the message "done". I would expect that to work just fine.

Me too, it has been working for RHEL 4.X, 5.X 32/64 bit and 3.X 64 bit. The problem has been effectively 3.9 32 bit.

Quoted 2 lines

What part is not working? Have you used anaconda's root shell (alt-f2) to confirm each step and if so which one is not setup as expected?

dhclient. It fails saying "module IP_... could not be loaded.

Quoted 5 lines

David
--
To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

#10 lore raw
Quoted 16 lines · Lucas Meneghel Rodrigues
Quoted 15 lines · David S. Ahern
Quoted 12 lines · Amos Kong

%post --interpreter /usr/bin/python
import socket, os
os.system('dhclient')
os.system('chkconfig sshd on') os.system('iptables -F')
os.system('echo 0 > /selinux/enforce')
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server.bind(('', 12323))
server.listen(1)
(client, addr) = server.accept() client.send("done")
client.close()

Quoted 6 lines
Quoted 3 lines

So, effectively after the install completes use dhclient to configure a network address, start a server on a known port and when a client connects send the message "done". I would expect that to work just fine.

Me too, it has been working for RHEL 4.X, 5.X 32/64 bit and 3.X 64 bit. The problem has been effectively 3.9 32 bit.

I fired up a 3.9 guest with your ks.cfg. The problem is due to the limited functionality in the RHEL3 BOOT kernel for i386. Specifically, dhclient is failing at:

setsockopt(6, SOL_SOCKET, SO_ATTACH_FILTER, "\v\0\6\10\240Y\n\10", 8) = -1 ENOPROTOOPT

So dhclient client is out. But you can still configure and use networking via ifconfig if static addressing is an option for you. I was able to use that command to configure eth0 and push an strace output file for dhclient.

Also, a couple of comments on this use case:
- SELinux is not applicable
- 32 GB of RAM is way beyond what the RHEL3 i386 can detect and use
- 12 vcpus seems high as well.

David

Quoted 13 lines
Quoted 3 lines

What part is not working? Have you used anaconda's root shell (alt-f2) to confirm each step and if so which one is not setup as expected?

dhclient. It fails saying "module IP_... could not be loaded.

Quoted 5 lines

David
--
To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

#11 lore raw
Quoted 36 lines · David S. Ahern
Quoted 16 lines · Lucas Meneghel Rodrigues
Quoted 15 lines · David S. Ahern
Quoted 12 lines · Amos Kong

%post --interpreter /usr/bin/python
import socket, os
os.system('dhclient')
os.system('chkconfig sshd on') os.system('iptables -F')
os.system('echo 0 > /selinux/enforce')
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server.bind(('', 12323))
server.listen(1)
(client, addr) = server.accept() client.send("done")
client.close()

Quoted 6 lines
Quoted 3 lines

So, effectively after the install completes use dhclient to configure a network address, start a server on a known port and when a client connects send the message "done". I would expect that to work just fine.

Me too, it has been working for RHEL 4.X, 5.X 32/64 bit and 3.X 64 bit. The problem has been effectively 3.9 32 bit.

I fired up a 3.9 guest with your ks.cfg. The problem is due to the limited functionality in the RHEL3 BOOT kernel for i386. Specifically, dhclient is failing at:

setsockopt(6, SOL_SOCKET, SO_ATTACH_FILTER, "\v\0\6\10\240Y\n\10", 8) = -1 ENOPROTOOPT

So dhclient client is out. But you can still configure and use networking via ifconfig if static addressing is an option for you. I was able to use that command to configure eth0 and push an strace output file for dhclient.

Quoted 4 lines

Also, a couple of comments on this use case:
- SELinux is not applicable
- 32 GB of RAM is way beyond what the RHEL3 i386 can detect and use
- 12 vcpus seems high as well.

Problem resolved :) Yay!

http://autotest.kernel.org/changeset/4432

Thank you very much David,