DPM upgrade to >= 1.6.4

Below, all the steps needed to upgrade the DPM from version < 1.6.4 to version >= 1.6.4.

If you use YAIM to upgrade, everything is done automatically, and you don't need to do the following steps

Stop all daemons

In the following order, on the appropriate machines:

  • service dpm-gsiftp stop on all disk servers
  • service srmv2.2 stop on the SRM host
  • service srmv2 stop on the SRM host
  • service srmv1 stop on the SRM host
  • service dpm stop on the DPM host
  • service rfiod stop on all the disk servers
  • service dpnsdaemon stop on the DPNS host

Install the new RPMs

All of them, on the appropriate node(s):

  • DPM-server
  • DPM-name-server
  • DPM-srm-server
  • DPM-rfio-server
  • DPM-gridftp-server
  • DPM-client

Database backup

IMPORTANT

As the migration script modifies the database content, we highly recommend that you take a backup of the DPM database before running the migration script. Please backup the dpm_db database beforehand.

Run the migration script

To support secondary groups, a database schema change is needed. The migration script is included in the DPM-name-server RPM.

Requirements:

  • Perl-DBD (for Mysql or Oracle)
  • Perl-DBI

NOTE Depending of the number of entries in the database, the script takes more or less time. So, be patient !

Example for a Mysql DPM

$ ./dpm_secondary_groups --db-vendor MySQL --db localhost --user dpm --pwd-file /root/pwd --dpm-db dpm_db --verbose

Example for an Oracle DPM

$ ./dpm_secondary_groups --db-vendor Oracle --db devdb --user sophie --pwd-file /root/pwd --verbose

Troubleshooting

Error when running the script twice

The script should be run only once. If you run it twice, the following error will appear:

$ ./dpm_secondary_groups --db-vendor MySQL --db localhost --user dpm --pwd-file /root/pwd --dpm-db dpm_db --verbose
Tue Mar 27 10:49:24 2007 : Starting to update the DPNS/DPM database.
Please wait...
failed to query and/or update the DPM database : DBD::mysql::db do failed: Duplicate column name 'groups' at UpdateDpmDatabase.pm line 59.
Issuing rollback() for database handle being DESTROY'd without explicit disconnect().

Error on rename

We believe the following error Error on rename is due to a bug in Mysql.

failed: Error on rename of './dpm_db/#sql-4083_25' to './dpm_db/dpm_pool' (errno: 150) 
at UpdateDpmDatabase.pm line 118.
Issuing rollback() for database handle being DESTROY'd without explicit disconnect().
Issuing rollback() for database handle being DESTROY'd without explicit disconnect().

You should:

  • drop the foreign key
  • run the script again
  • re-create the foreign key

mysql> use dpm_db;
mysql> alter table dpm_fs drop foreign key fk_fs;

$ ./dpm_secondary_groups --db-vendor MySQL --db localhost --user dpm --pwd-file /root/pwd --dpm-db dpm_db --verbose

mysql> alter table dpm_fs add CONSTRAINT fk_fs FOREIGN KEY (poolname) REFERENCES dpm_pool (poolname); 

Undefined subroutine

You get:

Undefined subroutine &UpdateDpmDatabase::modify_dpm_db_before_updating_fields_mysql 
called at ./dpm_secondary_groups line 113.

To solve this, you should (re)define the $PERLLIB environment variable:

$ export PERLLIB=/opt/lcg/share/DPM/dpm-secondary-groups:$PERLLIB

Restart the daemons

  • service dpnsdaemon start on the DPNS host
  • service rfiod start on all the disk servers
  • service dpm start on the DPM host
  • service srmv1 start on the SRM host
  • service srmv2 start on the SRM host
  • service srmv2.2 start on the SRM host
  • service dpm-gsiftp start on all disk servers

-- SophieLemaitre - 19 Jun 2007

Edit | Attach | Watch | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r4 - 2007-06-19 - SophieLemaitre
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    LCG All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback