Errors in upgrade to rt-4.2

Hi,

We failed in upgrading RT from 4.0.5 with RTIR 2.6.1 to 4.2 with the following error. Please help.

mysql Ver 14.14 Distrib 5.1.69, for redhat-linux-gnu (x86_64) using readline 5.1
This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi

Congratulations. RT has been upgraded. You should now check over
/opt/rt4/etc/RT_Config.pm for any necessary site customization. Additionally,
you should update RT’s system database objects by running
make upgrade-database
[root@supporttest rt-4.2.0rc1]# make upgrade-database
/usr/bin/perl -I/opt/rt4/local/lib -I/opt/rt4/lib sbin/rt-setup-database --action upgrade --prompt-for-dba-password
In order to create or update your RT database, this script needs to connect to your mysql instance on localhost (port ‘’) as root
Please specify that user’s database password below. If the user has no database
password, just press return.

Password:
Working with:
Type: mysql
Host: localhost
Port:
Name: rt4
User: rt_user
DBA: root
Enter RT version you’re upgrading from: 4.0.5

Going to apply following upgrades:

  • 4.0.6
  • 4.0.9
  • 4.0.12
  • 4.0.13
  • 4.1.0
  • 4.1.1
  • 4.1.4
  • 4.1.5
  • 4.1.6
  • 4.1.7
  • 4.1.8
  • 4.1.9
  • 4.1.10
  • 4.1.11
  • 4.1.12
  • 4.1.13
  • 4.1.14
  • 4.1.15
  • 4.1.16
  • 4.1.17
  • 4.1.18
  • 4.1.19
  • 4.1.20
  • 4.1.21
  • 4.1.22
  • 4.1.23

Enter RT version if you want to stop upgrade at some point,
or leave it blank if you want apply above upgrades:

IT’S VERY IMPORTANT TO BACK UP BEFORE THIS STEP

Proceed [y/N]:y
Processing 4.0.6
Now populating database schema.
[8932] [Thu Sep 12 20:27:33 2013] [critical]: Can’t wrap non-existent subroutine RT::Queue::HasRight at /temp/rt-4.2.0rc1/sbin/…/lib/RT.pm line 730.
Compilation failed in require at /temp/rt-4.2.0rc1/sbin/…/lib/RT.pm line 730. (/temp/rt-4.2.0rc1/sbin/…/lib/RT.pm:391)
Trace begun at /temp/rt-4.2.0rc1/sbin/…/lib/RT.pm line 295
Log::Dispatch::ANON(‘Log::Dispatch=HASH(0x349c490)’, ‘Can’t wrap non-existent subroutine RT::Queue::HasRight at /temp/rt-4.2.0rc1/sbin/…/lib/RT.pm line 730.^JCompilation failed in require at /temp/rt-4.2.0rc1/sbin/…/lib/RT.pm line 730.^J’) called at /temp/rt-4.2.0rc1/sbin/…/lib/RT.pm line 391
RT::ANON(‘Can’t wrap non-existent subroutine RT::Queue::HasRight at /temp/rt-4.2.0rc1/sbin/…/lib/RT.pm line 730.^JCompilation failed in require at /temp/rt-4.2.0rc1/sbin/…/lib/RT.pm line 730.^J’) called at /temp/rt-4.2.0rc1/sbin/…/lib/RT.pm line 731
RT::InitPlugins at /temp/rt-4.2.0rc1/sbin/…/lib/RT.pm line 194
RT::Init at sbin/rt-setup-database line 345
main::action_insert(‘prompt-for-dba-password’, 1, ‘datafile’, undef, ‘action’, ‘upgrade’, ‘datadir’, ‘./etc/upgrade/4.0.6’, ‘backcompat’, ‘ARRAY(0xb470c8)’, ‘package’, ‘RT’) called at sbin/rt-setup-database line 549
main::action_upgrade(‘prompt-for-dba-password’, 1, ‘action’, ‘upgrade’, ‘package’, ‘RT’) called at sbin/rt-setup-database line 201
Can’t wrap non-existent subroutine RT::Queue::HasRight at /temp/rt-4.2.0rc1/sbin/…/lib/RT.pm line 730.
Compilation failed in require at /temp/rt-4.2.0rc1/sbin/…/lib/RT.pm line 730.
make: *** [upgrade-database] Error 255

Thanks,
Qiao

We failed in upgrading RT from 4.0.5 with RTIR 2.6.1 to 4.2 with the following error. Please help.

I’m confused how you’re running 4.0.5 with RTIR 2.6.1, since that
version isn’t compatible with RT 4 (RTIR 3.0.0 is the compatible
version).

That old RTIR version appears to be the source of this error as well.

[8932] [Thu Sep 12 20:27:33 2013] [critical]: Can’t wrap non-existent subroutine
RT::Queue::HasRight at /temp/rt-4.2.0rc1/sbin/…/lib/RT.pm line 730.
Compilation failed in require at /temp/rt-4.2.0rc1/sbin/…/lib/RT.pm line 730.
(/temp/rt-4.2.0rc1/sbin/…/lib/RT.pm:391)

There are some pretty big changes between RT 3.8 (what RTIR 2.6.1 was
designed to work with) and RT 4.2. We’ll be releasing RTIR 3.2.0 to
be compatible with RT 4.2, but not until after the official 4.2.0
ships.

