Uploaded image for project: 'Jira Server and Data Center'
  1. Jira Server and Data Center
  2. JRASERVER-24161

osuser.xml migration fails if multiple ldap repositories defined




      We have delegated authentication to two LDAP repositories defined in our osuser.xml. Both LDAP directories hold unique users. When we try to upgrade we get error like in this forum post:

      ERROR      [atlassian.jira.upgrade.UpgradeManagerImpl] Errors during Upgrade Task: Migrate User Directory configuration
      ERROR      [atlassian.jira.upgrade.UpgradeManagerImpl] Errors occurred during upgrade:
      ERROR      [atlassian.jira.upgrade.UpgradeManagerImpl] Upgrade Error: JIRA is unable to migrate the User Directory configuration because the osuser.xml file does not contain a recognized configuration.<br/>Please see the Upgrade Guide for details.

      If we remove the other one the upgrade works but of course creates only one delegated authentication directory.

      The configuration for LDAP is really simple and almost identical for both directories (only tree names and servers differ), here's sample of the other:

      <provider class="com.opensymphony.user.provider.ldap.LDAPCredentialsProvider">
           <property name="java.naming.factory.initial">com.sun.jndi.ldap.LdapCtxFactory</property>
           <property name="java.naming.provider.url">ldap://my-server-name:389</property>
           <property name="searchBase">OU=Users,OU=Company,DC=COM</property>
           <property name="uidSearchName">sAMAccountName</property>
           <property name="java.naming.security.principal">user-to-use</property>
           <property name="java.naming.security.credentials">password-to-use</property>
           <property name="exclusive-access">true</property>

      Is it a good workaround to upgrade without osuser.xml and manually create directories? Documentation states that this will leave internal directory with users but is this a problem?

      As a side note, there are many upgrade tasks that require indexing and they give errors about custom user field indexing:

      Issue PROJ-6800 has an invalid value 'jdoe' stored in the field 'Tester'. User 'jdoe' was not found in the system.

      After crowd migration is done the users are found. Due to all indexing upgrade is really slow (much slower than with 4.2) and the indexing should only be done at the end?


        Issue Links



              Unassigned Unassigned
              27180bd1443e Marko Lahma
              7 Vote for this issue
              10 Start watching this issue