diff --git a/tapeserver/daemon/DriveHandler.cpp b/tapeserver/daemon/DriveHandler.cpp index 335cbcb199bad8c10c7d8c1c64686e9ae9b80f98..c90de72285d379df506f71fec74378aea93940bd 100644 --- a/tapeserver/daemon/DriveHandler.cpp +++ b/tapeserver/daemon/DriveHandler.cpp @@ -862,7 +862,7 @@ int DriveHandler::runChild() { } std::unique_ptr<cta::catalogue::Catalogue> catalogue; try { - const cta::rdbms::Login catalogueLogin = cta::rdbms::Login::parseFile("/etc/cta/cta_catalogue_db.conf"); + const cta::rdbms::Login catalogueLogin = cta::rdbms::Login::parseFile(m_tapedConfig.fileCatalogConfigFile.value()); const uint64_t nbConns = 1; catalogue=cta::catalogue::CatalogueFactory::create(catalogueLogin, nbConns); } catch(cta::exception::Exception &ex) { diff --git a/tapeserver/daemon/TapedConfiguration.cpp b/tapeserver/daemon/TapedConfiguration.cpp index 648ca2c23e42353184779b8cbe1b0300681820bd..260da04b79be17b8827789ff4934cabac45dee1a 100644 --- a/tapeserver/daemon/TapedConfiguration.cpp +++ b/tapeserver/daemon/TapedConfiguration.cpp @@ -55,7 +55,7 @@ TapedConfiguration TapedConfiguration::createFromCtaConf( ret.wdScheduleMaxSecs.setFromConfigurationFile(cf, generalConfigPath); // The central storage access configuration ret.objectStoreURL.setFromConfigurationFile(cf, generalConfigPath); - ret.fileCatalogURL.setFromConfigurationFile(cf, generalConfigPath); + ret.fileCatalogConfigFile.setFromConfigurationFile(cf, generalConfigPath); // Extract drive list from tpconfig + parsed config file ret.driveConfigs = Tpconfig::parseFile(ret.tpConfigPath.value()); @@ -77,7 +77,7 @@ TapedConfiguration TapedConfiguration::createFromCtaConf( ret.wdScheduleMaxSecs.log(log); ret.objectStoreURL.log(log); - ret.fileCatalogURL.log(log); + ret.fileCatalogConfigFile.log(log); for (auto & i:ret.driveConfigs) { i.second.log(log); diff --git a/tapeserver/daemon/TapedConfiguration.hpp b/tapeserver/daemon/TapedConfiguration.hpp index a58882372c5c8332b06d1bcf4bdc1357db39b28b..0f9af9a508cac3eea27068ae30e175a1168bc777 100644 --- a/tapeserver/daemon/TapedConfiguration.hpp +++ b/tapeserver/daemon/TapedConfiguration.hpp @@ -102,9 +102,9 @@ struct TapedConfiguration { /// URL of the object store. SourcedParameter<std::string> objectStoreURL = decltype(objectStoreURL) ("general", "ObjectStoreURL"); - /// URL of the file catalog - SourcedParameter<std::string> fileCatalogURL = decltype(fileCatalogURL) - ("general", "FileCatalogURL"); + /// Path to the file catalog config file + SourcedParameter<std::string> fileCatalogConfigFile = decltype(fileCatalogConfigFile) + ("general", "FileCatalogConfigFile", "/etc/cta/cta_catalogue_db.conf", "Compile time default"); private: /** A private dummy logger which will simplify the implementation of the diff --git a/tapeserver/daemon/TapedConfigurationTests.cpp b/tapeserver/daemon/TapedConfigurationTests.cpp index 4a871715ee144afc5a37d7495dac38a3e16165ff..750ffe43cfcd8f38adeee2244f0e1e3f59d4bf1b 100644 --- a/tapeserver/daemon/TapedConfigurationTests.cpp +++ b/tapeserver/daemon/TapedConfigurationTests.cpp @@ -33,7 +33,7 @@ TEST(cta_Daemon, TapedConfiguration) { completeConfFile.stringFill( "#A good enough configuration file for taped\n" "general ObjectStoreURL vfsObjectStore:///tmp/dir\n" - "general FileCatalogURL sqliteFileCatalog:///tmp/dir2\n" + "general FileCatalogConfigFile /etc/cta/catalog.conf\n" "taped BufferCount 1\n" "taped TpConfigPath "); TempFile emptyTpConfig; @@ -44,8 +44,8 @@ TEST(cta_Daemon, TapedConfiguration) { cta::tape::daemon::TapedConfiguration::createFromCtaConf(completeConfFile.path()); ASSERT_EQ(completeConfFile.path()+":2", completeConfig.objectStoreURL.source()); ASSERT_EQ("vfsObjectStore:///tmp/dir", completeConfig.objectStoreURL.value()); - ASSERT_EQ(completeConfFile.path()+":3", completeConfig.fileCatalogURL.source()); - ASSERT_EQ("sqliteFileCatalog:///tmp/dir2", completeConfig.fileCatalogURL.value()); + ASSERT_EQ(completeConfFile.path()+":3", completeConfig.fileCatalogConfigFile.source()); + ASSERT_EQ("/etc/cta/catalog.conf", completeConfig.fileCatalogConfigFile.value()); } TEST(cta_Daemon, TapedConfigurationFull) { @@ -54,7 +54,7 @@ TEST(cta_Daemon, TapedConfigurationFull) { completeConfFile.stringFill( "#A good enough configuration file for taped\n" "general ObjectStoreURL vfsObjectStore:///tmp/dir\n" - "general FileCatalogURL sqliteFileCatalog:///tmp/dir2\n" + "general FileCatalogConfigFile /etc/cta/catalog.conf\n" "taped ArchiveFetchBytesFiles 1,2\n" "taped ArchiveFlushBytesFiles 3 , 4 \n" "taped RetrieveFetchBytesFiles 5, 6\n" @@ -70,8 +70,8 @@ TEST(cta_Daemon, TapedConfigurationFull) { cta::tape::daemon::TapedConfiguration::createFromCtaConf(completeConfFile.path()/*, log*/); ASSERT_EQ(completeConfFile.path()+":2", completeConfig.objectStoreURL.source()); ASSERT_EQ("vfsObjectStore:///tmp/dir", completeConfig.objectStoreURL.value()); - ASSERT_EQ(completeConfFile.path()+":3", completeConfig.fileCatalogURL.source()); - ASSERT_EQ("sqliteFileCatalog:///tmp/dir2", completeConfig.fileCatalogURL.value()); + ASSERT_EQ(completeConfFile.path()+":3", completeConfig.fileCatalogConfigFile.source()); + ASSERT_EQ("/etc/cta/catalog.conf", completeConfig.fileCatalogConfigFile.value()); ASSERT_EQ(1, completeConfig.archiveFetchBytesFiles.value().maxBytes); ASSERT_EQ(2, completeConfig.archiveFetchBytesFiles.value().maxFiles); ASSERT_EQ(3, completeConfig.archiveFlushBytesFiles.value().maxBytes);