a2323f6
Before upgrading from OpenLDAP 2.0 or 2.1 to OpenLDAP 2.2, the system
a2323f6
administrator should dump out the contents of the the directory server's
a2323f6
databases using the 'slapcat' utility included in the openldap-servers package
a2323f6
and save the LDIF files which it produces.
cvsdist 9bfe3cb
a2323f6
After the upgrade is complete, the data can be re-imported using the 'slapadd'
a2323f6
utility.  Some data which was exported from an OpenLDAP 2.0 server may not
a2323f6
import directly into an OpenLDAP 2.2 server.  If this happens, check for these
a2323f6
common problems:
cvsdist 9bfe3cb
a2323f6
  * Missing parent entries.
a2323f6
    Entries in the directory are no longer allowed to be children of entries
a2323f6
    which are not present in the directory.  For example, earlier releases
a2323f6
    would allow an entry with distinguished name (DN)
a2323f6
    "cn=foo,dc=devel,dc=example,dc=com" to be imported into a database for
a2323f6
    suffix "dc=example,dc=com" which contained neither an entry for
a2323f6
    "dc=devel,dc=example,dc=com" nor an entry for "dc=example,dc=com".
a2323f6
a2323f6
  * Deprecated objectclasses and attribute types.
a2323f6
    Entries of these classes should be replaced by entries of a different
a2323f6
    class.
a2323f6
     * the automountMap objectclass
a2323f6
       Use the nisMap objectclass instead, replacing these old attributes
a2323f6
       with new attributes:
a2323f6
       +====================================+
a2323f6
       | old attribute	    new attribute   |
a2323f6
       |------------------------------------|
a2323f6
       | ou		    nisMapName      |
a2323f6
       +====================================+
a2323f6
     * the automount objectclass
a2323f6
       Use the nisObject objectclass instead, replacing these old attributes
a2323f6
       with new attributes:
a2323f6
       +====================================+
a2323f6
       | old attribute	      new attribute |
a2323f6
       |------------------------------------|
a2323f6
       | cn                   cn            |
a2323f6
       | automountInformation nisMapEntry   |
a2323f6
       | (no counterpart)     nisMapName    |
a2323f6
       +====================================+
a2323f6
a2323f6
  * Missing objectclass definitions.
a2323f6
    Some objectclasses are no longer defined because they are no longer used.
a2323f6
    Remove the objectclass from the entry's list of objectclasses, and
a2323f6
    remove any values for attributes which are unique to that objectclass.
a2323f6
    These include:
a2323f6
     * the "kerberosSecurityObject" objectclass and the "krbName" attribute
a2323f6
     * the "dynamicObject" objectclass
a2323f6
     * the "LDAPsubEntry" objectclass
a2323f6
a2323f6
  * Missing attribute values.
a2323f6
    Some objectclass definitions mark a given attribute as both optional (MAY)
a2323f6
    and required (MUST).  While such attributes may have been treated as
a2323f6
    optional before, they are now treated as required.  Some examples:
a2323f6
     * the "ipProtocol" object class and its "description" attribute
a2323f6
     * the "rpcService" object class and its "description" attribute
a2323f6
     * the "oncRpc" object class and its "description" attribute
a2323f6
     * the "residentialPerson" object class and its "localityName" attribute
a2323f6
a2323f6
  * Structural vs. auxiliary objectclasses.
a2323f6
    The set of objectclasses which any entry lists should include exactly one
a2323f6
    STRUCTURAL class.  This requirement may not have been enforced in previous
a2323f6
    releases.
a2323f6
a2323f6
  * The entry does not contain its own RDN as an attribute-value pair.
a2323f6
    The naming attribute and value used as the entry's relative distinguished
a2323f6
    name (RDN) must be explicitly defined for the entry.  For example, an
a2323f6
    entry named "cn=contrived,dc=example,dc=com" must include "contrived" as a
a2323f6
    value for its "cn" attribute.