QualityControl  1.5.1
O2 Data Quality Control Framework
o2::quality_control::core::InfrastructureGenerator Class Reference

A factory class which can generate QC topologies given a configuration file. More...

#include <InfrastructureGenerator.h>

Collaboration diagram for o2::quality_control::core::InfrastructureGenerator:

Static Public Member Functions

static framework::WorkflowSpec generateStandaloneInfrastructure (std::string configurationSource)
 Generates a standalone QC infrastructure. More...
 
static void generateStandaloneInfrastructure (framework::WorkflowSpec &workflow, std::string configurationSource)
 Generates a standalone QC infrastructure. More...
 
static framework::WorkflowSpec generateLocalInfrastructure (std::string configurationSource, std::string host)
 Generates the local part of the QC infrastructure for a specified host. More...
 
static void generateLocalInfrastructure (framework::WorkflowSpec &workflow, std::string configurationSource, std::string host)
 Generates the local part of the QC infrastructure for a specified host. More...
 
static o2::framework::WorkflowSpec generateRemoteInfrastructure (std::string configurationSource)
 Generates the remote part of the QC infrastructure. More...
 
static void generateRemoteInfrastructure (framework::WorkflowSpec &workflow, std::string configurationSource)
 Generates the remote part of the QC infrastructure. More...
 
static void customizeInfrastructure (std::vector< framework::CompletionPolicy > &policies)
 Provides necessary customization of the QC infrastructure. More...
 
static void printVersion ()
 

Detailed Description

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 generateStandaloneInfrastructure() to obtain the full topology in one go.

Author
Piotr Konopka

Member Function Documentation

void o2::quality_control::core::InfrastructureGenerator::customizeInfrastructure ( std::vector< framework::CompletionPolicy > &  policies)
static

Provides necessary customization of the QC infrastructure.

Provides necessary customization of the Completion Policies of the QC infrastructure. This is necessary to make the QC workflow work. Put it inside the following customize() function, before including <Framework/runDataProcessing.cxx>:

void customize(std::vector<CompletionPolicy>& policies)
{
quality_control::customizeInfrastructure(policies);
}
Parameters
policies- completion policies vector
WorkflowSpec o2::quality_control::core::InfrastructureGenerator::generateLocalInfrastructure ( std::string  configurationSource,
std::string  host 
)
static

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'.

Parameters
configurationSource- full path to configuration file, preceded with the backend (f.e. "json://")
host- name of the machine
Returns
generated local QC workflow
void o2::quality_control::core::InfrastructureGenerator::generateLocalInfrastructure ( framework::WorkflowSpec &  workflow,
std::string  configurationSource,
std::string  host 
)
static

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'.

Parameters
workflow- existing workflow where QC infrastructure should be placed
configurationSource- full path to configuration file, preceded with the backend (f.e. "json://")
host- name of the machine
Returns
generated local QC workflow
o2::framework::WorkflowSpec o2::quality_control::core::InfrastructureGenerator::generateRemoteInfrastructure ( std::string  configurationSource)
static

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.

Parameters
configurationSource- full path to configuration file, preceded with the backend (f.e. "json://")
Returns
generated remote QC workflow
void o2::quality_control::core::InfrastructureGenerator::generateRemoteInfrastructure ( framework::WorkflowSpec &  workflow,
std::string  configurationSource 
)
static

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.

Parameters
workflow- existing workflow where QC infrastructure should be placed
configurationSource- full path to configuration file, preceded with the backend (f.e. "json://")
Returns
generated remote QC workflow
framework::WorkflowSpec o2::quality_control::core::InfrastructureGenerator::generateStandaloneInfrastructure ( std::string  configurationSource)
static

Generates a standalone QC infrastructure.

Generates a full QC infrastructure from a configuration file. This function is aimed to use for standalone setups and local development. It will create both local and remote QC tasks, and CheckRunners running associated Checks.

Parameters
configurationSource- full path to configuration file, preceded with the backend (f.e. "json://")
Returns
generated standalone QC workflow
void o2::quality_control::core::InfrastructureGenerator::generateStandaloneInfrastructure ( framework::WorkflowSpec &  workflow,
std::string  configurationSource 
)
static

Generates a standalone QC infrastructure.

Generates a full QC infrastructure from a configuration file. This function is aimed to use for standalone setups and local development. It will create both local and remote QC tasks, and CheckRunners running associated Checks.

Parameters
workflow- existing workflow where QC infrastructure should be placed
configurationSource- full path to configuration file, preceded with the backend (f.e. "json://")

The documentation for this class was generated from the following files: