Frank,
Thanks for the feedback. All in all, I'm leaning toward 2,
but with some comments below ...
Frank Ludolph wrote:
> Ethan Quach wrote:
>> This is the proposed syntax:
>>
>>
>> installadm list [ [-m] <svcname> | -c | -r ]
>>
>> Lists information about the install services that have
>> been setup on this system. Information for all install
>> services will given if a specific svcname is not provided.
>> With the '-m' option, manifest information will also be
>> given, but can only be used when a specific svcname is
>> provided. The '-c' option will list all clients that
>> have been created on this server. The '-r' option will
>> list information for remote install services in addition
>> to the local ones.
>>
>>
>> -m svcname Lists all manifest information, including
>> the manifest criteria, for the install
>> service specified.
>>
>> -c Lists all clients that have been created
>> on this server, and the install service
>> and imagepath used with each client.
>>
>> -r Lists basic information for remote
>> services as well as local services.
>>
> CLIP isn't supportive of mutually exclusive options, suggesting the use
> of multiple subcommands instead. Here are a couple of alternatives.
>
> Alternative 1: logically identical to the above
>
> installadm list-services [-r] Lists basic info for all
> local services
> -r adds basic info for
> remote services
> installadm list-manifests <svcname> Lists info for each
> manifest, grouped by service
Could <svcname> be optional here?
> installadm list-clients Lists clients and their
> install service and imagepath
Since we're not using an option to denote clients anymore, could
this now be:
installadm list-clients [<svcname>]
to report clients belonging only to the specified service?
>
> Alternative 2:
>
> installadm list [-m] [-c] [-n <svcname>] See below
> installadm list-remote [-n <svcname>] Lists basic info for
> remote service(s)
I'd hate to have a separate subcommand just for this one case. Could
we create the mutual exclusive -r just for this one case?
installadm list [[-m][-c] | [-r]] [-n <svcname>]
i.e. if you want remote services, you can't get manifest or client
information..
>
> Examples:
> installadm list Lists basic info for
> local services
> installadm list -n <svcname> Lists basic info for
> named (local) service
> installadm list -m -n <svcname> Lists info for each
> manifest of named service
> installadm list -m Lists info for each
> manifest, grouped by service
> installadm list -c Lists info for all clients
> installadm list -c -n <svcname> Lists info for all
> clients of named service
> installadm list -c -m -n <svcname> Lists info for each
> manifest of named service
> followed by client info
> installadm list -c -m Lists manifest and client
> info grouped by service
The output for this last one will look awkward because we're
giving two sets of data, each with their own data columns, grouped
by one other set of data. I'm thinking that the output would be
unscalable going across because some columns will apply to Manifests
while some apply to Clients. e.g. ... Thoughts?
# installadm list -c -m
Service Manifest Client Imagepath
------- -------- ------ ---------
service1
manifest1 (default)
manifest2
manifest3
client1 /export/aiimages/b107
client2 /export/aiimages/RC2
service2
manifest1
manifest2 (default)
client1 /export/aiimages/foo
client2 /export/home/user/ai_image
client3 /export/aiimages/bar
service3
manifest1 (default)
client1 /export/home/user2/2008.11
client2 /export/aiimages/b107
thanks,
-ethan
>
> While some examples, e.g. installadm list -c -m, might not be commonly
> used it doesn't hurt to allow them.
>
> Frank