Skip to content

[master] HTTPS CI and add AnalaysisProductions(DB/Handler/Client)

Chris Burr requested to merge cburr/LHCbDIRAC:ana-prod-1 into master

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 from DIRACDB as there is nothing useful in SQLAlchemyDB. Using SQLAlchemyDB 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

Merge request reports