William,

Some additional comments on version 1.4 of the doc below, and
responses to your previous responses in-line.


5.1 - nit - still says "single" profile.

5.3.2 - this is just a wording nit but maybe you should call this
something else.  The use of "deferred" or "first boot" to describe this
third type of XInclusion treatment seems presumptuous.  From the
installer's pov, we're just placing the profile onto the installed system
with unprocessed XInclusions.  Whether or not its actually processed
on first boot is out of our hands.

5.3.3 - Is it me or does the content of this section say something
totally different than the title of the section?

5.4.3.1 - There doesn't seem to be any benefit of having the option
to run the script at installadm time since there's no criteria from a
live client available then.  Users can run their script with those limited
criteria you listed, outside of the installadm execution just as well,
since those limited criteria are all known as data that the user
would have to pass as options to the installadm call anyway.
Is there a particular reason why you see this as needed?

5.4.4 - I didn't comment on this last time because I wanted to hear
more about the use case for user-defined scripting first.  We can
discuss this offline, but you need a little more here on what aspects
of derived AI manifests this will be leveraging.  For example, derived
manifests doesn't do replacements as you're mentioning here.

5.6 - Isn't <options> for create-service and create-client the same
as {SC profiles}for set-sc?  If so, why the different names?

5.6 - These options as defined imply we're associating SC profiles
to clients outside of the client/service relationship.  Is this what you're
intending?

5.6 - For -p, -q, and -r, could we just allow multiples of them instead
per command instead of the argument being a comma-separated list?

5.6 - second table is not readable.

5.6.2. - Doesn't this need an argument for the name of the profile
you want to export?

5.6.4 - Not understanding why you'd name this subcommand
delete-criteria?  Why wouldn't it be delete-profile to be consistent?
Also, the previous subcommands use -sc, why not name these
with -profile as well?

5.6.5 - Why not provide a way to validate just one profile as well?

5.7.2 - Since $QUERY_STRING is an interface exported by wanboot-cgi
that <script> is consuming, the format of $QUERY_STRING needs to
be defined.

5.7.* - Its still not quite clear to me if you're proposing to include the
SC profile with the initial wanbootfs that's requested (for Sparc), or
if Sparc will request an additional wanbootfs just to get its SC profile(s).

5.10 - Could use a little more.  I'm still not quite clear how what you're
describing here works.

[two more comments below]

On 08/27/10 10:17, William Schumann wrote:
 Ethan,
The document has been updated in response to your and Dave's suggestions. Still some work to be done.

Responses inline.

On 08/26/10 10:14 AM, Ethan Quach wrote:

page 5 - "Overview" - The last sentence says a single profile is
delivered, but later on in the proposal seems to indicate that you
are proposing to support multiple SC profiles.  I.e. the comma
separated list of profiles specified via the -p -q or -r options on
page 9.
Yes, the intent is to support multiple profiles.  Will update the doc.

page 5 - Mentioned in the doc in a couple of places is that the SC
profiles would be stored in the /etc/netboot hierarchy according to
service ID and CID.  But if you're also proposing to use criteria as
the selection mechanism, what is the purpose of the hierarchy?
The hierarchy is a leftover storage model from an earlier design. It has some efficiency advantages, but since criteria-based profiles have been added, a different storage model is in order. Will remove mention of the hierarchy from the SC profile storage model.

page 6 - "SC profiles passed by reference" - This statement
seems false.  Its seems you are supporting this via the -r option
you're proposing on page 9..
The difference between the -r option and passing profiles by reference is that in the proposal, the server always passes a profile *file* - even with the -r (first boot) option, as opposed to a filename, link or other reference. That profile may contain a reference to another profile or fragment of a profile (via XInclude) that is on the AI client, but I'm drawing the line at passing references to keep the design simple; i.e., the proposal is to pass files from the AI server to the client, not references such as pathnames or soft links.

