On 01/11/10 09:23 AM, Jan Damborsky wrote:
> On 01/ 7/10 08:51 PM, Dave Miner wrote:
>> On 01/ 7/10 09:11 AM, Jan Damborsky wrote:
>>>
>>>
>>> image provisioning
>>> ------------------
>>>
>>> If I understand correctly, separate AI image has to be provisioned
>>> for each install service to be created. I am thinking if this might
>>> be considered as a limitation by some users.
>>>
>>> As SXCE is to EOLed, couple of discussions happened with
>>> internal developers about switching to OpenSolaris and using AI. Some
>>> people asked about possibility to provision separate machine serving AI
>>> images
>>> and IPS repo while they would just provision install services on local
>>> machines (e.g. on the same subnet or site as test machines) and just
>>> associate
>>> install service with URL of remote AI image.
>>>
>>> The reasoning behind this scenario is that AI images don't require
>>> customization (thus could be shared by all install services serving
>>> the same build) and that process of provisioning AI image has visible
>>> cost
>>> (space, time).
>>>
>>> I am not sure if that could be accomplished by existing implementation
>>> of technologies AI consumes (it seems that at least wanboot would
>>> need to be
>>> enhanced to allow this), but I am wondering if this is something we
>>> could
>>> consider.
>>>
>>
>> Some of this thinking really comes from old experience with the
>> limitations of RARP and the need to break up the boot server from the
>> install server in order to scale. Once you go to a DHCP-based design
>> (or a client-driven design such as wanboot or bootable AI media) that
>> doesn't seem like an especially valid need. If you want to share an AI
>> service, you do so via DHCP or providing the manifest to the booted
>> system.
>
>
> If my understanding was correct, they were not afraid about scalability,
> but they were more interested in possibility to 'delegate' AI image
> management
> and deployment ('heavy-weight' part of install service provisioning) to
> separate
> entity and consume those previously deployed images when install service
> is created.
> The approach would be similar to the one used for IPS repositories.
>

Again, I think the issue is lessened here - the boot images are not 
especially large, and will likely get smaller as we do some further 
package refactoring.  Further, I'm not entirely convinced that we can 
effectively support a model where the manifests are served independently 
from an image; that would seem to exacerbate version compatibility 
problems that lurk below the surface here - Ethan alluded to some of 
this in his comments.  I think we're making a tradeoff of some minor 
flexibility that may have been present in a toolbox approach such as 
Jumpstart for substantial usability improvements.

> I have also noticed bug 7152 which describes slightly modified use case:
> 7152 Requesting Ability For Multiple Services To Use One AI Sever OS Image
>

I've looked at that bug in the past and I tend to think the issue here 
is more of a bug in how AI currently uses wanboot that combines with 
users not using the correct solution (services rather than manifests + 
criteria); I believe this proposal will support the actual requirement 
there, though some additional prototyping is in order to be sure of it.

>
>>
>> Overall, I don't think this represents a significant limitation.
>>
>>> gPXE
>>> ----
>>>
>>> That leads me to another point - the proposal currently operates with
>>> technologies they are available and proposes to leverage them if needed.
>>>
>>> I am thinking if for x86 case we should take a look if gPXE could be
>>> better alternative to pxegrub for booting the kernel and boot archive.
>>> That would allow us to use other protocols than TFTP (namely HTTP).
>>>
>>> I am not sure what effort would be actually involved (it seems
>>> it might not be trivial to make things work), just wanted to bring
>>> that point up.
>>>
>>
>> I'd like to have a discussion with the boot team around that. The
>> upcoming GRUB 2 transition may or may not be planning to affect this.
>
>
> I agree that the further discussion would be fruitful - looking at GRUB2,
> it seems it currently does not have network support
>
> http://grub.enbug.org/CurrentStatus
> http://grub.enbug.org/TodoList
> http://grub.enbug.org/CommandList
>
> as well as that people contemplate about leveraging gPXE for that
> goal:
>
> https://savannah.gnu.org/task/?9245
>

Sigh; that bug's latest comment is disturbing.  If they choose to 
implement a solution that doesn't use UNDI then we'll have to ignore 
them, or port that back in ourselves.  Building boot loaders with 
hardware-specific drivers is a waste of time.

>
>
>>
>>>
>>> DHCP - install service macros
>>> -----------------------------
>>>
>>> Document proposes to create DHCP service specific macros (with name
>>> incorporating service name) for each service to be created:
>>>
>>> ...
>>> - The DHCP macro names generated for each AI service will use a prefix
>>> of "AI_" rather than the "dhcp_macro_" prefix that is currently
>>> prepended.
>>> ...
>>>
>>> Since the intent is to make AI as less dependent on DHCP as possible
>>> and limit things AI need to configure with respect to DHCP,
>>
>> I'd like to *allow* it to be limited, but also to allow DHCP to be
>> leveraged where desired.
>>
>>> I am thinking if those macros are needed or if we could avoid
>>> creating them. Looking at the examples, they seem to be unused.
>>>
>>
>> A deficiency in the examples that I need to correct. The idea is to
>> allow inclusion of these macros to configure individual clients to
>> specific, non-default services. So for client with MAC addr of
>> 0:14:4f:9b:84:e0 you might have a macro that says:
>>
>> 0100144F9B84E0 Macro :Include=AI_osol-dev-117-i386:
>
>
> I see - in order to manifest alternate approach I had in my mind,
> DHCP configuration in this particular case might look like:
>
> 0100144F9B84E0 Macro
> :BootServA=172.0.0.1:BootFile="0100144F9B84E0":GrubMenu="menu.lst.0100144F9B84E0"
>
>
> where 0100144F9B84E0 and menu.lst.0100144F9B84E would be
> symbolic links to os-dev-117-i386/boot/grub/pxegrub and
> os-dev-117-i386/menu.lst respectively.
>

Note that for that case we don't actually need the GrubMenu option; 
pxegrub already searches for that one if there's no menu specified.  In 
fact, I'll likely propose to slightly enhance pxegrub so that we won't 
need GrubMenu at all.

I suppose it would be reasonable to manage things this way if the user 
tells us not to manage DHCP in any way.  I'll think about this a bit 
more.  In reality, there's nothing to prevent one from doing this by 
hand if you want to, it's more a matter of what kind of variations the 
tools should support.

Dave

Reply via email to