[master] HTTPS CI and add AnalaysisProductions(DB/Handler/Client)
BEGINRELEASENOTES
*ProductionManagement NEW: AnalysisProductions service for keeping metadata about Analysis Productions
ENDRELEASENOTES
This adds a new AnalaysisProductions(DB/Handler/Client) as part of the ProductionManagementSystem
. A little more work is needed but I think there is enough here to justify reviewing and merging. The main missing component is an APSyncAgent
that populates the DB. There are also a few missing methods on the handler but that can come later.
- The
AnalaysisProductionsDB
uses SQLAlchemy though it inherits fromDIRACDB
as there is nothing useful inSQLAlchemyDB
. UsingSQLAlchemyDB
would also make it harder to have the unit test which provides 100% test coverage using sqlite (obviously MySQL will be used in production, and this is tested by integration tests). - I've imported the
.pylintrc
from vanilla DIRAC as I needed to add a section to it and I think it doesn't make sense to try and share it with vanilla DIRAC. - The
AnalysisProductionsClient
is wrapping all of the RPC calls to the handler so that it can have type-checked keyword arguments. At some point I'd like to look at improving DIRAC so that this isn't necessary but that's a task for another day (possibly when HTTPS is more widely used).
There is an overview of the concepts in the AnalaysisProductionsClient
module's docstring to help get started with reviewing this.
Part of https://gitlab.cern.ch/lhcb-dpa/project/-/issues/135
Edited by Chris Burr