I just checked out the most recent cobbler source code and did a "make
devinstall" on the devel branch and got some strange behavior when I
tried to follow Jasper's worked example for getting bonding working.
I've pasted the cobbler commands I used below.
cobbler system add --name=build-test1 --profile=CentOS-5.2-i386
cobbler system edit --name=build-test1 --interface=eth0
--mac=00:0c:29:27:2f:e2 --bonding=slave --bonding-master=bond0
cobbler system edit --name=build-test1 --interface=eth1
--mac=00:0c:29:27:2f:ec --bonding=slave --bonding-master=bond0
cobbler system edit --name=build-test1 --interface=bond0
--bonding=master --bonding-opts="mode=active-backup miimon=100"
--ip=x.x.x.x --subnet=255.255.255.224 --gateway=y.y.y.y --static=1
* It looks as though the dhcp entries it creates are as follows (eg. no
fixed-address entry so it won't get an IP address).
host generic1 {
hardware ethernet 00:0c:29:27:2f:ec;
filename "/pxelinux.0";
next-server 172.16.33.69;
}
host generic2 {
hardware ethernet 00:0c:29:27:2f:e2;
filename "/pxelinux.0";
next-server 172.16.33.69;
}
* To get around this I tried specifying an IP address for eth0 and that
then PXE booted ok but anaconda then crashed because the kickstart file
cobbler created is referring to eth2 and eth3 for some reason. This is
the relevant part of the rendered kickstart file.
# Network information
# Using "old" style networking config. Make sure all MAC-addresses are
in cobbler to use the new-style config
network $network_str --device=eth0 --onboot=on
network --bootproto=static --ip=172.16.33.71 --netmask=255.255.255.224
--gateway=172.16.33.65 --device=eth1 --onboot=on
network --bootproto=dhcp --device=eth2 --onboot=on
network --bootproto=dhcp --device=eth3 --onboot=on
* And this is the system configuration just to make sure there aren't
any references to eth2 or eth3.
# cobbler system dumpvars --name=build-test2 | egrep "eth|bond"
'bonding': '',
'bonding_bond0': 'master',
'bonding_eth0': 'slave',
'bonding_eth1': 'slave',
'bonding_intf0': '',
'bonding_master': '',
'bonding_master_bond0': '',
'bonding_master_eth0': 'bond0',
'bonding_master_eth1': 'bond0',
'bonding_master_intf0': '',
'bonding_opts': '',
'bonding_opts_bond0': 'mode=active-backup miimon=100',
'bonding_opts_eth0': '',
'bonding_opts_eth1': '',
'bonding_opts_intf0': '',
'dhcp_tag_bond0': '',
'dhcp_tag_eth0': '',
'dhcp_tag_eth1': '',
'gateway_bond0': 'y.y.y.y',
'gateway_eth0': '',
'gateway_eth1': '',
'hostname_bond0': '',
'hostname_eth0': '',
'hostname_eth1': '',
'interfaces': {'bond0': {'bonding': 'master',
'bonding_master': '',
'bonding_opts': 'mode=active-backup miimon=100',
'eth0': {'bonding': 'slave',
'bonding_master': 'bond0',
'bonding_opts': '',
'eth1': {'bonding': 'slave',
'bonding_master': 'bond0',
'bonding_opts': '',
'intf0': {'bonding': '',
'bonding_master': '',
'bonding_opts': '',
'ip_address_bond0': 'x.x.x.x',
'ip_address_eth0': 'x.x.x.x',
'ip_address_eth1': '',
'kernel_options': {'ksdevice': 'eth0',
'mac_address_bond0': '',
'mac_address_eth0': '00:0c:29:27:2f:e2',
'mac_address_eth1': '00:0c:29:27:2f:ec',
'static_bond0': 'True',
'static_eth0': 'False',
'static_eth1': 'False',
'subnet_bond0': '255.255.255.224',
'subnet_eth0': '',
'subnet_eth1': '',
'virt_bridge_bond0': '',
'virt_bridge_eth0': '',
'virt_bridge_eth1': '',
I've not been able to dig into the bonding patches to work out why this
is happening (assuming I'm not doing something wrong)!
Rgds,
Henry