FTS Server Upgrade 1.4 to 1.5 for LCG service

This assumes you are running the latest 1.4 FTS version and describes how to upgrade the service to FTS 1.5. It is not recommended to upgrade from any other release, nor to apply cumulative upgrades from the earlier releases (instead make a clean install FtsServerInstall15).

Read through all the steps first.

Changes from release 1.4 are described in FtsChangesFrom13To14.


Are the same as for your current 1.4 version, see FtsServerInstall14 and FtsServerInstall15; the deployment model is the same. It is recommended to split the FTS web-service onto a different box from the FTA transfer agents for scalability.

Make sure you know the Grid dependencies

The Grid dependencies are the same as in 1.4, see FtsServerInstall14 and FtsServerInstall15.

You should ensure that all the SRM you plan to contact are published correctly in BDII.

Set nodes to maintenacne


  • Set nodes to SMS state maintenance
  • Ensure that the TOMCAT_WRONG alarm and actuator is disabled.
  • Inform the operators.

Or do the equivalent on your site to signal a service intervention.

Stop the servers

Stop the agents and tomcat servers on all machines.

service tomcat5 stop

/opt/glite/etc/config/scripts/glite-file-transfer-agents-config.py --stop

Make sure they are stopped:

ps aux | grep j2
ps aux | grep glite

should produce nothing except the grep.

Remove any other open sessions you may have to the DB account.

Clean tomcat directories

Not always necessary, but recommended. Archive the logs first, if needed.

rm -rf /usr/share/tomcat5/webapps/site-fts/

rm -rf /usr/share/tomcat5/work/

rm -rf /usr/share/tomcat5/logs/*

rm -f /etc/tomcat5/Catalina/localhost/*glite*

Clean the agent logfiles

Backup if you want first.

rm -rf /var/log/glite/

rm -rf /var/tmp/glite-url-copy-sc3/

assuming the user you used was the recommended sc3 user.

Clean up the old config

Since the configuration mechanism has entirely changes, you are strongly recommended to remove the all old gLite config files in /opt/glite/etc/.

At any rate you MUST delete the old intermediate agent config files with pattern:

  • /opt/glite/etc/*glite-transfer*
  • /opt/glite/etc/watchdog.d/*

Update the RPMs

Upgrade issues

There are a couple of traps here:

  • MyProxy. When using apt, the EGEE version used in 1.4 will be kept in preference to the VDT version which is required for 1.5. They are binary incompatible so having the incorrect MyProxy library will cause the FTA agent daemons to segment fault.
  • service-discovery. If you did any upgrade from 1.4 to the Christmas version of gLite release 1.5, there was a problem with an interface change in service discovery glite 3.0 which was made without the corresponding RPM number increase. apt does not update the RPMs and this will also cause a segmentation fault when the agent tries to do some work. If you are unsure whether you have this problem, you should assume that you do.

The quick workaround for these problems is to point at the 3.0 apt repository and do a hard:

rpm -qa | grep -i myproxy rpm -qa | grep service-discovery

removing these RPMs with the --nodeps option.

Then ask apt to upgrade as specified below. You may need the -f option to repair your distribution.

Any suggestions for making this procedure cleaner are appreciated. Please send suggestions on a postcard and/or email smile

Upgrading via apt

Migrate the web-service config


Keep a backup of the old configuration file:

cp -f /opt/glite/etc/config/glite-file-transfer-service-oracle.cfg.xml /opt/glite/etc/config/glite-file-transfer-service-oracle.cfg.xml.backupcopy

and of services.xml:

cp -f /opt/glite/etc/services.xml /opt/glite/etc/services.xml.mybackup


And run the migration script (note the script only works with CWD as below):

cd /opt/glite/etc/config/

./scripts/fts-config-migrator-1.3-1.4.py glite-file-transfer-service-oracle.cfg.xml

note that this will connect to the database and will autonatically upgrade the schema from 2.0.0 or 2.0.1 to 2.1.0.

This may take some time if you have a large number of entries in the database!

The new config file will be called:


Note that the result is not so 'pretty' as if you ran a fresh install (it uses XSLT to convert the old file, and the XML comments are not copied). Compare with the template /opt/glite/etc/config/templates/glite-file-transfer-service.cfg.xml and read the official gLite install guide for a more detailed description of each config element.

Change to the writer account (for CERN)

Prepare the account grants and writer account synonyms to use the writer account, and change the account name in the new config file (/opt/glite/etc/config/templates/glite-file-transfer-service.cfg.xml) to use the new account.

For preparing the grants, see FtsServer14WriterAccount.

Configure the web-service

Run the configure script with the new config:

/opt/glite/etc/config/scripts/glite-file-transfer-service-config.py --configure


The service endpoint is auto-generated and cannot be overridden - and is different from the 1.3 service (bug #12749). If this is a problem for your existing users apply FtsRelease14Workarounds ("Endpoint has changed from release 1.3").

The statistics collection part of the web-service is not configurable currently. To do this now, apply FtsRelease14Workarounds ("Stats collection is not configurable").

Migrate the agent config

This script should be run on every machine that runs agents.


Keep a backup of the old file:

cp -f glite-data-transfer-agents-oracle.cfg.xml glite-data-transfer-agents-oracle.cfg.xml.backupcopy


And run the migration script (note you must be in the CWD below):

cd /opt/glite/etc/config/

/opt/glite/etc/config/scripts/fta-config-migrator-1.3-1.4.py \
     /opt/glite/etc/config/glite-data-transfer-agents-oracle.cfg.xml \

This will create the new config file:


All the agents defined in the old config file will be migrated to the new one. Again the formatting is not quite as pretty as the real template file /opt/glite/etc/config/templates/glite-file-transfer-agents.cfg.xml, but the template comments are copied over by the script.

Note the difference in the agent defintion format. Each agent type is defined - one of urlcopy, srmcopy, fts, or fps - with default paramters that apply to all instances of that type. Defining an instance is the simple matter of entering a line with the name of the agent and its type. It will then inherit all the default parameters of that type, although you can override any of the parameters per agent if you wish. Note that the config migration script should copy your settings from the old config file - i.e. if you are using non-default settings for a given agent, these will be copied into the agent description in the new config file.

Change to the writer account (for CERN)

Change the account name in the new config file (/opt/glite/etc/config/glite-file-transfer-agents.cfg.xml) to use the new account.

Configure the agents

Run the config script:

/opt/glite/etc/config/scripts/glite-file-transfer-agents-config.py --configure

Remove the unofficial 1.3 sysV service script

In 1.4 FTS now uses the official gLite mechanism for starting and stopping the service daemons. You should remove the SysV script that was provided in 1.3.

chkconfig --del glite-data-transfer-agents
rm -f /etc/init.d/glite-data-transfer-agents
rm -f /etc/logrotate.d/glite-data-transfer-agents

Start the services

Start the web-service:

/opt/glite/etc/config/scripts/glite-file-transfer-service-config.py --start

(on every box they are configured on), start the agents:

/opt/glite/etc/config/scripts/glite-file-transfer-agents-config.py --start

All services mau be started using the gLite meta SysV script.

service gLite start

which will start the web-service daemon and all agent daemons.

Last edit: FlaviaDonno on 2007-02-02 - 10:03

Number of topics: 1

Maintainer: GavinMcCance

Edit | Attach | Watch | Print version | History: r5 | r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r1 - 2006-05-03 - GavinMcCance
    • 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.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback