X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=SHUTTLE%2FAliShuttleConfig.cxx;h=4eac7ccbf33e0303482a2935dff85c75fb46bbd9;hb=1e500f253e05678e4ee7695ac9586f2e2e7320a4;hp=b707e9efd5082153c2f592259962f67459cf3596;hpb=a18e8fa66c9bd785435de033cef3de0e99297fdf;p=u%2Fmrichter%2FAliRoot.git diff --git a/SHUTTLE/AliShuttleConfig.cxx b/SHUTTLE/AliShuttleConfig.cxx index b707e9efd50..4eac7ccbf33 100644 --- a/SHUTTLE/AliShuttleConfig.cxx +++ b/SHUTTLE/AliShuttleConfig.cxx @@ -175,7 +175,7 @@ some docs added // will be retrieved (used by AliShuttle). // - +#include #include "AliShuttleConfig.h" #include "AliShuttleInterface.h" @@ -266,128 +266,6 @@ fIsValid(kFALSE) fIsValid = kTRUE; } - -//______________________________________________________________________________________________ -AliShuttleConfig::AliShuttleConfig(const AliShuttleConfig & other): - TObject(), - fConfigHost(other.fConfigHost), - fDAQlbHost(other.fDAQlbHost), - fDAQlbPort(other.fDAQlbPort), - fDAQlbUser(other.fDAQlbUser), - fDAQlbPass(other.fDAQlbPass), - fDAQlbDB(other.fDAQlbDB), - fDAQlbTable(other.fDAQlbTable), - fShuttlelbTable(other.fShuttlelbTable), - fRunTypelbTable(other.fRunTypelbTable), - fMaxRetries(other.fMaxRetries), - fPPTimeOut(other.fPPTimeOut), - fDCSTimeOut(other.fDCSTimeOut), - fDCSRetries(other.fDCSRetries), - fPPMaxMem(other.fPPMaxMem), - fMonitorHost(other.fMonitorHost), - fMonitorTable(other.fMonitorTable), - fTriggerWait(other.fTriggerWait), - fRunMode(other.fRunMode), - fDetectorMap(), - fDetectorList(other.fDetectorList), - fShuttleInstanceHost(other.fShuttleInstanceHost), - fProcessedDetectors(other.fProcessedDetectors), - fKeepDCSMap(other.fKeepDCSMap), - fKeepTempFolder(other.fKeepTempFolder), - fSendMail(other.fSendMail), - fProcessAll(other.fProcessAll), - fIsValid(other.fIsValid) -{ - // - // copy ctor - // - for (Int_t i = 0; i<3; i++){ - fFXSHost[i]=other.fFXSHost[i]; - fFXSPort[i]=other.fFXSPort[i]; - fFXSUser[i]=other.fFXSUser[i]; - fFXSPass[i]=other.fFXSPass[i]; - fFXSdbHost[i]=other.fFXSdbHost[i]; - fFXSdbPort[i]=other.fFXSdbPort[i]; - fFXSdbUser[i]=other.fFXSdbUser[i]; - fFXSdbPass[i]=other.fFXSdbPass[i]; - fFXSdbName[i]=other.fFXSdbName[i]; - fFXSdbTable[i]=other.fFXSdbTable[i]; - } - for (Int_t i = 0; i<5; i++){ - fAdmin[i] = new TObjArray(); - fAdmin[i]->AddAt(other.fAdmin[i]->At(i),i); - } - - TIter iter((other.fDetectorMap).GetTable()); - TPair* aPair = 0; - - while ((aPair = (TPair*) iter.Next())) { - AliShuttleDetConfigHolder *holder =(AliShuttleDetConfigHolder *)aPair->Value(); - TKey *key = (TKey*)aPair->Key(); - fDetectorMap.Add(key,holder); - } - - -} -//_____________________________________________________________________________________________ -AliShuttleConfig& AliShuttleConfig::operator=(const AliShuttleConfig &other) -{ - // - //assignment operator - // - this->fConfigHost=other.fConfigHost; - this->fDAQlbHost=other.fDAQlbHost; - this->fDAQlbPort=other.fDAQlbPort; - this->fDAQlbUser=other.fDAQlbUser; - this->fDAQlbPass=other.fDAQlbPass; - this->fDAQlbDB=other.fDAQlbDB; - this->fDAQlbTable=other.fDAQlbTable; - this->fShuttlelbTable=other.fShuttlelbTable; - this->fRunTypelbTable=other.fRunTypelbTable; - this->fMaxRetries=other.fMaxRetries; - this->fPPTimeOut=other.fPPTimeOut; - this->fDCSTimeOut=other.fDCSTimeOut; - this->fDCSRetries=other.fDCSRetries; - this->fPPMaxMem=other.fPPMaxMem; - this->fMonitorHost=other.fMonitorHost; - this->fMonitorTable=other.fMonitorTable; - this->fTriggerWait=other.fTriggerWait; - this->fRunMode=other.fRunMode; - this->fDetectorList=other.fDetectorList; - this->fShuttleInstanceHost=other.fShuttleInstanceHost; - this->fProcessedDetectors=other.fProcessedDetectors; - this->fKeepDCSMap=other.fKeepDCSMap; - this->fKeepTempFolder=other.fKeepTempFolder; - this->fSendMail=other.fSendMail; - this->fProcessAll=other.fProcessAll; - this->fIsValid=other.fIsValid; - for (Int_t i = 0; i<3; i++){ - this->fFXSHost[i]=other.fFXSHost[i]; - this->fFXSPort[i]=other.fFXSPort[i]; - this->fFXSUser[i]=other.fFXSUser[i]; - this->fFXSPass[i]=other.fFXSPass[i]; - this->fFXSdbHost[i]=other.fFXSdbHost[i]; - this->fFXSdbPort[i]=other.fFXSdbPort[i]; - this->fFXSdbUser[i]=other.fFXSdbUser[i]; - this->fFXSdbPass[i]=other.fFXSdbPass[i]; - this->fFXSdbName[i]=other.fFXSdbName[i]; - this->fFXSdbTable[i]=other.fFXSdbTable[i]; - } - for (Int_t i = 0; i<5; i++){ - this->fAdmin[i] = new TObjArray(); - this->fAdmin[i]->AddAt(other.fAdmin[i]->At(i),i); - } - - TIter iter((other.fDetectorMap).GetTable()); - TPair* aPair = 0; - - while ((aPair = (TPair*) iter.Next())) { - AliShuttleDetConfigHolder *holder =(AliShuttleDetConfigHolder *)aPair->Value(); - TKey *key = (TKey*)aPair->Key(); - this->fDetectorMap.Add(key,holder); - } - return *this; -} //______________________________________________________________________________________________ void AliShuttleConfig::AliShuttleDCSConfigHolder::ExpandAndAdd(TObjArray* target, const char* entry) { @@ -649,6 +527,7 @@ ClassImp(AliShuttleConfig) AliShuttleConfig::AliShuttleConfig(const char* host, Int_t port, const char* binddn, const char* password, const char* basedn): fConfigHost(host), + fAlienPath(""), fDAQlbHost(""), fDAQlbPort(), fDAQlbUser(""), @@ -657,14 +536,20 @@ AliShuttleConfig::AliShuttleConfig(const char* host, Int_t port, fDAQlbTable(""), fShuttlelbTable(""), fRunTypelbTable(""), + fPasswdFilePath(""), fMaxRetries(0), fPPTimeOut(0), fDCSTimeOut(0), fDCSRetries(0), + fDCSQueryOffset(0), + fDCSDelay(0), fPPMaxMem(0), fMonitorHost(""), fMonitorTable(""), fTriggerWait(3600), + fShuttleFileSystem("/"), + fFreeDiskWarningThreshold(20), + fFreeDiskFatalThreshold(10), fRunMode(kTest), fDetectorMap(), fDetectorList(), @@ -764,6 +649,7 @@ AliShuttleConfig::AliShuttleConfig(const char* host, Int_t port, result += SetGlobalConfig(&globalList); result += SetSysConfig(&sysList); + result += SetPasswords(); result += SetDetConfig(&detList,&dcsList); result += SetHostConfig(&hostList); @@ -785,9 +671,6 @@ AliShuttleConfig::~AliShuttleConfig() fDetectorMap.DeleteAll(); fDetectorList.Clear(); fProcessedDetectors.Delete(); - - delete[] fAdmin; - } //______________________________________________________________________________________________ @@ -1018,6 +901,7 @@ UInt_t AliShuttleConfig::SetGlobalConfig(TList* list) { // Set the global configuration (DAQ Logbook + preprocessor monitoring settings) + TLDAPEntry* anEntry = 0; TLDAPAttribute* anAttribute = 0; @@ -1041,6 +925,13 @@ UInt_t AliShuttleConfig::SetGlobalConfig(TList* list) } + anAttribute = anEntry->GetAttribute("AlienPath"); + if (!anAttribute) { + AliError("Can't find AlienPath attribute!"); + return 4; + } + fAlienPath = anAttribute->GetValue(); + anAttribute = anEntry->GetAttribute("daqLbHost"); if (!anAttribute) { AliError("Can't find daqLbHost attribute!"); @@ -1063,13 +954,6 @@ UInt_t AliShuttleConfig::SetGlobalConfig(TList* list) } fDAQlbUser = anAttribute->GetValue(); - anAttribute = anEntry->GetAttribute("daqLbPasswd"); - if (!anAttribute) { - AliError("Can't find daqLbPasswd attribute!"); - return 4; - } - fDAQlbPass = anAttribute->GetValue(); - anAttribute = anEntry->GetAttribute("daqLbDB"); if (!anAttribute) { AliError("Can't find daqLbDB attribute!"); @@ -1130,6 +1014,22 @@ UInt_t AliShuttleConfig::SetGlobalConfig(TList* list) tmpStr = anAttribute->GetValue(); fDCSRetries = tmpStr.Atoi(); + anAttribute = anEntry->GetAttribute("DCSQueryOffset"); + if (!anAttribute) { + AliError("Can't find DCSQueryOffset attribute!"); + return 4; + } + tmpStr = anAttribute->GetValue(); + fDCSQueryOffset = tmpStr.Atoi(); + + anAttribute = anEntry->GetAttribute("DCSDelay"); + if (!anAttribute) { + AliError("Can't find DCSDelay attribute!"); + return 4; + } + tmpStr = anAttribute->GetValue(); + fDCSDelay = tmpStr.Atoi(); + anAttribute = anEntry->GetAttribute("ppMaxMem"); if (!anAttribute) { AliError("Can't find ppMaxMem attribute!"); @@ -1154,11 +1054,31 @@ UInt_t AliShuttleConfig::SetGlobalConfig(TList* list) anAttribute = anEntry->GetAttribute("triggerWait"); // MAY if (!anAttribute) { - AliWarning(Form("triggerWait not set! default = ", fTriggerWait)); + AliWarning(Form("triggerWait not set! default = %d", fTriggerWait)); } tmpStr = anAttribute->GetValue(); fTriggerWait = tmpStr.Atoi(); - + + anAttribute = anEntry->GetAttribute("ShuttleFileSystem"); + if (!anAttribute) { + AliWarning(Form("ShuttleFileSystem not set! default = %s", fShuttleFileSystem.Data())); + } + fShuttleFileSystem = anAttribute->GetValue(); + + anAttribute = anEntry->GetAttribute("FreeDiskWarningThreshold"); // MAY + if (!anAttribute) { + AliWarning(Form("FreeDiskWarningThreshold not set! default = %d", fFreeDiskWarningThreshold)); + } + tmpStr = anAttribute->GetValue(); + fFreeDiskWarningThreshold = tmpStr.Atoi(); + + anAttribute = anEntry->GetAttribute("FreeDiskFatalThreshold"); // MAY + if (!anAttribute) { + AliWarning(Form("FreeDiskFatalThreshold not set! default = %d", fFreeDiskFatalThreshold)); + } + tmpStr = anAttribute->GetValue(); + fFreeDiskFatalThreshold = tmpStr.Atoi(); + anAttribute = anEntry->GetAttribute("mode"); if (!anAttribute) { AliWarning("Run mode not set! Running in test mode."); @@ -1246,6 +1166,13 @@ UInt_t AliShuttleConfig::SetGlobalConfig(TList* list) fSendMail = (Bool_t) sendMailStr.Atoi(); } + anAttribute = anEntry->GetAttribute("passwdFilePath"); + if (!anAttribute) { + AliError("Can't find Passwords File Path attribute!"); + return 4; + } + fPasswdFilePath = anAttribute->GetValue(); + return 0; } @@ -1253,7 +1180,8 @@ UInt_t AliShuttleConfig::SetGlobalConfig(TList* list) UInt_t AliShuttleConfig::SetSysConfig(TList* list) { // Set the online FXS configuration (DAQ + DCS + HLT) - + + TLDAPEntry* anEntry = 0; TLDAPAttribute* anAttribute = 0; @@ -1312,14 +1240,6 @@ UInt_t AliShuttleConfig::SetSysConfig(TList* list) } fFXSdbUser[iSys] = anAttribute->GetValue(); - anAttribute = anEntry->GetAttribute("dbPasswd"); - if (!anAttribute) { - AliError(Form ("Can't find dbPasswd attribute for %s!!", - AliShuttleInterface::GetSystemName(iSys))); - return 5; - } - fFXSdbPass[iSys] = anAttribute->GetValue(); - anAttribute = anEntry->GetAttribute("dbName"); if (!anAttribute) { AliError(Form ("Can't find dbName attribute for %s!!", @@ -1362,6 +1282,9 @@ UInt_t AliShuttleConfig::SetSysConfig(TList* list) anAttribute = anEntry->GetAttribute("fxsPasswd"); if (anAttribute) fFXSPass[iSys] = anAttribute->GetValue(); + + anAttribute = anEntry->GetAttribute("fxsBaseFolder"); + if (anAttribute) fFXSBaseFolder[iSys] = anAttribute->GetValue(); anAttribute = anEntry->GetAttribute("fxsAdmin"); // MAY if (!anAttribute) @@ -1387,6 +1310,67 @@ UInt_t AliShuttleConfig::SetSysConfig(TList* list) return 0; } +//______________________________________________________________________________________________ +UInt_t AliShuttleConfig::SetPasswords(){ + + AliInfo("Setting Passwords"); + + // Retrieving Passwords for DAQ lb, DAQ/DCS/HLT FXS + + ifstream *inputfile = new ifstream(fPasswdFilePath.Data()); + if (!*inputfile) { + AliError(Form("Error opening file %s !", fPasswdFilePath.Data())); + inputfile->close(); + delete inputfile; + return 1; + } + + TString line; + Int_t nPwd=0; + Int_t nPwdFake=0; + while (line.ReadLine(*inputfile)) { + TObjArray *tokens = line.Tokenize(" \t"); + TString system = ((TObjString *)tokens->At(0))->String(); + TString password = ((TObjString *)tokens->At(1))->String(); + if (system.Contains("DAQ_LB")){ + fDAQlbPass=password; + nPwd++; + AliDebug(3,Form("DAQ_LB: Password %s for %s found", password.Data(), system.Data())); + } + else if (system.Contains("DAQ_DB")){ + fFXSdbPass[0]=password; + nPwd++; + AliDebug(3,Form("DAQ_DB: Password %s for %s found", password.Data(), system.Data())); + } + else if (system.Contains("DCS_DB")){ + fFXSdbPass[1]=password; + nPwd++; + AliDebug(3,Form("DCS_DB: Password %s for %s found", password.Data(), system.Data())); + } + else if (system.Contains("HLT_DB")){ + fFXSdbPass[2]=password; + nPwd++; + AliDebug(3,Form("HLT_DB: Password %s for %s found", password.Data(), system.Data())); + } + else { + nPwdFake++; + AliDebug(3,Form("%i fake line(s) found in file %s", nPwdFake, fPasswdFilePath.Data())); + continue; + } + delete tokens; + } + + inputfile->close(); + delete inputfile; + + if (nPwd!=4){ + AliError(Form("Wrong file for DAQ Logbook password found %s (some passwors missing), please Check!", fPasswdFilePath.Data())); + return 2; + } + + return 0; + +} //______________________________________________________________________________________________ UInt_t AliShuttleConfig::SetDetConfig(TList* detList, TList* dcsList) {