On 12.06.2012 [17:50:22 -0500], Greg Swift wrote:
On Tue, Jun 12, 2012 at 5:43 PM, James Cammarata
<jimi(a)sngx.net> wrote:
>> So this change on its own is insufficient in my environment. Here is the
>> resulting bootlog:
>>
>> TFTP BOOT ---------------------------------------------------
>> Server IP.....................9.3.191.134
>> Client IP.....................9.3.192.209
>> Gateway IP....................9.3.192.1
>> Subnet Mask...................255.255.255.0
>> ( 1 ) Filename................./yaboot
>> TFTP Retries..................5
>> Block Size....................512
>> FINAL PACKET COUNT = 388
>> FINAL FILE SIZE = 198376 BYTES
>>
>> Elapsed time since release of system processors: 18709 mins 13 secs
>>
>> ipv6 = <0>
>> siaddr = <9.3.191.134>
>> file = <>
>> ciaddr = <9.3.192.209>
>> giaddr = <9.3.192.1>
>> bootp_retries = <5>
>> tftp_retries = <5>
>> addl_params = <512>
>> dhcpv6 = <<NULL>>
>> blksize = <<NULL>>
>> Try to netboot
>>
>>
>>
>> TFTP BOOT ---------------------------------------------------
>> Server IP.....................9.3.191.134
>> Client IP.....................9.3.192.209
>> Gateway IP....................9.3.192.1
>> Subnet Mask...................255.255.255.0
>> ( 1 ) Filename.................\etc\01-82-5c-60-4a-67-04
>> TFTP Retries..................5
>> Block Size....................512
>> 1
>> 2
>> 3
>> !BA017021 !
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> Error, can't read config file
>>
>> ...
>>
>> It tries a few other config file locations, but then eventually drops to
>> yaboot's prompt, with no kernels available, and if you hit enter there,
>> it just tries to load the conf file again.
>>
>> FWIW, here was the generated stanza:
>>
>> host generic7 {
>> hardware ethernet <AA:BB:CC:DD:EE:FF>;
>> fixed-address <ip>;
>> option host-name "<hostname>";
>> option subnet-mask 255.255.255.0;
>> option routers <gw>;
>> filename "/yaboot";
>> }
>>
>> If I change your commit slightly, I do get what I need:
>>
>>
>>
>> Do not generate either the next-server or filename sections of the DHCP
>> stanza if a server is not setup to netboot. This allows DHCP
>> environments to obtain IP addresses, but prevents netboot cycles on
>> PowerPC.
>>
>> Signed-off-by: Nishanth Aravamudan <nacc(a)us.ibm.com>
>>
>> diff --git a/templates/etc/dhcp.template b/templates/etc/dhcp.template
>> index d7a28ef..58926ab 100644
>> --- a/templates/etc/dhcp.template
>> +++ b/templates/etc/dhcp.template
>> @@ -50,6 +50,7 @@ group {
>> #if $iface.gateway:
>> option routers $iface.gateway;
>> #end if
>> + #if $iface.netboot_enabled:
>> #if $iface.enable_gpxe:
>> if exists user-class and option user-class = "gPXE" {
>> filename
"http://$cobbler_server/cblr/svc/op/gpxe/system/$iface.owner";
>> @@ -61,7 +62,6 @@ group {
>> #end if
>> ## Cobbler defaults to $next_server, but some users
>> ## may like to use $iface.system.server for proxied setups
>> - #if $iface.netboot_enabled:
>> next-server $next_server;
>> #end if
>> ## next-server $iface.next_server;
>>
>> --
>> Nishanth Aravamudan <nacc(a)us.ibm.com>
>> IBM Linux Technology Center
>>
>
> It sounds like you need a new system (per-interface maybe?) setting to
> prevent entries from being entered into the dhcpd.conf:
>
> if not netboot_enabled and disable_dhcp_entry:
> continue
>
> disable_dhcp_entry would default to false.
Isn't that just duplicating the function of checking the 'static' box?
That's a fair point, and I had tested Greg's version, which just
appended a 'and interface["static"]' to the line I added, and it did
work for my environment, as all of my IPs are statically determined.
Thanks,
Nish
--
Nishanth Aravamudan <nacc(a)us.ibm.com>
IBM Linux Technology Center