ganga-devs / ganga

Ganga is an easy-to-use frontend for job definition and management
GNU General Public License v3.0
100 stars 159 forks source link

Problem when using the DaVinci application in Ganga with LbScripts v9r0p1 #880

Closed bencouturier closed 7 years ago

bencouturier commented 7 years ago

Hi,

There was long thread in the distributed analysis mailing list because we cannot use Ganga with LbScripts v9r0p1.

The error was: RROR Command ". SetupProject.sh DaVinci v39r0" failed to properly setup environment. ERROR Prepare Error: ApplicationConfigurationError: Command ". SetupProject.sh DaVinci v39r0" failed to properly setup environment.

in: EnvironFunctions.py

This is because the check implemented matches: DaVinci_release_area /afs/cern.ch/lhcb/software/releases

And that var does not exist in the new LbScripts. The check is in any way ineffective as that is a variable set by LbLogin, not by a successful SetupProject...

This is maybe not a problem as I understand that people should use GaudiExec instead of DaVinci. (Maybe DaVinci should be a thin wrapper around GaudiExec...)

egede commented 7 years ago

@bencouturier There are many users in LHCb that are having legacy analyses dealing with the old style of release areas. From the Ganga side we have said that we will "minimally support" this for at least another year. IS there a way you can delay these changes to the LbLogin scripts. Otherwise you force the Ganga team to back port changes to legacy code, or you ask people to migrate forward at a much quicker pace than anticipated.

@bencouturier There is no way that the old Gaudi application objects (like DaVinci) can be made into wrappers of the new GaudiExec applications.

bcouturi commented 7 years ago

Well, I could add those variables but they do not make much sense at this point.

Would it be possible to just remove the check in the legacy code, as it doesn't fulfil its purpose anyway..

egede commented 7 years ago

@bencouturier I will have to look carefully, but if the "faulty" check is the only problem, then yes, we can certainly remove it.

bcouturi commented 7 years ago

Don't hesitate to contact me, I can show what it matched against in my case... The test is in EnvironFunctions.py, starting at line 185 The code looks for "DaVinci" (with this case) in the environment variable names, whereas SetupProject and lb-run set variables with DAVINCI in capitals in their name...

egede commented 7 years ago

@bencouturier Yes, the old code was indeed rather broken. We now check for that there one of the environment variables take the value DAVINCI_v41r3 or similar.

bcouturi commented 7 years ago

@egede: That's great! many thanks to you and the Ganga team ! As soon as it's in prod, I can get the people to switch back to the de the DEV LbLogin !

egede commented 7 years ago

@bencouturier OK. We have missed the cutoff for the 6.3.0 release so this will go into 6.3.1, I imagine a week or two away. Is that an issue?

bcouturi commented 7 years ago

@egede I don't think so. I'm not sure it's a good idea to deploy major changes in LbScripts before the winter break anyway, so LbScripts v9 may wait till January to go production... I'll check at the core soft meeting.