This needs to be clarified then.  The phrase "passed by reference" does
not spell symlink file to me.  But I would agree, it doesn't seem like we
would need to support this case.


Now, one might say that a soft link is a file. It's possible that soft links to files on the AI client are allowed, with the understanding that they could appear as broken links on the AI server side. If there is a significant advantage to supporting this use of soft links, it can be added.

page 6 - "Preprocesssing XInclude ..." - Is there an additional
advantage or use-case for user-defined scripts over simply
having installadm support an inherent preprocessing step of
replacing known variables?  If the user-defined scripting is
only to solve the issue of resolving criteria, then the latter
would seem much more simple for users to do for the same
functionality.
Use case 8 illustrates how a user-defined script can look up properties in a normal text file according to criteria. In this case, the property value is substituted, not the criteria.

I'm only seeing 5 use cases in the doc, but I think you mean 6.5

In your final note for this use case, you say "the script could be
generalized so that the template variables come from the table
as well."  If the script could be generalized, is this something the
installadm tool can support inherently, and hence the user wouldn't
have to write any scripts at all to use this functionality?  i.e. the
user would be exposed to the syntax so that they can write these
clauses in their profiles, but not have to write the scripts to process
them?  Hmm, in thinking about this, it would seem users would still
have to provide the table and the variable names at least, and
there'd be no way for installadm to know which criteria they want
to use to use as a table lookup key ... just a thought, but is there
way you can see this working in this way?


thanks,
-ethan



page 7 - "Basing SC profiles on various client criteria" - the
program or script mentioned in this section is internal to the
AI server correct?
Correct.
I.e. its not the same as the would be
user-defined script described previously, so mentioning it as
program or script seems a bit confusing, or maybe just
clarifying that.
OK, will clarify. Providing criteria-based definitions should reduce the number of cases in which user-defined scripting would be necessary. Otherwise, there is no connection between the two.

page 8 - This is related to the first comment, but if we're
proposing to use criteria as the selection mechanism for SC
profiles, what is the purpose for the association of SC profiles
at the service level and the client level?
Associating SC profiles at the service level would indicate that all AI clients requesting this service would receive the defined profiles. Associating SC profiles at the client level would restrict their use only for a specific custom client.

When specifying profiles using installadm create-service, the service name is implied and does not have to be explicitly listed among the criteria. Same for the client ID for custom clients defined by 'installadm create-client'. If we dispense with using the 'create-service' and 'create-client' subcommands to define profiles, using only 'set-sc' and 'add-sc' with criteria to define profiles by service or client ID, then they don't have to be associated at the service and client levels, but the service and client IDs would have to be explicit among the criteria.

In the end, it's just a matter of convenience, allowing the user to define profiles with one installadm command instead of two, otherwise forcing the user to supply redundant, inelegant criteria pairs on the command line: -o service=<service> or -o CID=<cid>

Per our discussion yesterday, I will add support for server-wide SC profiles that are included: - if no criteria are specified, the profile is included for all AI clients - if criteria are specified, the profile is included strictly according to criteria

Also, will add to the list of supported criteria:
- OpenSolaris version number associated with the service
so that SC profiles defined globally in this way can be restricted by OS version.

Also, will add an option for template preprocessing of SC profiles supporting replacement of the entire range of supported criteria. This should relatively safely:
- improve scalability
- make static XInclude dynamic
- circumvent the need for some user-defined scripting

Thank you,
William


thanks,
-ethan


On 07/28/10 09:38, William Schumann wrote:
Resulting from previous discussions on SC profiles, a second draft document proposing changes to SC profiles is now on opensolaris.org at:

http://hub.opensolaris.org/bin/download/Project+caiman/System+Configuration+Project/SCProfileProposal.odt

This is a complete rewrite from the initial draft. Many significant features were reconsidered and redesigned.

Those interested in offering input about how the OpenSolaris installer configures a system, please comment.

Thank you for your attention,
William Schumann

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

Reply via email to