Dumpfile-to-rt-3.0 fails (rt2-to-rt3-1.23) "Could not create a new user"

Hi,

It is my task to migrate RT 1.0.1. from an old host to RT 3.4.1 on a new host.
Therefore I dumped the rt1 mysql database on the oldhost and copied it together with the transactions
to the newhost. On newhost i impored the rt1 mysql dump and after installing rt2 i ran import-1.0-to-2.0.
=> rt-2-0-15 runs well now.

I installed rt-3.4.1 fine as well.
To import the rt2 data into rt3 a did this:

mysql> drop database rt3;
shell> /prod/rt/perl/bin/perl /prod/rt/rt3/sbin/rt-setup-database -action init --dba root --prompt-for-dba-password

Then I have had no problems while running rt-2.0-to-dumpfile.
But when I ran “dumpfile-to-rt-3.0 dumpdir” I got this kind of errors:

Importing users
uCreating user Unnamed user 20408
.[Tue Feb 22 14:01:32 2005] [error]: Could not create a new user - (/prod/rt/rt3/lib/RT/User_Overlay.pm:267)
Failed to create user for$VAR1 = {
‘CryptedPassword’ => undef,
‘Name’ => ‘Unnamed user 20408’
};
uCreating user Unnamed user 4805
.[Tue Feb 22 14:01:32 2005] [error]: Could not create a new user - (/prod/rt/rt3/lib/RT/User_Overlay.pm:267)
Failed to create user for$VAR1 = {
‘CryptedPassword’ => undef,
‘Name’ => ‘Unnamed user 4805’
};

This type of error repeats about 26006 times

rCouldn’t load principal to grant them SuperUser globally
$VAR1 = {
‘PrincipalType’ => ‘User’,
‘PrincipalId’ => ‘1’,
‘Name’ => ‘SuperUser’
};
[Tue Feb 22 14:39:25 2005] [crit]: 1 (/prod/rt/rt3/lib/RT/ACE_Overlay.pm:915)
[Tue Feb 22 14:39:25 2005] [crit]: Can’t load a principal for id (/prod/rt/rt3/lib/RT/ACE_Overlay.pm:916)
rCouldn’t load principal to grant them SuperUser globally
$VAR1 = {
‘PrincipalType’ => ‘User’,
‘PrincipalId’ => ‘2’,
‘Name’ => ‘SuperUser’
};
[Tue Feb 22 14:39:25 2005] [crit]: 1 (/prod/rt/rt3/lib/RT/ACE_Overlay.pm:915)
[Tue Feb 22 14:39:25 2005] [crit]: Can’t load a principal for id (/prod/rt/rt3/lib/RT/ACE_Overlay.pm:916)
r[Tue Feb 22 14:39:25 2005] [crit]: 1 (/prod/rt/rt3/lib/RT/ACE_Overlay.pm:915)
[Tue Feb 22 14:39:25 2005] [crit]: Can’t load a principal for id (/prod/rt/rt3/lib/RT/ACE_Overlay.pm:916)
rCouldn’t load principal to grant them SuperUser globally
$VAR1 = {
‘PrincipalType’ => ‘User’,
‘PrincipalId’ => ‘4’,
‘Name’ => ‘SuperUser’
};

The resulting rt3 database does only contain a few users in the Users table
and no data in the Ticket table.

I have got no clue how to solve this problem nor what might
be the cause. Any ideas why this fails?
Please let me know if you need to know further details.

details:

oldhost
Request Tracker version 1.0.1. whith about 37375 tickets

perl v5.6.1

Your MySQL connection id is 375 to server version: 3.22.29
mysql Ver 11.18 Distrib 3.23.56, for sun-solaris2.8 (sparc)

newhost
Request Tracker version 3.4.1 and 2.0.15 for migration of rt1 data

perl v5.8.5

Your MySQL connection id is 382 to server version: 4.1.7
mysql Ver 14.7 Distrib 4.1.7, for sun-solaris2.8 (sparc)

Jodok Ole Muellers
Internet Software Systems Engineer
UUNet/MCI EMEA Server & Service Management

This is caused by the new version of DBIx::SearchBuilder that RT 3.4.1
requires. From the README:
Create a directory to hold your RT2 database dump. here we’ll refer to it as
DIRNAME. Anywhere you see the string “DIRNAME”, replace it with the path to
your directory.

Tell rt-2.0-to-dumpfile where your RT libraries live. (Edit the ‘use
lib’ lines)

Execute:
rt-2.0-to-dumpfile DIRNAME

DIRNAME will now contain one file called “metadata” and one subdirectories
which contain about 1000 files, 1 file per ticket.

Install rt3. Let it set up your rt3 database.

Tell dumpfile-to-rt-3.0 where your RT libraries live. (Edit the ‘use
lib’ lines)

You must do the dump before installing 3.x so that it won’t use the
newer DBIx::SearchBuilder. I do not know if that will work right into
an RT 3.4.x install. There are database schema changes from the 3.2
series to the 3.4 series. You might be better off dumping from RT2,
installing RT 3.2.3, importing the data, then upgrading to 3.4.1.

DB

Jodok Ole Muellers wrote:

Hi,

Thanks a lot for the tip!

Unfortunately I am using the same perl+modules for both
rt2 and rt3 installation.

So I guess I first have to downgrade DBIx::SearchBuilder, right??
But to what version? I am currently using SearchBuilder.pm Version 1.12.
Since what version it is called the the “newer” DBIx::SearchBuilder ?

Secondly I have to use a 3.2.x instead of 3.4.1 version to be able
to import the rt2 into rt3, right?

What are the recommended versions of rt and DBIx::SearchBuilder
to be able to import rt2 data into rt3?

best regards, jodokOn Fri, 04 Mar 2005 08:52:33 -0500 Drew Barnes barnesaw@ucrwcu.rwc.uc.edu wrote:

This is caused by the new version of DBIx::SearchBuilder that RT 3.4.1
requires. From the README:
You must do the dump before installing 3.x so that it won’t use the
newer DBIx::SearchBuilder. I do not know if that will work right into
an RT 3.4.x install. There are database schema changes from the 3.2
series to the 3.4 series. You might be better off dumping from RT2,
installing RT 3.2.3, importing the data, then upgrading to 3.4.1.

What are the recommended versions of rt and DBIx::SearchBuilder
to be able to import rt2 data into rt3?

I’m not 100% sure on this. There has been a lot of discussion of this
on the various mailing lists. A Google search for dumpfile-to-rt3
should bring up some hits for you to look through and see if this is
answered there.

Unfortunately I am using the same perl+modules for both
rt2 and rt3 installation.

This is why you need to dump using rt2 before you install rt3.

So I guess I first have to downgrade DBIx::SearchBuilder, right??
But to what version? I am currently using SearchBuilder.pm Version 1.12.

Since what version it is called the the “newer” DBIx::SearchBuilder ?

Secondly I have to use a 3.2.x instead of 3.4.1 version to be able
to import the rt2 into rt3, right?

It may not be necessary, but it would probably be safest. I know from
my experience that this works.