Can't modify Static host entries. Error:"This functionality is not supported in this version..."

  • 7015390
  • 18-Jul-2014
  • 20-Oct-2015

Environment

Novell Open Enterprise Server 11 (OES 11) Linux

Situation

The error, "This functionality is not supported in this version of the OES DHCP server" occurs
when saving any modification to a declared/static host.

The OES2 version of the DNS DHCP Management Console allows these changes to be saved. The console from shipping OES11 SP1 works. The console from OES11 SP1 2012 2.0.3 works. The console from OES11 SP2 2013 2.0.4 gives this error.
The modification can be as simple as changing or adding a comment, adding parameters in the
Settings or Configured Options tabs, or selecting Enable DNS RR Entry Updates Additionally, modifications made in the old console can be viewed by the new console.

Resolution

There are two attributes that are either missing in the schema OR not made available on the dhcpHost object class.
They are "enableDnsRRUpFlag" and "dnsRRUpDomainName"

To check to see if these attributes are in the schema, go into
iManager > 'Roles and Tasks > Schema > Add Attribute > select the dhcpHost Class.

If these attributes are not in the "Available optional" attributes or the "Optional attributes" then:
- On an OES11 SP2 or later server that has a
Read/Write copy of the [Root] partition, at the console extend the schema with this command
- ndssch -h AA.BB.CC.DD -t TREE admin.context /opt/novell/dhcp/schema/dhcpschema.sch
     - AA.BB.CC.DD is IP address of Master or Read/Write replica of [Root]  partition
     - TREE is tree name
     - admin.context is the admin FDN

The dhcpHost object class will still not have these attributes as "Available optional attributes.
To add them to the dhcpHost object class's Available optional attributes:
Go to iManager > 'Roles and Tasks > Schema > Add Attribute > select the dhcpHost Class > move 
"enableDnsRRUpFlag" and "dnsRRUpDomainName" from
"Available optional attributes' to 'Optional attribute(s)' > click OK

You should now be able to use the DNS/DHCP Management Console for OES11SP2 to create and modify a Static Host.

Cause

There are two attributes that are either missing in the schema OR not made available on the dhcpHost object class.
They are "enableDnsRRUpFlag" and "dnsRRUpDomainName"

Additional Information

One way to verify that the schema has been extended would be to do the following command at the server console:
ldapsearch -b cn=schema -s base -x | grep -i dnsRRUpDomainName

It should return something like this:
$ dhcpComments $ dhcpOption $ enableDnsRRUpFlag $ dnsRRUpDomainName ) X-NDS_N
attributeTypes: ( 2.16.840.1.113719.1.203.4.59 NAME 'dnsRRUpDomainName' SYNTAX

If it does, then the schema on that server has been extended.

To verify that the attributes have been made available you could type these three commands:
ldapsearch -b cn=schema -s base -x | grep -in dhcphost
ldapsearch -b cn=schema -s base -x >t
cat -n t | grep -e 798 -e "799" -e "800" | grep -ve "17" -ve "27" -ve "18" -ve "28"

The first one will result in something like this:
ldapsearch -b cn=schema -s base -x | grep -in 'dhcpHost'
776: dNetworkDN $ dhcpSubnetDN $ dhcpGroupDN $ dhcpHostDN $ dhcpClassesDN $ dhcpOp
795: AL MUST cn MAY ( dhcpHostDN $ dhcpOptionsDN $ dhcpStatements $ dhcpComments $
798:objectClasses: ( 2.16.840.1.113719.1.203.6.6 NAME 'dhcpHost' SUP Top STRUCTURA
848: SubnetDN $ dhcpPoolDN $ dhcpGroupDN $ dhcpHostDN $ dhcpClassesDN $ dhcpKeyDN
2805:attributeTypes: ( 2.16.840.1.113719.1.203.4.10 NAME 'dhcpHostDN' SYNTAX 1.3.6.

The second command will just create a file that can be parsed.

The third command will parse that file and give output like this:
798objectClasses: ( 2.16.840.1.113719.1.203.6.6 NAME 'dhcpHost' SUP Top STRUCTURA
799 L MUST cn MAY ( dhcpLeaseDN $ dhcpHWAddress $ dhcpOptionsDN $ dhcpStatements
800 $ dhcpComments $ dhcpOption $ enableDnsRRUpFlag $ dnsRRUpDomainName ) X-NDS_N

In the output of these commands the dhcpHost object class will have a SYNTAX "1.3.6", showing that it has been updated.  Additionally the line starting with 800 should show the new attributes.

If the commands result in a SYNTAX that is not followed by a number 1.3.6 OR if the output does not contain a line beginning with 800 then the schema has not been extended and/or the assignment has not been made in the schema as seen on that server.

These commands could work on one server, but not on another server.  In that case you will have to sync the schema.