Hi Ethan,

On 02/11/10 08:02 AM, Ethan Quach wrote:
>
>
> On 02/10/10 04:40, Jan Damborsky wrote:
>> Hi Ethan,
>>
>> (CCing c-d, since we have started to discuss design)
>>
>>
>> On 02/ 9/10 06:58 PM, Ethan Quach wrote:
>>>
>>>
>>> On 02/09/10 06:58, Jan Damborsky wrote:
>>>> Hi Sarah,
>>>>
>>>>
>>>> On 02/ 9/10 03:20 PM, Sarah Jelinek wrote:
>>>>> Hi Jan,
>>>>>
>>>>> The answer is yes and no :-).
>>>>
>>>> I like that one :-)
>>>>
>>>>> I need you and your team to define the relevant tags/data/attributes
>>>>> that are required to specify system configuration in the AI sysconfig
>>>>> manifest. However, it is partly in the scope of my work since I am
>>>>> looking at possibly changing the schema we use from relaxNG to 
>>>>> another
>>>>> type that might help us more with extensibility and versioning. So,
>>>>> the decisions I make will affect how we specify the sysconfig data.
>>>>
>>>> I see - it is good to know that nothing is set to stone at this point.
>>>> We have relatively good vision what configuration parameters
>>>> we would like to support for purposes of the installers:
>>>>
>>>> * user account
>>>> * network configuration
>>>> - static IP
>>>> - DNS naming service
>>>> - hostname
>>>> * locale
>>>> * timezone
>>>> * keyboard layout
>>>>
>>>> There are dependences which might affect the final list (e.g. zones),
>>>> but I assume those might be addressed later when we come to agreement
>>>> on requirements, since I assume that the design will allow to extend
>>>> list of supported config parameters (mapped as XML entities) once
>>>> new requirement is identified.
>>>>
>>>>
>>>>>
>>>>> Please put together the proposal, in the current schema format.
>>>>
>>>> I will do this.
>>>> We currently use RelaxNG for AI portion and commented out
>>>> DTD for configuration parameters. Would you prefer RelaxNG in order
>>>> to be consistent with AI portion of the manifest ?
>>>>
>>>> I feel that it might make things easier for user and for us as well
>>>> if we consolidate and stick with one type of XML schema across
>>>> all install technologies. Just curios, is this planned or are we
>>>> considering to use multiple XML schemas ?
>>>>
>>>>
>>>>> If the decision is to change the schema type we use to something 
>>>>> else,
>>>>> we will need to revise your proposal to fit the new schema syntax.
>>>>> What is important, to me anyway, in the definition of the sysconfig
>>>>> schema(besides the tags, etc.. defined in the schema) is to 
>>>>> articulate
>>>>> what values are required, what are optional, what are the 
>>>>> scenarios in
>>>>> which we have the AI client semantically understand what is 
>>>>> specified.
>>>>> We can chat by phone if this isn't clear.
>>>>
>>>> I would prefer to talk on the phone about this for a while
>>>> in order to clarify. I have to leave early today, but I am available
>>>> any time We-Fr (modulo meeting marathon on Th and 1:1 with Dana
>>>> on Wednesday 6am PT).
>>>>
>>>>
>>>>>
>>>>> I do have a question for you.. would using DTD as our schema language
>>>>> help you at all in defining and implementing the system configuration
>>>>> functionality in AI?
>>>>
>>>> The answer is yes and no :-) It depends on how much we would like to
>>>> involve the Automated Installer in processing the system configuration
>>>> manifest.
>>>> The extreme which we were initially considering was just to take
>>>> sysconfig manifest and directly apply it as an SMF profile without
>>>> any processing. In that case, we would need to use DTD, since
>>>> SMF profiles use DTD XML schema.
>>>
>>> This was my assumption of what we were going to do. With this
>>> approach, the set of possible configuration is automatically
>>> extensible based on whatever is supported as configuration in
>>> SMF service properties going forward.
>>>
>>>> I am in process of thinking about this and I feel we would like to 
>>>> have
>>>> installer involved in this process - e.g. for syntactic and semantic
>>>> validation. In this case, chosen XML schema is less important.
>>>
>>> We had requested the ability to syntactically validate a given SMF
>>> profile, and they'd already provided that -- "svccfg apply -n
>>> <profile>" --
>>> with the eSMF profiles work PSARC 2009/371
>>>
>>> There are still limitations to this because if we try to validate the
>>> file
>>> on the server, it is perhaps incomplete since a server could be
>>> running a different release of Osol than what is being installed.
>>> However, the install environment should be able to syntactically
>>> validate the file as well.
>>>
>>> These were just my thoughts/assumption on the matter. Jan/John,
>>> if you've thought about other reasons/aspects regarding this, lets
>>> discuss. I haven't really thought through the possible negative
>>> consequences of just making the "sysconfig manifest" an SMF profile.
>>
>> Thinking about this, I can see there might be some disadvantages
>> of this approach - however, it is to be determined if they are 
>> important.
>>
>> * since the client would apply given SMF profile without being 
>> involved in
>> processing it, I agree that it would easily allow to extend set of
>> supported
>> properties without need to modify the installer.
>> On the other hand it would means that any SMF property (not only those
>> considered as Sysconfig parameters) might be unconditionally set
>> on installed system via Sysconfig manifest. Not sure if this might be
>> considered as potential security issue.
>>
>> * Only syntactic validation of sysconfig parameters would be done before
>> first boot. If any parameter is semantically invalid or not applicable
>> to the installed system (e.g. invalid NIC name), it would be recognized
>> during first boot when particular SMF services would apply the
>> configuration
>> which might not be considered as good user experience.
>> Not sure how much we would like to involve the installer into this -
>> in current installer we at least validate settings for user account,
>> I can see more validation might be possible.
>>
>> * user would need to remember appropriate services & SMF properties to
>> configure
>> particular things which might not be considered as user friendly. Also,
>> since some
>> of those properties will be private to the installer, it might not be
>> appropriate
>> to expose them to the end user.
>>
>> * Support for dynamic/derived manifests might not be possible on client
>> side. For instance, some network parameters might be dynamically
>> determined by client - e.g.
>> - NIC name set to name of boot NIC
>> - static IP set to the one obtained from DHCP, ...
>>
>>
>> Based on this, I am thinking about alternate approach
>>
>> - unify AI & Sysconfig XML schemas and define new set of XML
>> tags for supported Sysconfig parameters
>>
>> - installer then would transform parameters obtained from sysconfig
>> manifest to appropriate SMF profile. During that operation, it could
>>
>> * derive some parameters if desired
>> * semantically validate Sysconfig portion of manifest (syntactic 
>> validation
>> would be common for AI & Sysconfig if provided in unified XML file).
>
> Couldn't the installer just specially do these two things for the
> set of parameters that it cares about?
>
> In other words, instead of defining a set of supported sysconfig
> parameters to be exposed through a sysconfig manifest file, could
> the installer just grok/process for them from a superset of
> configuration given through an smf profile?  This processing can do
> those two points you describe above, but only on the set the installer
> cares about.  Everything else gets "passed through" (perhaps just
> syntactically validated) so we still get a form of extensibility.
> The special processing can also inject any private properties needed.

Yep, you are right. We could do that.

>
> It just seems that if we need to define for the installer to know
> about some special set anyway, what is the advantage of defining for
> those values to come from an installer specific "sysconfig manifest"
> vs. from an smf profile?

In this case, the only pros I could think about are

* we could define namespace which would be easier to manipulate/remember
   for user
* we could encapsulate private interfaces (some SMF properties will not
   be public)

>
>>
>> The disadvantage of this approach is that whenever new Sysconfig 
>> parameter
>> would be introduced, installer would need to be modified accordingly -
>> at least new entry added to the dictionary which would serve to 
>> transform
>> particular Sysconfig parameter to SMF profile.
>
> This was also a disadvantage with sysidtool(1M), which is what steered
> us to look at a more extensible approach.

I see. I was not aware of how much extensibility is important. If
it is high priority requirement, I agree that we should use SMF
profiles directly as Sysconfig API.

Thank you very much for your comments,
Jan

Reply via email to