On 19/01/2011 13:26, Dermot McCluskey wrote:
> Darren,
> 
> On 01/19/11 12:42, Darren Kenny wrote:
>> On 18/01/2011 22:00, Dave Miner wrote:
>>   
>>> On 01/18/11 04:21 PM, Alok Aggarwal wrote:
>>>     
>>>> On Tue, 18 Jan 2011, Keith Mitchell wrote:
>>>>
>>>>       
>>>>>>>> Restating:
>>>>>>>> - Partitions should be greater than a minimum size
>>>>>>>>
>>>>>>>> That is, enforce the minimum size that 'zpool create' expects
>>>>>>>> (few hundred MB i think?).
>>>>>>>>
>>>>>>>>               
>>>>>>> Is this not the OS minimum size, not the minimum size for a zpool?
>>>>>>>             
>>>>>> I was proposing the latter check but you bring up a good
>>>>>> point that perhaps it should be the former.
>>>>>>           
>>>>> I think there would need to be ways to enforce the former for the root
>>>>> pool, and the latter for any other arbitrary zpool, no?
>>>>>         
>>>> Yes, we'd need both these checks. If the 'is_root' attribute
>>>> is true, then the check will be for minimum OS size. If it's false, it
>>>> will be for minimum size for a zpool.
>>>>
>>>>       
>>> I believe the simple thing here is to allow for a minimum size to be 
>>> associated with a pool, and it defaulted to the ZFS minimum.  If the 
>>> application has a hint as the minimum size, then it can provide that info.
>>>     
>>
>> That works for me - so this would be an attribute of a Zpool object that an
>> application could modify if needed.
>>
>>   
>>>     
>>>>>>> If it is the OS minimum size, where does that information come from?
>>>>>>>
>>>>>>> I know with a CD, the estimated size is stored in a 'dot-file' but
>>>>>>> how would one
>>>>>>> determine this minimum size for an AI type install where it's all
>>>>>>> dependent on
>>>>>>> the packages to be installed.
>>>>>>>             
>>>>>> I believe that the size is hardcoded at present in AI (unless
>>>>>> that has changed in the last few months).
>>>>>>           
>>>>> It's been an RFE for a while that we dynamically calculate this. I'm
>>>>> not sure, but I think AI->CUD should allow for precisely determine the
>>>>> minimum required space, as we'll have access to the pkg API which is
>>>>> capable of figuring out the total size for a clean install. (It could
>>>>> be that the pkg API can't do that yet; I'm not sure if that
>>>>> functionality was implemented yet)
>>>>>
>>>>>         
>>>>>>> It would seem to be something that the 'Transfer' module could
>>>>>>> provide, but I
>>>>>>> think it would be quite time-consuming to actually determine a real
>>>>>>> value.
>>>>>>>
>>>>>>> What would be an acceptable 'estimate'?
>>>>>>>             
>>>>>> An orthogonal question here is - if Target is to be responsible
>>>>>> for ensuring that a disk/slice is atleast the minimum OS size,
>>>>>> then there needs to be an API to communicate the minimum OS size
>>>>>> to Target.
>>>>>>
>>>>>> The app/MVC would determine the minimum OS size (by looking at
>>>>>> the dot file or by calling transfer) and subsequently call an API
>>>>>> to let Target know that value.
>>>>>>           
>>>>> I think it depends on the transfer method. For cpio based, since the
>>>>> transferred contents are statically determined during the DC build
>>>>> process, filing that info away in a dot-file and passing it to
>>>>> transfer seems more efficient. For pkg-based, assuming the
>>>>> aforementioned feature of the pkg API is available, I think transfer
>>>>> would need to be responsible for such a calculation - though it may be
>>>>> that we have a 'chicken and egg' problem if the pkg API requires a pkg
>>>>> image area to work on to perform the calculations....
>>>>>         
>>>> I agree. At the same time though, I believe the app/MVC
>>>> should be the place to do size determination (based upon
>>>> the transfer mechanism being used). Target does not have
>>>> the necessary context to tell what sort of transfer method
>>>> is being used.
>>>>
>>>>       
>>> Target shouldn't care, it's an app issue.  At the same time, a dummy 
>>> image could be created in tmpfs just to get the catalogs and generate 
>>> the size data, to eliminate the chicken-egg issue Keith notes.
>>>
>>>     
>>
>> I believe that it would be useful if a Transfer checkpoint could have a
>> 'TransferXXX.estimate_size()' method - it would not just be useful for an
>> application, but may also useful for Transfer itself when determining 
>> progress,
>> maybe.
>>
>> And it would also allow for the Transfer, whether it is IPS, CPIO, or 
>> whatever,
>> to do what is necessary to figure it out appropriately.
>>   
> 
> So, does that imply that the Transfer checkpoint needs to be instantiated
> and its estimate_size() method run before the disk selection phase of the
> install?
> 

Hmm, yes it would, but also it would require you be able to access that
checkpoint object, which of course you can't (that I know of).

Ok, maybe that won't work then as we currently have things :(

The alternative is then that the Application just has to figure what's
reasonable as a minimum OS install size.

While for media based installs, this information can be somewhat pre-determined
because DC stores the sizes on the media.

But for non-media based installs, what is reasonable as a minimum yet still be
useful past the install and when things are up-and-running.

Anyone got suggestions?

Thanks,

Darren.



_______________________________________________
caiman-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/caiman-discuss

Reply via email to