Skip to content

Custom Configuration fails when using external identity store and embedded configuration store #1007

@joelcharlebois

Description

@joelcharlebois

Custom configuration fails when using an external OpenDJ identity store and an embedded OpenDJ configuration store.

The issue occurs at the point when the configurator is loading the following schema:
opendj_user_index.ldif

The reported exception is as follows (excerpts):
Unwilling to Perform: The Directory Server is unwilling to add configuration entry ds-cfg-attribute=sunxmlkeyvalue,cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config ... rejected this change with the message: The Backend Index could not be decoded due to the following reason: The value "sunxmlkeyvalue" is not a valid value for the "attribute" property.

Apparent cause:
The opendj_user_index.ldif is attempting to create an index on an attribute in the identity store that is only created in a configuration store where the opendj_config_schema.ldif is loaded. The configuration attribute "sunxmlkeyvalue" is not created from the schemas loaded by the configurator in the identity store.

Quick fix:
Remove the following indexing command from the top of the opendj_user_index.ldif schema file:

dn: ds-cfg-attribute=sunxmlkeyvalue,cn=Index,ds-cfg-backend-id=@DB_NAME@,cn=Backends,cn=config
objectClass: top
objectClass: ds-cfg-backend-index
ds-cfg-attribute: sunxmlkeyvalue
ds-cfg-index-type: equality
ds-cfg-index-type: substring

And add the following similar command at the bottom of the opendj_config_schema.ldif, to index the attribute in the configuration store:

dn: ds-cfg-attribute=sunxmlkeyvalue,cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config
changetype: add
objectClass: top
objectClass: ds-cfg-backend-index
ds-cfg-attribute: sunxmlkeyvalue
ds-cfg-index-type: equality
ds-cfg-index-type: substring

(Note: I replaced ds-cfg-backend-id=@DB_NAME@ with ds-cfg-backend-id=userRoot for a quick fix. )

Rerun the configurator. It then completes without error.

Proposed fix:
Create a separate opendj_config_schema_index.ldif schema file to load/create indexes for the configuration schema, and modify the configurator to run this separate schema file.

Version
OpenAM 16.0.6

Vote to raise the priority 🖐️

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions