Hi Sarah and Dave,
        Perhaps, as I'd love to see create-client go the way of the dodo, 
this would be integrated into a dry run feature? The client data could be 
provided and then the server would specify why a particular manifest was 
chosen doing manifest selection and derived profile generation; then the 
feature would run the semantic validation against that chosen manifest - 
again providing reasons for any failures.
        That seems to be a logical way to support such a thorough check. I 
agree that is seems manifest publication time wouldn't be when to do such 
a specific check as the manifest may be intended for any number of 
clients. Perhaps I'm just being unimaginative though?
                                                        Thank you,
                                                        Clay

On Wed, 20 May 2009, Sarah Jelinek wrote:

> Hi Dave and Jack,
>
>>>>> 
>>>> 
>>>> I'd view it as an important requirement that we be able to perform full 
>>>> semantic verification on the server.  Why is this regarded as optional?
>>> It's not that it's optional on the server, it's that the server cannot 
>>> provide the full client context to do full validation.  Of course we want 
>>> to do as much validation as we can on both the server and the client.
>>> 
>> 
>> I would expect that a user could supply whatever context we desire to use, 
>> either synthetically or via importation of some client context that was 
>> generated from a real client.  From the point of view of the validator, the 
>> client is just a bunch of parameters, which can also be supplied via other 
>> avenues.  Requiring real, live clients in order to validate thus seems 
>> unnecessary.
>
> I don't think in all validation scenarios we require real, live clients. But, 
> we have to know that some validation is not possible if we don't have the 
> context for which we are doing the validation. The issue with some of the 
> semantic validation, specific to the client, is that beyond simple 'syntax' 
> checking or format checking of something like a target device specification, 
> without a live client or a set of client data that provides this information, 
> it is hard to validate the schema. So, are you proposing we provide for 
> 'importing' the client data if the user so desires so we can do more 
> contextual validation when setting up a service? I am not sure why we would 
> want to do that actually.
>
> Seems to me a service is independent of the client. Clients discover 
> services, and one service will be used to produce an installed system, but 
> the manifests that are provided in that service may apply to many clients. 
> Providing this contextual semantic validation as a user is setting up a 
> service seems to break what our model is. As you note, we would have to have 
> some data regarding the client to do this type of validation, which implies 
> that the user setting up the service would have to know which clients the 
> service applied to, if they wanted to make use of it.
>
> During specific client setup, that is installadm create-client, we could do 
> this.
>
> sarah
> ****
>
>
>
>
>> 
>>> In response to your reply to Clay:
>>>  > Wouldn't it be desirable to be able to construct a virtual validation
>>>  > "environment" on the server based on user input?  Let them specify
>>>  > the disk configuration, the memory, etc. and validate against it.  Such
>>>  > functionality would seem to be necessary in order to effectively test
>>>  > this, wouldn't it?
>>> 
>>> Please elaborate, because as I understand, I'm not sure this is feasible 
>>> so I may just not get what you're saying.
>>> 
>>> For example, as Clay said in his first response, in the case of a disk 
>>> configuration, how would the user know that such a disk by that name 
>>> really exists on the client?  We can't assume the client is up and 
>>> available, or even if it is up, that the disk would have that name in its 
>>> currently-booted OS instance.
>> 
>> See my note above about synthetic environments.  If our only answer to 
>> testing out sets of criteria is to "boot and hope", then I think we've 
>> fallen far short of what's possible.
>> 
>>>> 
>>>>> Problem statement 1: AI's multiple parsers present unneeded
>>>>> complexity and unmaintainability.
>>>>> ===========================================================
>>>>> - Things to consider for a single parser:
>>>>>   - functionality for data retrieval and search, schema compatibility,
>>>>>     how supported / maintainable is the parser
>>>> ...
>>>>> The main argument for using lxml would be that it is supported from the
>>>>> outside.  However, that ManifestServ is supported by us means we can 
>>>>> more
>>>>> easily tweek it to add any needed functionality which remains.  If lxml 
>>>>> were
>>>>> used, we would have to fix our code which interfaced with it if it 
>>>>> changed, but
>>>>> we would have to do the same for ManifestServ if libxml2 changed.
>>>>> 
>>>> 
>>>> It wasn't entirely clear from the discussion in the notes that we've 
>>>> actually identified requirements that lxml doesn't meet.  Do we have 
>>>> that?
>>> lxml meets most of the requirements we would need, but it would require 
>>> some work writing new wrapper code to use it, and ManifestServ has this 
>>> already done.  For example, lxml does have something we can use for 
>>> semantic validation but would require event handlers and other code to 
>>> make it work.  ManifestServ already presents a complete system for this 
>>> using libxml2.  lxml won't buy us anything more than what ManifestServ 
>>> already delivers, and will require an effort to make it useful which isn't 
>>> required with ManifestServ.
>>> 
>>> One shortcoming of lxml vs ManifestServ is that it doesn't have as good of 
>>> a capability for narrowing of matches based on values of multiple child 
>>> nodes.
>>> 
>> 
>> I don't have any particular bias one way or another, but there's up-front 
>> vs. on-going effort involved in any choice made, and I'd expect to see some 
>> evaluation of those trade-offs in the design proposal.
>> 
>> Dave
>> _______________________________________________
>> caiman-discuss mailing list
>> caiman-discuss at opensolaris.org
>> http://mail.opensolaris.org/mailman/listinfo/caiman-discuss
>
> _______________________________________________
> caiman-discuss mailing list
> caiman-discuss at opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/caiman-discuss
>

Reply via email to