[rhelv5-list] kickstart using ksdevice=link doesn't find the right NIC

Jason Edgecombe jason at rampaginggeek.com
Mon Nov 10 17:47:27 CST 2008


Dag Wieers wrote:
> On Fri, 7 Nov 2008, Jason Edgecombe wrote:
>
>> I'm trying to kickstart a Dell PowerEdge R200 with 4 NIC's (2 onboard &
>> 2 cards). The NIC's are the following:
>> 2 x Broadcom Corporation NetXtreme BCM5722 Gigabit Ethernet PCI Express
>> 2 x Broadcom Corporation NetXtreme BCM5721 Gigabit Ethernet PCI Express
>>
>> the onboard NIC labeled "1" (eth2) is the only one plugged in. I can
>> kickstart and get an IP if I use "ksdevice=eth2 or ksdevice=MAC_ADDRESS,
>> but ksdevice=link just attempts to use eth0.
>>
>> Has anyone has any issues with ksdevice=link failing like this?
>>
>> The OS is RHEL5.2 x86_64. I boot from a CD or grub on the hard drive.,
>> The RPMs are on a NFS share and the kickstart file comes from a web 
>> server.
>
> Hi Jason,
>
> I have had similar problems at different customers. To me the anaconda 
> installation process is broken in the sense that it does not provide 
> you with a list of interfaces, or lets you test one by one them. So 
> anaconda definitely could use some love for those situations where PXE 
> is not allowed.
>
> Now, there are a few things that we decided to do (at different 
> customers):
>
>  * We used to use the MAC address and room-management gets those remotely
>    from the IBM RSA adapter. The onboard adapters MAC address usually can
>    be access easily like this plus it guarantees you're installing the
>    right hardware (via remote console solutions).
>
>  * At another customer it was mandatory to boot a rescue image and write
>    down the MAC addresses (or even test the link) if the installation
>    would not work with the (guessed) interface.
>
>  * At the current customer we are going to write a tool for debugging
>    network problems. The aim is to see every interface sorted by PCI slot
>    and automatically configure and test each interface to reach the
>    gateway and the kickstart server. This would also help with problems
>    the Windows team is having from time to time. Connectivity problems
>    could be caused by wrong patchings, wrong switch config, firewalls,
>    driver/nic/cable problems. By providing an automated troubleshooting
>    tool we hope we can reduce the number of problems we see in the wild.
>
>  * We build ISO images from the repository of kickstart files so that we
>    can quickly install and reinstall servers without having to type in IP
>    address information (so we parse the kickstart files and create
>    entries in an isolinux.cfg file). It also makes boot problems 
> easier to
>    debug since you can verify if there was a human error. We also push
>    those ISO images to the KVM so that at any time the KVM has the latest
>    ISO images. Important: the ISO image contains support for a few
>    European keyboard layouts so people can easily switch keyboards from
>    syslinux.
>
>  * We also have for each hardware model strict instructions for patching
>    the NICs. The first onboard NIC is _always_ the management interface
>    (the one we load systems from). The 2 additional PCI slots are the
>    production interface (bonded). The second slot (if used) is the
>    heartbeat interface. Together with pci=bfsort this causes the first
>    interface to always be eth0.
>
>  * In some cases (like at current customer) the onboard interfaces are
>    always broadcoms (tg3 or bnx2) while the PCI slots are dual-port Intel
>    NICs. A solution here then is to force only the tg3 and bnx2 driver
>    using: driverload=tg3:bnx2
>
>  * If you provide ksdevice=list (or some other interface that does not
>    exist) it gives you a list of interfaces and you can choose one.
>    However if it fails, you have to reboot and try another one. In my
>    opinion anaconda should be fixed to allow to try different interfaces
>    and even only listing the ones that actually have a link.
>
> I am tempted to patch anaconda, but without any guarantee that this 
> work will be accepted I prefer to spend my time to something that 
> makes a difference for sure.
>
> And all this because at certain companies PXE is forbidden by policy !
>
> (And there is a similar problem when forcing sda to be the first local 
> disk)
>
> Let me know if you find something else :)
Hi Dag & Gerharus,

Thanks for confirming that ksdevice=link is buggy. If bfsort had been 
available in RHEL5.0, then this might not have been a big issue. Thanks 
for all of your suggestions. I think I'll be able to shrink the boot CD 
options to two main ones.

Is there a nice way to detect if bfsort was used in the install and 
insert that into the grub config on the installed image?

Sincerely,
Jason



More information about the Linux-PowerEdge mailing list