Upgrade to Confluence 3.5 with JIRA User Management Fails
症状
If Confluence was using JIRA for user management for JIRA version 4.2.x or earlier, and the modified atlassian-user.xml
and osuser.xml
were copied to Confluence 3.5 installation directory before the upgrade, the upgrade will fail. The following appears in the atlassian-confluence.log
:
2011-03-17 22:23:42,930 ERROR [main] [atlassian.confluence.upgrade.UpgradeLauncherServletContextListener] contextInitialized Upgrade failed, application will not start: java.lang.UnsupportedOperationException: Unrecognised user management configuration can not be upgraded.
com.atlassian.confluence.upgrade.UpgradeException: java.lang.UnsupportedOperationException: Unrecognised user management configuration can not be upgraded.
In Confluence 3.5.1 and above, the following appears in the atlassian-confluence.log
:
2011-03-29 17:28:47,699 ERROR [main] [confluence.upgrade.upgradetask.OSUserToEmbeddedCrowdMigrationUpgradeTask] generateUpgradeError Detected JIRA User Management in OSUser configuration file. This instance cannot be upgraded automatically. See http://confluence.atlassian.com/x/ZAEMDg
2011-03-29 17:28:47,729 ERROR [main] [atlassian.confluence.upgrade.UpgradeLauncherServletContextListener] contextInitialized Upgrade failed, application will not start: OSUser to Embedded Crowd pre upgrade validation failed.
com.atlassian.confluence.upgrade.UpgradeException: OSUser to Embedded Crowd pre upgrade validation failed.
診断
Check osuser.xml
. You should see the xml block with the connection to JIRA uncommented (that is, without the <!- and -> tags):
<provider class="bucket.user.providers.CachingCredentialsProvider">
<property name="chain.classname">com.atlassian.confluence.user.providers.jira.JiraJdbcCredentialsProvider</property>
<property name="chain.datasource">java:comp/env/jdbc/JiraDS</property>
</provider>
<provider class="bucket.user.providers.CachingAccessProvider">
<property name="chain.classname">com.atlassian.confluence.user.providers.jira.JiraJdbcAccessProvider</property>
<property name="chain.datasource">java:comp/env/jdbc/JiraDS</property>
</provider>
<provider class="bucket.user.providers.CachingProfileProvider">
<property name="chain.classname">com.atlassian.confluence.user.providers.jira.JiraJdbcProfileProvider</property>
<property name="chain.datasource">java:comp/env/jdbc/JiraDS</property>
<property name="chain.configuration.provider.class">bucket.user.BucketHibernateConfigProvider</property>
</provider>
原因
Confluence 3.5 cannot automatically upgrade configurations using JIRA User Management.
ソリューション
Upgrade to 3.5 using a default OSUser configuration
- If upgrading to 3.5 (not 3.5.1+): Restore your home directory and database.
- You do not need to revert if you are upgrading to Confluence 3.5.1 or newer for this issue.
- Download the default
osuser.xml
and put this in/confluence/WEB-INF/classes/
instead of the one containing your JIRA user management configuration. - Put your
atlassian-user.xml
file in/confluence/WEB-INF/classes/
too. - Start Confluence 3.5.x with this corrected configuration. It will start up with the users and groups you had in Confluence prior to setting up JIRA user management system.
Set up JIRA user management via the Confluence UI
- Confluence で Jira ユーザー管理を設定する前に使用していた管理ユーザー名とパスワードを使用して、Confluence 3.5.x にログインします (Confluence はまだ Jira を指すように設定されていないため、Jira 認証情報は機能しません)。
- If you cannot remember or do not have a password which allows you to log in, reset the administrator's password in the database and restart Confluence to log in.
- Log in to Confluence, configure your JIRA user management via the User Directories option in the administration area.
- Reorder the directories so the JIRA directory is first. Your users will now be able to log in with their JIRA username and password.
- If you don't want to keep the internal directory enabled, log in as a JIRA user who also has admin permissions. You can then disable the internal directory.
Last modified on Mar 30, 2016
Powered by Confluence and Scroll Viewport.