[Freeipa-devel] FreeIPA Auto Membership CLI

Dmitri Pal dpal at redhat.com
Thu Jun 2 20:51:47 UTC 2011


On 06/02/2011 03:59 PM, Rob Crittenden wrote:
> 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.

Yeah, please do not make it more complex than needed. Creating a nested
list and letting it render is probably the right approach.

>
> rob
>
> _______________________________________________
> Freeipa-devel mailing list
> Freeipa-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/freeipa-devel
>
>


-- 
Thank you,
Dmitri Pal

Sr. Engineering Manager IPA project,
Red Hat Inc.


-------------------------------
Looking to carve out IT costs?
www.redhat.com/carveoutcosts/






More information about the Freeipa-devel mailing list