[CentOS] Kickstart with multiple eth devices

Wed Feb 25 19:56:36 UTC 2015
Ashley M. Kirchner <ashley at pcraft.com>

Ok, so some of this now works, but I'm still having problems. With the
bootif option, the system now correctly configures and uses the same
interface to get its kickstart file. However, when the system is done and
boots up, the interfaces are still messed up. So this is what I have in the
kickstart file:

# On-Board Port 1 with public IP configuration
network --noipv6 --onboot yes --bootproto static --device eth0 --ip x.x.x.x
--netmask y.y.y.y --gateway z.z.z.z
# On-Board Port 2 on private subnet A
network --noipv6 --onboot yes --bootproto dhcp --hostname portico
# Ethernet Card on private subnet B
network --noipv6 --onboot yes --bootproto dhcp --device eth2

In the PXE config file I have:

IPAPPEND 2
APPEND ks=http://192.168.x.x/ks/portico.ks initrd=centos/x86_64/initrd.img
ramdisk_size=100000 ksdevice=bootif

When the system comes up and PXE kicks in, it will get an IP on its second
port (eth1) to the 192.168.x.x subnet where the kickstart and install files
are. When the system is completely done and boots back up, it should have:
port 1 (eth0) with the static public IP assigned from the ks file
port 2 (eth1) with the same DHCP assigned ip that the PXE originally
received
And eth2, which is an additional ethernet card will get another IP from a
different dhcp server on a separate subnet.

What's happening now is, PXE gets an IP, the system will successfully get
the kickstart file and go through the full setup process, however when it
reboots, this is what I end up with as far as the ethernet ports:

The additional ethernet card is configured as eth0, with the public IP that
the kickstart file has in it
port 1 (now eth1 instead of eth0) is configured with a 10.1.10.10 IP ...
Whiskey Tango Foxtrot??
port 2 (now eth2 instead of eth1) is configured with the dhcp IP that it
was given during the setup.

This results in nothing working as the ports are wired into specific
routers and if the boot process renames/reshuffles them, I'm left with a
machine I can not get on to and that doesn't work on the network.

As soon as I *remove* the additional ethernet card, the system will boot up
with the ports configured correctly (port 1 = eth0, port 2 = eth1). So why
is it that as soon as there is an additional one, all things go to hell?
Why must the boot process shuffle them? More importantly, how do I prevent
this so that the system comes up properly after a kickstart install?

On Tue, Feb 24, 2015 at 6:47 PM, Digimer <lists at alteeve.ca> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 23/02/15 08:16 PM, Steven Tardy wrote:
> >
> >> On Feb 23, 2015, at 6:34 PM, Ashley M. Kirchner
> >> <ashley at pcraft.com> wrote:
> >>
> >> I have a Dell server that has two built-in ethernet devices. When
> >> I kickstart the machine, they are correctly identified as eth0
> >> and eth1 (correctly meaning they correspond to the physical
> >> device ports 1 and 2). I need a third one and want that to come
> >> up as eth2. After adding the hardware, kickstart now fails
> >> because for some reason it goes through a rename process where it
> >> makes the newly added card eth1 (or eth0, I forgot). Is there a
> >> way to stop this rename process so kickstart correctly uses the
> >> physical hardware the way they are, meaning physical port 1 =
> >> eth0, port 2 = eth1, and the additional ethernet card then
> >> becomes eth2?
> >>
> >> Should I be using the device's MAC address when I set the
> >> 'network' option in the kickstart file? So instead of 'network
> >> --device=eth0' I make it 'network -device=aa;bb:cc:dd:eee:ff' ?
> >>
> >
> > kickstart has an option: ksdevice=bootif
> >
> > I think that'll let you accomplish what you are trying.
>
> Totally unrelated, but this is the reason I love discussions like this
> getting into the archives. I had no idea this option existed and it
> just solved an annoying problems I've been trying to think how to
> solve for ages!
>
> In PXE's 'default';
>
> LABEL new-node1
>         MENU LABEL ^1) New Node 1 - RHEL 6
>         KERNEL boot/rhel6/x86_64/vmlinuz
>         IPAPPEND 2
>         APPEND initrd=boot/rhel6/x86_64/initrd.img
> ks=http://10.20.4.1/rhel6/x86_64/ks/pxe-ccrs-node2.ks ksdevice=bootif
>
> Then in kickstart;
>
> network --bootproto dhcp --onboot yes --hostname node1.example.com
>
> (not the lack of --device)
>
> With this, my nodes with 6 NICs reliably boot without asking the user
> to choose the NIC by MAC they want to install from.
>
> Thanks!!
>
> - --
> Digimer
> Papers and Projects: https://alteeve.ca/w/
> What if the cure for cancer is trapped in the mind of a person without
> access to education?
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1
>
> iQIcBAEBAgAGBQJU7SnDAAoJECChztQA3mh0+dEQAMWM705Tc9fWr/ODiLDQNQHk
> 5todiurUcM72zPn3NCwiLTb/ZEXbnkL74Zy7qQPf8zzFryLIuldGMDIVIgVp5k3m
> LnkU9dW0zguXnCfde3gXJs8taYSAYA/ciwO9mE+M3V4+VU6TvzjPkVxKGkhTxjTL
> 5/DBz1N9V6IChRLbjcQbkHJD5gAPY0cloOoP6f0FC/k+Ojeo7oUibYQjVB8nDkwa
> cfxxJ2yYIjOkTBm7vQuLnHf64jR8siqN9Zw5gZuuTBfbK2gIuMw99Fg7/QAEe85h
> uQttjHloI1SfhYN4D5AuQzeXFXTUM3IIkRr4KzGCmKezGi4s+wDrhm4goNmsOuiH
> ruf80gDjW+PZADx2Q4GHPpCRe2sCyLXDFPdUrvooCLrInXFK1AmisLVNKJlGbRs3
> 2qIhO8PAGP8Kli/Dff7NZ5bfBZob2nbZ6CEG0Qv/UHHcNzrBdzMA0gdGsuOpwjSW
> oJjqtgu4jfXlNAkPZKIvUk1wYUhxAN/2AZ2kfriLOJCeT7QOxYawKXWTjhmcj/QM
> mZfJTDhebDtqR/WLgjlISQ/pzyKl+lUl0sV0+6FNM1pycPQSrv1yKAD9dMaDpUFA
> y0WU6MJ+nig6uIYVZ2W9DKGu7qJp6Ghdi+IcmqHFqu/XEnw2LuG0ox2D5NdEkbc9
> Ulp4KQOLuU9gSwQKNrPh
> =YRky
> -----END PGP SIGNATURE-----
> _______________________________________________
> CentOS mailing list
> CentOS at centos.org
> http://lists.centos.org/mailman/listinfo/centos
>
>