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.

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().

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 - 27 Mar 2007

Edit | Attach | Watch | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r2 - 2007-03-27 - 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-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback