[Freeipa-devel] Optimizing for the common case: automount and DNS

Adam Young ayoung at redhat.com
Thu Sep 9 19:03:37 UTC 2010


Both Automount and DNS are heirarchical entities.


DNS starts with a zone.  Usually, a zone is a domain name, like 
redhat.com.  It might be more specific, like devel.redhat.com.

A DNS setup is going to have at a minimum one zone, and is likely to 
only have a single zone.

A Zone is pretty much just a name, and then a collection of records.  
The records are owned by the zone.  THere will be very little or no 
crossover between zones.   Thus, I'm thinking that the most common thing 
people are going to want to do is to manage the records for a single zone.


So the question becomes, one tab or two?    If we go two, we have DNS 
zones and DNS records, with an association facet on the zone that points 
to the record.  The difference that doesn't map to existing use cases is 
that a given record is always associated with a zone, so creating a 
records, and then later associating it with a zone does not make sense.

We could put a UI element like the finder on the associations page on 
the record page.  So to create a record, one of the steps you'd do would 
be to run a zone search.  This seems awkward.

I'm thinking instead that we should have a single DNS tab.  If we have a 
single zone, this tab defaults to the finder page for records for that 
zone.  Clicking add creates a new record form, with the zone hardcoded 
already to be the default one.

In the case where there are more than one zone, the default facet is the 
zone search.  I suspect that this search should be automatically 
executed with a blank filter upon load so that the set of zones is 
available.  Selecting a zone then goes to the finder page for the 
records , again, with the search pre-executed, and the name of the zone 
hyperlinked at the top.


This approach also works with automounts.  The default case for 
automounts is a single location.  There are two entities beyond location 
to manage: maps and keys.  These two are hierarchical:  location owns 
map, map owns key.

For this entity, I think the default page should be the search page for 
maps, with a search that specifies the default location.  Each map entry 
has a hyperlink to its keys page, again a search pre-executed.

Once multiple locations are defined, the default page for automount 
should be the location search page, pre-executed.


Here is the criticisms I've thought of so far.  It requires multiple 
calls to the server to determine what to display.  The second is that it 
is more complicated, and will take somewhat more time to implement.  The 
user will not expect the content of a tab to change out from under them.


An alternative approach is that we can make DNS and Automount top level 
tabs, with zone and records tabs under DNS, and locations, maps and keys 
as tabs under Automount.   Then, all we do is change which is the 
default tab based on the above logic.  That would make the top level tabs:

Identity DNS Automount Config

I'm not sure if this is a scalable approach, once we add entitlements, 
sudo, hbac, hci, and so on.











More information about the Freeipa-devel mailing list