Re: [dhcwg] draft-ietf-dhc-dhcpv6-opt-netboot-05 - how to proceed?

Jarrod Johnson <jarrod.b.johnson@gmail.com> Sun, 18 October 2009 17:31 UTC

Return-Path: <jarrod.b.johnson@gmail.com>
X-Original-To: dhcwg@core3.amsl.com
Delivered-To: dhcwg@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 22F7828C105 for <dhcwg@core3.amsl.com>; Sun, 18 Oct 2009 10:31:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.392
X-Spam-Level:
X-Spam-Status: No, score=-1.392 tagged_above=-999 required=5 tests=[AWL=1.207, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Yrlr7TU++SLu for <dhcwg@core3.amsl.com>; Sun, 18 Oct 2009 10:31:50 -0700 (PDT)
Received: from mail-yx0-f192.google.com (mail-yx0-f192.google.com [209.85.210.192]) by core3.amsl.com (Postfix) with ESMTP id A39133A6781 for <dhcwg@ietf.org>; Sun, 18 Oct 2009 10:31:50 -0700 (PDT)
Received: by yxe30 with SMTP id 30so4920774yxe.29 for <dhcwg@ietf.org>; Sun, 18 Oct 2009 10:31:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=bAzx4koFuh6YU/+AG4XF60per4J12L0HjK7RK1lVfIk=; b=E9IK1ejZenKGLtratZzTMnYmEItrX2MnvSRrfPNSQKfJ9+6HhAy1THIm7aUAgG/wha 12xsbV5P28h1+UZ5/hxlr3MGCxal1cwzKRY41uIfhbvniZDpvmbg7SSx/MW7iOZrarR0 4xHTieixIjOcHIHN5wc8jP7xToWRMX1vpfd/8=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=bju/au7PwMzzyweep5DOAnnd9Ceu2zaH130EqnaxfBKZ0pX9/FUr48ChzWC0KbWIi6 6bxTbjoyaQlz4vbnz/K5evZ8864q1xLS6kbhSm1vVwHLarzPiuhv/z2rpZSNG1Xvqgzi CwM0gnMjTpnDfg53kuanC3/oK0pNPnx4PLhaA=
MIME-Version: 1.0
Received: by 10.150.68.25 with SMTP id q25mr6364250yba.256.1255887113819; Sun, 18 Oct 2009 10:31:53 -0700 (PDT)
In-Reply-To: <OF70A70CD8.5E31E815-ONC1257653.003229C4-C1257653.00338F3A@de.ibm.com>
References: <200910062234.AAA07005@TR-Sys.de> <AD61797F-DB2D-4889-8888-5339521ADE8F@nominum.com> <OF029AB4A7.6EEA954A-ONC125764B.004E95CE-C125764B.00536F30@de.ibm.com> <FBD14811-7C9A-4FCB-8707-071A7CA12B96@nominum.com> <fab4e42a0910101319y6d223872s6958cad0450aa60b@mail.gmail.com> <OF70A70CD8.5E31E815-ONC1257653.003229C4-C1257653.00338F3A@de.ibm.com>
Date: Sun, 18 Oct 2009 13:31:53 -0400
Message-ID: <fab4e42a0910181031x41d97a28m52b9942762aeb131@mail.gmail.com>
From: Jarrod Johnson <jarrod.b.johnson@gmail.com>
To: Thomas Huth <THUTH@de.ibm.com>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
Cc: dhcwg@ietf.org
Subject: Re: [dhcwg] draft-ietf-dhc-dhcpv6-opt-netboot-05 - how to proceed?
X-BeenThere: dhcwg@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <dhcwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/dhcwg>, <mailto:dhcwg-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dhcwg>
List-Post: <mailto:dhcwg@ietf.org>
List-Help: <mailto:dhcwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dhcwg>, <mailto:dhcwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 18 Oct 2009 17:31:52 -0000

On Sun, Oct 18, 2009 at 5:23 AM, Thomas Huth <THUTH@de.ibm.com> wrote:
> Jarrod Johnson <jarrod.b.johnson+dhcwg@gmail.com> wrote on 10/10/2009
> 22:19:28:
>>
>> With all that said, it seems exceedingly common that at least two
>> things are commonly referenced in a potentially common way in a
>> typical netboot fashion:
>> -The second stage loader executable code
>> -Optionally, a configuration file or script for that second stage
>> loader, that typically points to other requisite files that vary from
>> OS to os (i.e. multiboot images, or a linux kernel/initrd, and various
>> things in a Windows BCD file, though the Windows search for BCD file
>> is less flexible today than I would like)
>
> Ok, but since those second stage bootloaders could also be used in IPv6
> scenarios, the question is now whether they are a bad thing that we should
> get rid of? Would it make sense to implement all the functionality of those
> second stage loaders into DHCPv6 directly? Is it possible at all, since
> every operating system has slightly different requirements?
>
> IMHO if we tried to implement all those functionality into DHCPv6 directly,
> we would end up in a very, very complex implementation that still does not
> support all boot scenarios since we've forgot to have a look at operating
> systems that are not too common. So people would continue to use second
> stage bootloaders anyway. Thus, I think we should follow the keep-it-simple
> approach and only allow to load and boot one executable at the DHCPv6 level
> and leave the more complex scenarios to the second stage bootloaders.
>
> By the way, I've done some "research" this weekend, and to me it looks like
> the main reason for using a secondary stage bootloader for DHCPv4 was often
> only the fact that they provide an additional configuration file (see
> http://syslinux.zytor.com/wiki/index.php/PXELINUX#How_do_I_Configure_PXELINUX.3F
>  for example), which then is used to specify additional kernel parameters.
> These kernel parameters could not be passed by DHCPv4 directly. But since
> we've got a "parameter option" in our draft for DHCPv6 netbooting already,
> the second stage bootloader would become unnecessary in that case. So for
> most scenarios we would already get rid of the second stage loaders, we
> would just need them for some more complex scenarios.

Ok, the use of the argument list paired with the executable I think
covers it (the format of argument would be dictated by the executable
in question).

>
>> As a potential slight tangent, this discussion has been focused on
>> netboot scenarios focused on downloading an executable and running it,
>> but what about registering network based SAN strategies (i.e. iSCSI
>> per RFC 4173)?  One aspect I didn't like of that standard was to imply
>> it was used for configuring a boot volume only with the expectation
>> that it would be the boot device of that boot, as I have a scenario
>> where the two actions on the client network device are separate (i.e.
>> it will configure itself and connect to the iSCSI target, and
>> configure firmware tables, but then still allow me to boot via
>> 'filename' so that the PXE booted OS would be aware of the iSCSI
>> target configuration).  I mention that in fear that it is suggested to
>> simply re-use boot-uri, which would preclude the potential of
>> DHCP-driven SAN configuration at the same time a netboot is desired.
>
> Wouldn't it work to specify the kernel image with the boot-uri, and then to
> configure that kernel with our "parameter option" to use the iSCSI target
> as root device?

I realize that RFC 4173 would 'automatically' cover the scenario if a
root-path (or whatever you wanted to name it) exists.
"The Root Path option is not currently defined for DHCPv6;
   if the option is defined for DHCPv6 in the future, the use of the
   option as defined for iSCSI boot will apply."

One thing I like about the way RFC 4173 is generally implemented is
that OS state may be more opaque to the DHCP server than 'filename'
style booting.  I.e. if I have an iSCSI booting Linux image and
suddently in the client change from grub to elilo (or deploy windows
with ntldr completely client side), the DHCP server doesn't have to be
aware of any of it.  It also is nice in that I can format it the same
way for any system rather than picking a different string format
depending on OS dictated preference.

One thing I particularly like about some particular implementations is
that root-path is used to configure OS-agnostic firmware configuration
tables and 'filename' can still be used to start an OS image  that
would source that table without me having to explicitly manage
permutations of netboot to reference an iSCSI root device, netboot to
reference local block storage, local boot to local block storage, and
'local' boot to iSCSI storage.


>
>
> Mit freundlichen Grüßen / Kind regards,
>    Thomas Huth
>
>    IBM Deutschland                 Vorsitzender des Aufsichtsrats:
>    Research & Development GmbH     Martin Jetter
>    Schönaicher Str. 220            Geschäftsführung: Erich Baier
>    71032 Böblingen                 Sitz der Gesellschaft: Böblingen
>    Tel.: +49-7031-16-2183          Registergericht: Amtsgericht
>                                    Stuttgart, HRB 243294
>
>
>
> _______________________________________________
> dhcwg mailing list
> dhcwg@ietf.org
> https://www.ietf.org/mailman/listinfo/dhcwg
>