Uploaded image for project: 'Bamboo Data Center'
  1. Bamboo Data Center
  2. BAM-19963

Upgrade can't migrate LDAP/AD that use objectCategory filter

      Summary

      Upgrade will fail to migrate LDAP/AD configuration that uses objectCategory filter instead of objectClass

      Steps to Reproduce

      1. Configure Bamboo 6.5.1 to use LDAP/AD with objectCategory filter
      2. Upgrade it to Bamboo 6.6.0

      Expected Results

      Upgrade successfully migrate LDAP/AD configuration

      Actual Results

      The below exception is thrown in the atlassian-bamboo.log file:

      2018-06-26 16:36:19,095 ERROR [localhost-startStop-1] [LdapRepositoryConfigurationMigrator] Property groupSearchFilter does not define an objectClass filter
      2018-06-26 16:36:19,095 ERROR [localhost-startStop-1] [LdapRepositoryConfigurationMigrator] Property userSearchFilter does not define an objectClass filter
      2018-06-27 17:50:35,473 INFO [localhost-startStop-1] [AtlassianUserMigrator] Validated repository [hibernateRepository] with [com.atlassian.bamboo.upgrade.tasks.v6_6.ec.HibernateRepositoryConfigurationMigrator@51e45b33]
      2018-06-27 17:50:35,475 ERROR [localhost-startStop-1] [BootstrapUpgradeManagerImpl] Task 60601 failed
      java.lang.RuntimeException: com.atlassian.bamboo.upgrade.exception.ValidationException: Bamboo can't migrate Atlassian User repositories due to validation errors. Please refer to logs for more information.
      	at com.atlassian.bamboo.upgrade.tasks.validation.AtlassianUserRepositoriesAreValid.lambda$doUpgrade$0(AtlassianUserRepositoriesAreValid.java:46)
      	at com.atlassian.bamboo.upgrade.AbstractBootstrapUpgradeTask.withDatabaseConnection(AbstractBootstrapUpgradeTask.java:65)
      	at com.atlassian.bamboo.upgrade.tasks.validation.AtlassianUserRepositoriesAreValid.doUpgrade(AtlassianUserRepositoriesAreValid.java:38)
      	at com.atlassian.bamboo.upgrade.tasks.validation.AtlassianUserRepositoriesAreValid.doUpgrade(AtlassianUserRepositoriesAreValid.java:33)
      	at com.atlassian.bamboo.upgrade.BootstrapUpgradeManagerImpl.runValidationTask(BootstrapUpgradeManagerImpl.java:134)
      	at com.atlassian.bamboo.upgrade.BootstrapUpgradeManagerImpl.lambda$runValidationTasks$0(BootstrapUpgradeManagerImpl.java:93)
      	at com.atlassian.bamboo.upgrade.AbstractUpgradeManager.forEachTask(AbstractUpgradeManager.java:151)
      	at com.atlassian.bamboo.upgrade.BootstrapUpgradeManagerImpl.runValidationTasks(BootstrapUpgradeManagerImpl.java:93)
      	at com.atlassian.bamboo.setup.DefaultBootstrapManager.runValidationTasks(DefaultBootstrapManager.java:373)
      	at com.atlassian.bamboo.setup.DefaultBootstrapManager.performPersistenceUpgrade(DefaultBootstrapManager.java:277)
      	at com.atlassian.config.bootstrap.DefaultAtlassianBootstrapManager.init(DefaultAtlassianBootstrapManager.java:77)
      	at com.atlassian.bamboo.setup.BootstrapLoaderListener.contextInitialized(BootstrapLoaderListener.java:116)
      	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4842)
      	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5303)
      	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
      	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1407)
      	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1397)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:745)
      Caused by: com.atlassian.bamboo.upgrade.exception.ValidationException: Bamboo can't migrate Atlassian User repositories due to validation errors. Please refer to logs for more information.
      	... 21 more
      

      Notes

      The validation will correctly trigger if the filter is not using either objectCategory or objectClass like:

      <userSearchFilter>(&amp;(sAMAccountName=*)(memberOf=CN=group,DC=test,DC=com))</userSearchFilter>
      

      The fix for this bug will not change that. In this case, an objectClass or objectCategory should be added to the filter in the atlassian-user.xml to proceed with the upgrade.

            [BAM-19963] Upgrade can't migrate LDAP/AD that use objectCategory filter

            Monique Khairuliana (Inactive) made changes -
            Workflow Original: Bamboo Workflow 2016 v1 - Restricted [ 2705402 ] New: JAC Bug Workflow v3 [ 3386238 ]
            Status Original: Resolved [ 5 ] New: Closed [ 6 ]
            Oleksandr Tkachenko made changes -
            Remote Link New: This issue links to "Page (Confluence)" [ 438647 ]
            Owen made changes -
            Symptom Severity Original: Major [ 14431 ] New: Severity 2 - Major [ 15831 ]
            Oleksandr Tkachenko made changes -
            Remote Link New: This issue links to "Page (Confluence)" [ 379303 ]
            Alexey Chystoprudov made changes -
            Fix Version/s New: 6.7.0 [ 80798 ]
            Grzegorz Lewandowski made changes -
            Resolution New: Fixed [ 1 ]
            Status Original: In Progress [ 3 ] New: Resolved [ 5 ]
            Jeremy Owen made changes -
            Description Original: h3. Summary
            Upgrade will fail to migrate LDAP/AD configuration that uses objectCategory filter instead of objectClass

            h3. Steps to Reproduce
            # Configure Bamboo 6.5.1 to use LDAP/AD with objectCategory filter
            # Upgrade it to Bamboo 6.6.0

            h3. Expected Results
            Upgrade successfully migrate LDAP/AD configuration

            h3. Actual Results
            The below exception is thrown in the atlassian-bamboo.log file:
            {noformat}
            2018-06-26 16:36:19,095 ERROR [localhost-startStop-1] [LdapRepositoryConfigurationMigrator] Property groupSearchFilter does not define an objectClass filter
            2018-06-26 16:36:19,095 ERROR [localhost-startStop-1] [LdapRepositoryConfigurationMigrator] Property userSearchFilter does not define an objectClass filter
            2018-06-27 17:50:35,473 INFO [localhost-startStop-1] [AtlassianUserMigrator] Validated repository [hibernateRepository] with [com.atlassian.bamboo.upgrade.tasks.v6_6.ec.HibernateRepositoryConfigurationMigrator@51e45b33]
            2018-06-27 17:50:35,475 ERROR [localhost-startStop-1] [BootstrapUpgradeManagerImpl] Task 60601 failed
            java.lang.RuntimeException: com.atlassian.bamboo.upgrade.exception.ValidationException: Bamboo can't migrate Atlassian User repositories due to validation errors. Please refer to logs for more information.
            at com.atlassian.bamboo.upgrade.tasks.validation.AtlassianUserRepositoriesAreValid.lambda$doUpgrade$0(AtlassianUserRepositoriesAreValid.java:46)
            at com.atlassian.bamboo.upgrade.AbstractBootstrapUpgradeTask.withDatabaseConnection(AbstractBootstrapUpgradeTask.java:65)
            at com.atlassian.bamboo.upgrade.tasks.validation.AtlassianUserRepositoriesAreValid.doUpgrade(AtlassianUserRepositoriesAreValid.java:38)
            at com.atlassian.bamboo.upgrade.tasks.validation.AtlassianUserRepositoriesAreValid.doUpgrade(AtlassianUserRepositoriesAreValid.java:33)
            at com.atlassian.bamboo.upgrade.BootstrapUpgradeManagerImpl.runValidationTask(BootstrapUpgradeManagerImpl.java:134)
            at com.atlassian.bamboo.upgrade.BootstrapUpgradeManagerImpl.lambda$runValidationTasks$0(BootstrapUpgradeManagerImpl.java:93)
            at com.atlassian.bamboo.upgrade.AbstractUpgradeManager.forEachTask(AbstractUpgradeManager.java:151)
            at com.atlassian.bamboo.upgrade.BootstrapUpgradeManagerImpl.runValidationTasks(BootstrapUpgradeManagerImpl.java:93)
            at com.atlassian.bamboo.setup.DefaultBootstrapManager.runValidationTasks(DefaultBootstrapManager.java:373)
            at com.atlassian.bamboo.setup.DefaultBootstrapManager.performPersistenceUpgrade(DefaultBootstrapManager.java:277)
            at com.atlassian.config.bootstrap.DefaultAtlassianBootstrapManager.init(DefaultAtlassianBootstrapManager.java:77)
            at com.atlassian.bamboo.setup.BootstrapLoaderListener.contextInitialized(BootstrapLoaderListener.java:116)
            at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4842)
            at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5303)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
            at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1407)
            at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1397)
            at java.util.concurrent.FutureTask.run(FutureTask.java:266)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
            at java.lang.Thread.run(Thread.java:745)
            Caused by: com.atlassian.bamboo.upgrade.exception.ValidationException: Bamboo can't migrate Atlassian User repositories due to validation errors. Please refer to logs for more information.
            ... 21 more
            {noformat}

            h3. Notes
            The problem will happen as well if the filter is not using either objectCategory or objectClass like:
            {noformat}
            <userSearchFilter>(&amp;(sAMAccountName=*)(memberOf=CN=group,DC=test,DC=com))</userSearchFilter>
            {noformat}
            New: h3. Summary
            Upgrade will fail to migrate LDAP/AD configuration that uses objectCategory filter instead of objectClass

            h3. Steps to Reproduce
            # Configure Bamboo 6.5.1 to use LDAP/AD with objectCategory filter
            # Upgrade it to Bamboo 6.6.0

            h3. Expected Results
            Upgrade successfully migrate LDAP/AD configuration

            h3. Actual Results
            The below exception is thrown in the atlassian-bamboo.log file:
            {noformat}
            2018-06-26 16:36:19,095 ERROR [localhost-startStop-1] [LdapRepositoryConfigurationMigrator] Property groupSearchFilter does not define an objectClass filter
            2018-06-26 16:36:19,095 ERROR [localhost-startStop-1] [LdapRepositoryConfigurationMigrator] Property userSearchFilter does not define an objectClass filter
            2018-06-27 17:50:35,473 INFO [localhost-startStop-1] [AtlassianUserMigrator] Validated repository [hibernateRepository] with [com.atlassian.bamboo.upgrade.tasks.v6_6.ec.HibernateRepositoryConfigurationMigrator@51e45b33]
            2018-06-27 17:50:35,475 ERROR [localhost-startStop-1] [BootstrapUpgradeManagerImpl] Task 60601 failed
            java.lang.RuntimeException: com.atlassian.bamboo.upgrade.exception.ValidationException: Bamboo can't migrate Atlassian User repositories due to validation errors. Please refer to logs for more information.
            at com.atlassian.bamboo.upgrade.tasks.validation.AtlassianUserRepositoriesAreValid.lambda$doUpgrade$0(AtlassianUserRepositoriesAreValid.java:46)
            at com.atlassian.bamboo.upgrade.AbstractBootstrapUpgradeTask.withDatabaseConnection(AbstractBootstrapUpgradeTask.java:65)
            at com.atlassian.bamboo.upgrade.tasks.validation.AtlassianUserRepositoriesAreValid.doUpgrade(AtlassianUserRepositoriesAreValid.java:38)
            at com.atlassian.bamboo.upgrade.tasks.validation.AtlassianUserRepositoriesAreValid.doUpgrade(AtlassianUserRepositoriesAreValid.java:33)
            at com.atlassian.bamboo.upgrade.BootstrapUpgradeManagerImpl.runValidationTask(BootstrapUpgradeManagerImpl.java:134)
            at com.atlassian.bamboo.upgrade.BootstrapUpgradeManagerImpl.lambda$runValidationTasks$0(BootstrapUpgradeManagerImpl.java:93)
            at com.atlassian.bamboo.upgrade.AbstractUpgradeManager.forEachTask(AbstractUpgradeManager.java:151)
            at com.atlassian.bamboo.upgrade.BootstrapUpgradeManagerImpl.runValidationTasks(BootstrapUpgradeManagerImpl.java:93)
            at com.atlassian.bamboo.setup.DefaultBootstrapManager.runValidationTasks(DefaultBootstrapManager.java:373)
            at com.atlassian.bamboo.setup.DefaultBootstrapManager.performPersistenceUpgrade(DefaultBootstrapManager.java:277)
            at com.atlassian.config.bootstrap.DefaultAtlassianBootstrapManager.init(DefaultAtlassianBootstrapManager.java:77)
            at com.atlassian.bamboo.setup.BootstrapLoaderListener.contextInitialized(BootstrapLoaderListener.java:116)
            at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4842)
            at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5303)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
            at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1407)
            at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1397)
            at java.util.concurrent.FutureTask.run(FutureTask.java:266)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
            at java.lang.Thread.run(Thread.java:745)
            Caused by: com.atlassian.bamboo.upgrade.exception.ValidationException: Bamboo can't migrate Atlassian User repositories due to validation errors. Please refer to logs for more information.
            ... 21 more
            {noformat}

            h3. Notes
            The validation will correctly trigger if the filter is not using either objectCategory or objectClass like:
            {noformat}
            <userSearchFilter>(&amp;(sAMAccountName=*)(memberOf=CN=group,DC=test,DC=com))</userSearchFilter>
            {noformat}

            The fix for this bug will not change that. In this case, an objectClass or objectCategory should be added to the filter in the {{atlassian-user.xml}} to proceed with the upgrade.
            Marcin Gardias made changes -
            Labels New: bamboo-bugfix-kanban
            Foong (Inactive) made changes -
            Description Original: h3. Summary
            Upgrade will fail to migrate LDAP/AD configuration that uses objectCategory filter instead of objectClass

            h3. Steps to Reproduce
            # Configure Bamboo 6.5.1 to use LDAP/AD with objectCategory filter
            # Upgrade it to Bamboo 6.6.0

            h3. Expected Results
            Upgrade successfully migrate LDAP/AD configuration

            h3. Actual Results
            The below exception is thrown in the atlassian-bamboo.log file:
            {noformat}
            2018-06-26 16:36:19,095 ERROR [localhost-startStop-1] [LdapRepositoryConfigurationMigrator] Property groupSearchFilter does not define an objectClass filter
            2018-06-26 16:36:19,095 ERROR [localhost-startStop-1] [LdapRepositoryConfigurationMigrator] Property userSearchFilter does not define an objectClass filter
            2018-06-27 17:50:35,473 INFO [localhost-startStop-1] [AtlassianUserMigrator] Validated repository [hibernateRepository] with [com.atlassian.bamboo.upgrade.tasks.v6_6.ec.HibernateRepositoryConfigurationMigrator@51e45b33]
            2018-06-27 17:50:35,475 ERROR [localhost-startStop-1] [BootstrapUpgradeManagerImpl] Task 60601 failed
            java.lang.RuntimeException: com.atlassian.bamboo.upgrade.exception.ValidationException: Bamboo can't migrate Atlassian User repositories due to validation errors. Please refer to logs for more information.
            at com.atlassian.bamboo.upgrade.tasks.validation.AtlassianUserRepositoriesAreValid.lambda$doUpgrade$0(AtlassianUserRepositoriesAreValid.java:46)
            at com.atlassian.bamboo.upgrade.AbstractBootstrapUpgradeTask.withDatabaseConnection(AbstractBootstrapUpgradeTask.java:65)
            at com.atlassian.bamboo.upgrade.tasks.validation.AtlassianUserRepositoriesAreValid.doUpgrade(AtlassianUserRepositoriesAreValid.java:38)
            at com.atlassian.bamboo.upgrade.tasks.validation.AtlassianUserRepositoriesAreValid.doUpgrade(AtlassianUserRepositoriesAreValid.java:33)
            at com.atlassian.bamboo.upgrade.BootstrapUpgradeManagerImpl.runValidationTask(BootstrapUpgradeManagerImpl.java:134)
            at com.atlassian.bamboo.upgrade.BootstrapUpgradeManagerImpl.lambda$runValidationTasks$0(BootstrapUpgradeManagerImpl.java:93)
            at com.atlassian.bamboo.upgrade.AbstractUpgradeManager.forEachTask(AbstractUpgradeManager.java:151)
            at com.atlassian.bamboo.upgrade.BootstrapUpgradeManagerImpl.runValidationTasks(BootstrapUpgradeManagerImpl.java:93)
            at com.atlassian.bamboo.setup.DefaultBootstrapManager.runValidationTasks(DefaultBootstrapManager.java:373)
            at com.atlassian.bamboo.setup.DefaultBootstrapManager.performPersistenceUpgrade(DefaultBootstrapManager.java:277)
            at com.atlassian.config.bootstrap.DefaultAtlassianBootstrapManager.init(DefaultAtlassianBootstrapManager.java:77)
            at com.atlassian.bamboo.setup.BootstrapLoaderListener.contextInitialized(BootstrapLoaderListener.java:116)
            at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4842)
            at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5303)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
            at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1407)
            at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1397)
            at java.util.concurrent.FutureTask.run(FutureTask.java:266)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
            at java.lang.Thread.run(Thread.java:745)
            Caused by: com.atlassian.bamboo.upgrade.exception.ValidationException: Bamboo can't migrate Atlassian User repositories due to validation errors. Please refer to logs for more information.
            ... 21 more
            {noformat}
            New: h3. Summary
            Upgrade will fail to migrate LDAP/AD configuration that uses objectCategory filter instead of objectClass

            h3. Steps to Reproduce
            # Configure Bamboo 6.5.1 to use LDAP/AD with objectCategory filter
            # Upgrade it to Bamboo 6.6.0

            h3. Expected Results
            Upgrade successfully migrate LDAP/AD configuration

            h3. Actual Results
            The below exception is thrown in the atlassian-bamboo.log file:
            {noformat}
            2018-06-26 16:36:19,095 ERROR [localhost-startStop-1] [LdapRepositoryConfigurationMigrator] Property groupSearchFilter does not define an objectClass filter
            2018-06-26 16:36:19,095 ERROR [localhost-startStop-1] [LdapRepositoryConfigurationMigrator] Property userSearchFilter does not define an objectClass filter
            2018-06-27 17:50:35,473 INFO [localhost-startStop-1] [AtlassianUserMigrator] Validated repository [hibernateRepository] with [com.atlassian.bamboo.upgrade.tasks.v6_6.ec.HibernateRepositoryConfigurationMigrator@51e45b33]
            2018-06-27 17:50:35,475 ERROR [localhost-startStop-1] [BootstrapUpgradeManagerImpl] Task 60601 failed
            java.lang.RuntimeException: com.atlassian.bamboo.upgrade.exception.ValidationException: Bamboo can't migrate Atlassian User repositories due to validation errors. Please refer to logs for more information.
            at com.atlassian.bamboo.upgrade.tasks.validation.AtlassianUserRepositoriesAreValid.lambda$doUpgrade$0(AtlassianUserRepositoriesAreValid.java:46)
            at com.atlassian.bamboo.upgrade.AbstractBootstrapUpgradeTask.withDatabaseConnection(AbstractBootstrapUpgradeTask.java:65)
            at com.atlassian.bamboo.upgrade.tasks.validation.AtlassianUserRepositoriesAreValid.doUpgrade(AtlassianUserRepositoriesAreValid.java:38)
            at com.atlassian.bamboo.upgrade.tasks.validation.AtlassianUserRepositoriesAreValid.doUpgrade(AtlassianUserRepositoriesAreValid.java:33)
            at com.atlassian.bamboo.upgrade.BootstrapUpgradeManagerImpl.runValidationTask(BootstrapUpgradeManagerImpl.java:134)
            at com.atlassian.bamboo.upgrade.BootstrapUpgradeManagerImpl.lambda$runValidationTasks$0(BootstrapUpgradeManagerImpl.java:93)
            at com.atlassian.bamboo.upgrade.AbstractUpgradeManager.forEachTask(AbstractUpgradeManager.java:151)
            at com.atlassian.bamboo.upgrade.BootstrapUpgradeManagerImpl.runValidationTasks(BootstrapUpgradeManagerImpl.java:93)
            at com.atlassian.bamboo.setup.DefaultBootstrapManager.runValidationTasks(DefaultBootstrapManager.java:373)
            at com.atlassian.bamboo.setup.DefaultBootstrapManager.performPersistenceUpgrade(DefaultBootstrapManager.java:277)
            at com.atlassian.config.bootstrap.DefaultAtlassianBootstrapManager.init(DefaultAtlassianBootstrapManager.java:77)
            at com.atlassian.bamboo.setup.BootstrapLoaderListener.contextInitialized(BootstrapLoaderListener.java:116)
            at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4842)
            at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5303)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
            at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1407)
            at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1397)
            at java.util.concurrent.FutureTask.run(FutureTask.java:266)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
            at java.lang.Thread.run(Thread.java:745)
            Caused by: com.atlassian.bamboo.upgrade.exception.ValidationException: Bamboo can't migrate Atlassian User repositories due to validation errors. Please refer to logs for more information.
            ... 21 more
            {noformat}

            h3. Notes
            The problem will happen as well if the filter is not using either objectCategory or objectClass like:
            {noformat}
            <userSearchFilter>(&amp;(sAMAccountName=*)(memberOf=CN=group,DC=test,DC=com))</userSearchFilter>
            {noformat}
            Jeremy Owen made changes -
            Symptom Severity Original: Critical [ 14430 ] New: Major [ 14431 ]

              glewandowski Grzegorz Lewandowski
              klfoong Foong (Inactive)
              Affected customers:
              2 This affects my team
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: