[Freeipa-devel] DHCP support - Request for review
Petr Vobornik
pvoborni at redhat.com
Fri Jul 13 11:09:00 UTC 2012
On 06/27/2012 03:32 PM, William Brown wrote:
> Hi,
>
> I have been working on adding support for FreeIPA to support
> configuration storage for ISC-DHCP 4.X servers. I have added the schema
> which is included at installation, added the template / empty files that
> will be filled in and used for the installation and created the ipalib
> plugin for this. At this stage, this feature is still far from done. I
> would appreciate a review of the work I have done to ensure I am on the
> right track.
>
> I would like to know if there is a better way to add ACLs than by
> manually updating ldap by hand (IE, using the ACL libraries) (See
> /install/share/dhcpd.ldif).
>
>
I just looked on the plugin part from Web UI (API) perspective. Proper
plugin review should do somebody else.
What seems bad:
1) all entity params are required. When I'm looking at ldif, only couple
of attributes are MUST.
Param is made optional by adding '?' after its name. Example from user.py:
Str('displayname?',
label=_('Display name'),
default_from=lambda givenname, sn: '%s %s' % (givenname, sn),
autofill=True,
),
However you can probably enforce some params to be required if it's
required by DHCP server and not to blindly copy the LDAP schema.
2) You don't have to specify 'primary_key=False', it's default.
3) Don't use prefix for cli_name like 'dhcp_server_implementation'
cli_name is used by IPA Client as an option name. Same for labels. For
example for adding dhcp server proper command would probably be:
ipa dhcpserver-add $NAME --service-dn=$SERVICE_DN etc
not:
ipa dhcpserver-add $NAME --dhcp-server-service-dn=$SERVICE_DN etc
so the param def should be:
Str('dhcpservicedn?',
cli_name='service_dn',
label=_('Service DN'),
),
5) All params are STR. I think some might be INT or something else.
6) You can fill 'default_attributes' list with more param names. What is
mentioned in default attributes is displayed by `XXX-show $CN` command.
What is not have to be displayed by `XXX-show $CN --all` command.
7) In labels you use 'Dhcp'. IMO it should be all uppercase.
Regards
--
Petr Vobornik
More information about the Freeipa-devel
mailing list