-kevin

Hi,
Sorry I could not figure out how to reply to existing message, if this creats a new ticket.

If say I have RT 3 and RTIR 2.6 running currently. Since RTIR 2.6 works with RT3 and RTIR 3.0 only works with RT 4. How can I upgrade my current system? If I upgrade RT to RT 4 first, then the current RTIR 2.6 will not be compatible with RT 4. If I upgrade RTIR to 3.0 first, then it requires RT 4 but my current RT system is 3.

A fresh install of RT4 and RTIR 3.0 will work. But how can I migrate the data in the old system over to the new system?

Maybe I am missing something here. Please advice.

Thank you for any help.
Best wishes,
Qiao Xin

Hi,
Sorry I could not figure out how to reply to existing message, if this
creats a new ticket.

If say I have RT 3 and RTIR 2.6 running currently. Since RTIR 2.6 works
with RT3 and RTIR 3.0 only works with RT 4. How can I upgrade my current
system? If I upgrade RT to RT 4 first, then the current RTIR 2.6 will not
be compatible with RT 4. If I upgrade RTIR to 3.0 first, then it requires
RT 4 but my current RT system is 3.

A fresh install of RT4 and RTIR 3.0 will work. But how can I migrate the
data in the old system over to the new system?

Like you tried to upgrade to 4.2, but instead you download RTIR 3.0.x and
RT 4.0.x, upgrade RT to 4.0.x, upgrade RTIR to 3.0 following corresponding
upgrade instructions.

Maybe I am missing something here. Please advice.

Thank you for any help.
Best wishes,
Qiao Xin


RT Training in New York, October 8th and 9th:
http://bestpractical.com/training

Best regards, Ruslan.

Thank both of you very much for the reply.

According to the reply from Kevin: “I’m confused how you’re running 4.0.5 with RTIR 2.6.1, since that
version isn’t compatible with RT 4 (RTIR 3.0.0 is the compatible
version).”

After I upgrade RT to 4.0.x but before I upgrade RTIR, I will end up with RT 4.0.x with RTIR 2.6.1. Will the system still be able to run? How can tell the RT upgrade works fine?

Like you tried to upgrade to 4.2, but instead you download RTIR 3.0.x and RT 4.0.x, upgrade RT to 4.0.x, upgrade RTIR to 3.0 following corresponding upgrade instructions.

Thanks again.

Best regards,
Qiao

Thank both of you very much for the reply.

According to the reply from Kevin: “I’m confused how you’re running
4.0.5 with RTIR 2.6.1, since that
version isn’t compatible with RT 4 (RTIR 3.0.0 is the compatible
version).”

After I upgrade RT to 4.0.x but before I upgrade RTIR, I will end up
with RT 4.0.x with RTIR 2.6.1. Will the system still be able to run? How
can tell the

RT part should be able to do basic things, RTIR has some hooks inserted
into RT, but not so many to prevent everything from working. However, you
should not use such setup in production.

RT upgrade works fine?

You can bring up RT web interface and play around with read only parts.

Anyway, upgrades across major versions should be performed with test runs,
do test run, document every step, play with every aspect important to you,
repeat all steps during cut over.


Like you tried to upgrade to 4.2, but instead you download RTIR 3.0.x
and RT 4.0.x, upgrade RT to 4.0.x, upgrade RTIR to 3.0 following
corresponding upgrade instructions.

Thanks again.

Best regards,
Qiao


RT Training in New York, October 8th and 9th:
http://bestpractical.com/training

Best regards, Ruslan.

Thank both of you  very much for the reply.

According to the reply from Kevin: "I'm confused how you're
running 4.0.5 with RTIR 2.6.1, since that
version isn't compatible with RT 4 (RTIR 3.0.0 is the compatible
version)."

 After I upgrade RT to 4.0.x but before I upgrade RTIR, I will end
up with RT 4.0.x with RTIR 2.6.1. Will the system still be able to
run? How can tell the

RT part should be able to do basic things, RTIR has some hooks
inserted into RT, but not so many to prevent everything from working.
However, you should not use such setup in production.

RT upgrade works fine?

You can bring up RT web interface and play around with read only parts.

Anyway, upgrades across major versions should be performed with test
runs, do test run, document every step, play with every aspect
important to you, repeat all steps during cut over.

And as far as I am aware RT4.2 is still Beta, well - release candidate,
but still Beta. Therefore you shouldn’t really be upgrading to it as
moving from release candidate to a higher version is not guaranteed
possible.

Regards,

Giles Coochey, CCNP, CCNA, CCNAS
NetSecSpec Ltd
+44 (0) 8444 780677
+44 (0) 7983 877438
http://www.coochey.net
http://www.netsecspec.co.uk
giles@coochey.net

smime.p7s (4.64 KB)

And as far as I am aware RT4.2 is still Beta, well - release candidate, but still Beta.
Therefore you shouldn’t really be upgrading to it as moving from release candidate to a higher
version is not guaranteed possible.

To be clear - while we don’t recommend running rc1 in production,
we’re doing it (see http://issues.bestpractical.com) so there will be
some sort of upgrade step.

For most folks, we recommend a test upgrade on a VM to help sort out
any bugs early.

-kevin