[Freeipa-devel] FreeIPA Auto Membership CLI

Rob Crittenden rcritten at redhat.com
Thu Jun 2 19:59:45 UTC 2011


Dmitri Pal wrote:
> On 06/02/2011 11:39 AM, JR Aquino wrote:
>> I need feed back from the group regarding how we should present the output for Clarity, the 389 Directory Server Auto Membership Plugin...
>>
>> Currently, the output looks like this:
>>
>> ---=== EXAMPLE ===---
>> [root at auth2 ~]# ipa clarityrule-show testrule --all
>>    dn: cn=testrule,cn=automember,cn=etc,dc=expertcity,dc=com
>>    Clarity Rule: testrule
>>    Membership filter: objectclass=ipaHost
>>    Default Group: cn=orphans,cn=hostgroups,cn=accounts,dc=expertcity,dc=com
>>    Inclusive Regex: cn=webservers,cn=hostgroups,cn=accounts,dc=example,dc=com::fqdn=^web[1-9]+.example.com, cn=mailservers,cn=hostgroups,cn=accounts,dc=example,dc=com::fqdn=^mail[1-9]+.example.com,
>>                     cn=webservers,cn=hostgroups,cn=accounts,dc=example,dc=com::fqdn=^www[1-9]+.example.com
>>    Exclusive Regex: cn=webservers,cn=hostgroups,cn=accounts,dc=example,dc=com:blacklist www5:fqdn=^www5\.example\.com
>>    automembergroupingattr: member:dn
>>    automemberscope: dc=expertcity,dc=com
>>    objectclass: top, automemberdefinition
>> ---=== EXAMPLE ===---
>>
>> Each rule in the definition object is broken down into 3 distinct parts: Group to modify, Description, Attribute + Regular Expression to match.
>>
>> As time progresses it will be likely that these rules could get long and visually unappealing.  I would like to know how we might better represent this info.
>>
>> Perhaps a breakout with indentation for each unique group defined in each rule?
>>
>> ---===SUGGESTION===---
>> [root at auth2 ~]# ipa clarityrule-show testrule --all
>>    dn: cn=testrule,cn=automember,cn=etc,dc=expertcity,dc=com
>>    Clarity Rule: testrule
>>    Membership filter: objectclass=ipaHost
>>    Default Group: cn=orphans,cn=hostgroups,cn=accounts,dc=expertcity,dc=com
>>    Inclusive Regex:
>>          cn=webservers,cn=hostgroups,cn=accounts,dc=example,dc=com
>>              FrontEnd: fqdn=^web[1-9]+.example.com,
>>              MainSite: fqdn=^www[1-9]+.example.com
>>          cn=mailservers,cn=hostgroups,cn=accounts,dc=example,dc=com
>>              SMTP: fqdn=^mail[1-9]+.example.com,
>>    Exclusive Regex:
>>          cn=webservers,cn=hostgroups,cn=accounts,dc=example,dc=com
>>              blacklist: www5:fqdn=^www5\.example\.com
>>    automembergroupingattr: member:dn
>>    automemberscope: dc=expertcity,dc=com
>>    objectclass: top, automemberdefinition
>> ---===SUGGESTION===---
>>
>
> This presentation assumes that the description is not empty.
> In general case it is not true so I would suggest fixed labels even if
> the values would have duplicates.
>
>    Group: cn=webservers,cn=hostgroups,cn=accounts,dc=example,dc=com
>    Description:
>    Regex: fqdn=^web[1-9]+.example.com
>    -----
>    Group: cn=mailservers,cn=hostgroups,cn=accounts,dc=example,dc=com
>    Description:
>    Regex: fqdn=^mail[1-9]+.example.com
>    -----
>    Group: cn=webservers,cn=hostgroups,cn=accounts,dc=example,dc=com
>    Description:
>    Regex: fqdn=^www[1-9]+.example.com
>    -----
>
> Keep the indent that you proposed, it looks OK with the indent.

Just note that the code that does the rendering is extremely simplistic 
so control over indention may require a fair bit of work. I think 
indention is handled via nesting, so returning data as lists of lists 
may do the trick.

That or you are going to have to override output_for_cli() and do all 
the output manually but that should be a last resort.

rob




More information about the Freeipa-devel mailing list