-
Notifications
You must be signed in to change notification settings - Fork 151
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Reworked QC infrastructure generation (#87)
This commit introduces a main qc factory which can be used to generate a full topology with just one function call. As the TaskRunner can be placed either locally on FLP or EPN machine or remotely on dedicated QC servers, a distinction between this two has been introduced. When a task is 'local', the taskRunners will be generated by generateLocalInfrastructure(), but mergers and checkers by generateRemoteInfrastructe(). If a task is 'remote', both taskRunner and checker will be generated as remote infrastructure. The commit removes also some deprecated config files.
- Loading branch information
1 parent
bca755f
commit 977119d
Showing
18 changed files
with
456 additions
and
265 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
57 changes: 57 additions & 0 deletions
57
Framework/include/QualityControl/InfrastructureGenerator.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
/// | ||
/// \file QualityControlFactory.h | ||
/// \author Piotr Konopka | ||
/// | ||
|
||
#ifndef QC_CORE_QUALITYCONTROLFACTORY_H | ||
#define QC_CORE_QUALITYCONTROLFACTORY_H | ||
|
||
#include <string> | ||
#include <Framework/WorkflowSpec.h> | ||
|
||
namespace o2 | ||
{ | ||
namespace quality_control | ||
{ | ||
namespace core | ||
{ | ||
|
||
/// \brief A factory class which can generate QC topologies given a configuration file. | ||
/// | ||
/// A factory class which can generate QC topologies given a configuration file (example in Framework/basic.json and | ||
/// Framework/example-default.json). As QC topologies will be spread on both processing chain machines and dedicated | ||
/// QC servers, a _local_ vs. _remote_ distinction was introduced. Tasks which are _local_ should have taskRunners | ||
/// placed on FLP or EPN machines and their results should be merged and checked on QC servers. The 'remote' option | ||
/// means, that full QC chain should be located on remote (QC) machines. For the laptop development, use 'remote' tasks | ||
/// and generateRemoteInfrastructure() to obtain the full topology in one go. | ||
/// | ||
/// \author Piotr Konopka | ||
class InfrastructureGenerator | ||
{ | ||
public: | ||
InfrastructureGenerator() = delete; | ||
|
||
/// \brief Generates the local part of the QC infrastructure for a specified host. | ||
/// | ||
/// Generates the local part of the QC infrastructure for a specified host - taskRunners which are declared in the | ||
/// configuration to be 'local'. | ||
/// | ||
/// \param configurationSource - full path to configuration file, preceded with the backend (f.e. "json://") | ||
/// \param host - name of the machine | ||
/// \return generated local QC workflow | ||
static o2::framework::WorkflowSpec generateLocalInfrastructure(std::string configurationSource, std::string host); | ||
|
||
/// \brief Generates the remote part of the QC infrastructure | ||
/// | ||
/// Generates the remote part of the QC infrastructure - mergers and checkers for 'local' tasks and full QC chain for | ||
/// 'remote' tasks. | ||
/// | ||
/// \param configurationSource - full path to configuration file, preceded with the backend (f.e. "json://") | ||
/// \return generated remote QC workflow | ||
static o2::framework::WorkflowSpec generateRemoteInfrastructure(std::string configurationSource); | ||
}; | ||
} | ||
} | ||
} | ||
|
||
#endif //QC_CORE_QUALITYCONTROLFACTORY_H |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.