FYI
be ware that the same error may be related to VO SW dir sft errors,
Cheers,
Kostas
-------- Original Message --------
Subject: [Egee-sa1-tech]
bring-havoc-to-an-lcg-cluster-with-one-letter-HOWTO
Date: Fri, 11 Nov 2005 02:45:10 +0200
From: Fotis Georgatos <[log in to unmask]>
Organization: CERN/NTUA
To: LCG-ROLLOUT <[log in to unmask]>
CC: South East Europe SA1-TECH <[log in to unmask]>
ok, this comedy is real, and it did happen to us (GR-03-HEPNTUA):
if you go at the very last worker node of your LCG cluster
(the one that will get next incoming jobs) and create a file, any file,
with a filename being a single letter, eg. "l", and configure the node
from that very directory in the standard way, the following happens:
* /opt/lcg/yaim/scripts/configure_node /opt/lcg/yaim/examples/site-info.def \
lcg-WN_torque # runs the function named "config_lcgenv"
* config_lcgenv has a subtle bug, where a command "tr [:lower:] [:upper:]",
matches the local file on the filesystem and hints with a weird error:
tr: misaligned [:upper:] and/or [:lower:] construct # what the fcuk?
* In fact, the routine does indeed create /etc/profile.d/lcgenv.*sh files,
only they are truncated and without the proper environment variables set.
* you think everything is fine, until sfts hit your newly added node:
all works, but the replica manager tests which rely on VO_DTEAM_DEFAULT_SE
* You get an SFT failure and then CT failure, just as seen bellow:
https://lcg-sft.cern.ch:9443/sft/sitehistory.cgi?site=ce42.hep.ntua.gr
* You are baffled: you *think* you did the same as with every other node,
but you are so damned mistaken, only because you did run "date>l" :)
Solution for admins: copy a proper lcgenv.{,c}sh from another good node
Solution for developers: patch software as follows (just example of 1 file):
# diff /opt/lcg/yaim/functions/local/config_lcgenv /opt/lcg/yaim/functions/
20c20
< for VO in `echo $VOS | tr '[:lower:]' '[:upper:]'`; do
---
> for VO in `echo $VOS | tr [:lower:] [:upper:]`; do
47c47
< for VO in `echo $VOS | tr '[:lower:]' '[:upper:]'`; do
---
> for VO in `echo $VOS | tr [:lower:] [:upper:]`; do
109c109
< for VO in `echo $VOS | tr '[:lower:]' '[:upper:]'`; do
---
> for VO in `echo $VOS | tr [:lower:] [:upper:]`; do
PS. Thanks to Kyriakos Gkinis for doing the hard work in finding this.
PS2. If people responsible for the VO tags read this, please do your tricks!
_______________________________________________
Egee-sa1-tech mailing list
[log in to unmask]
https://mailman2.grnet.gr/mailman/listinfo/egee-sa1-tech
|