Hi Karen,

Comments below...

On 05/20/10 06:53 PM, Karen Tung wrote:
> Hi Jean,
> 
> I am confused about the last part of this proposal.  Probably you or someone 
> else
> at the meeting can provide more details.  Please see below for my comments.
> 
> On 05/20/10 08:43, jean.mccormack wrote:
>> In order to get closure on this issue, Darren, Sarah, Alok and myself met to
>> resolve the issues.
>> We discussed the need for the transfer module to be a class with IPS/CPIO as
>> sub-classes. The original reason was based upon the belief that we had to
>> register all checkpoints at the top when we wouldn't necessarily know what
>> type of transfer was desired. With some thought and discussion is was decided
>> that we didn't have to register everything at the top so the app could, after
>> user input, know what type of transfer it wanted and register everything to
>> come at that point. This removes the create_transfer method and the transfer
>> class.
>>
>> We discussed where target information would go in the DOC.
>>  The decision was that target discovery would place this object in the DOC at
>> a known place. If for some reason there is more than one target discovery
>> object, they will be stored in order.
>>
>>
>> We also discussed where the desired target to be instantiated object would 
>> go,
>> that was also decided to be at a known place in the DOC. If for some reason
>> there is more than one desired target object, the objects will be stored in
>> the order upon which they will be needed.
>>
>> Then we talked more about the checkpoint specific information. The DOC has an
>> execution object which has checkpoint objects under it. Each checkpoint will
>> have such an object with checkpoint specific data within it.
> Who creates these execution objects, and when?

The "Execution" object would only have to be created once - who creates it,
would most likely be one of two things:

1) The Application - when it wants to insert the list of checkpoints to be
   executed, then it would have to create it, if it didn't already exist.

2) ManifestParser - again, it's in the action of creating the checkpoints,
   if there are any in the manifest, it will create the Execution object,
   if it doesn't already exist - and then add the checkpoints as children.

For clarity, it may be simplest if the Application always created it first...

>>
>>  The client app will do the following:
>> - instantiate the appropriate target/transfer objects
> Are these target/transfer objects checkpoint objects or something else?

Maybe there is a little confusion here for Targets - Targets are mainly just
other pieces of data. Specifically the data to describe the following:

- "discovered" disk layout (usually generated by TD)
- a copy of this (possibly sparse - TBD) to be the "desired" disk layout,
  mainly used by TI

But, I think what was meant here, is the checkpoints, in other words:

- TargetDiscovery    - which would generate the discovered targets

- TargetIntantiation - would use the discovered, and desired targets to
                       figure out what to do.

- Transfer (Possibly multiples of these)

> 
>> - store the target/transfer objects at a known place
>>   in the DOC *in order* of execution

> From this bullet and the following bullet point about registering
> the checkpoints, it seems to hint that the target/transfer objects
> are not checkpoint objects.  If that's the case, why is the *order* important?

Order is only important for the checkpoints - as far as I'm aware...

> 
>> - register the checkpoints
>> - execute the checkpoints.
>> - the completed flag will be set to True in each checkpoint that
>> has successfully executed.
> The application will set the completed flag?  That doesn't sound right.
> Since the engine actually invokes the checkpoints, only the engine
> would have the direct knowledge about whether a checkpoint is completed.

I would think that whatever is best able to, should be the one to set the
completed flag - in general I would think that this should be the checkpoint
itself since it's the one that should know best whether it was a successful
completion or not. I would think that the Engine should only need to look at
this flag, and skip a checkpoint if it's already completed.

Thanks,

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

Reply via email to