cms-gem-daq-project / ctp7_modules

0 stars 13 forks source link

Introduce the expert_tools module #177

Closed lpetre-ulb closed 4 years ago

lpetre-ulb commented 4 years ago

Description

This PR introduces the expert_tools RPC module. As explained in the commit and in https://github.com/cms-gem-daq-project/reg_utils/pull/50, this module is devised to contain all low-level RPC methods to be used in debugging/expert tools.

Currently those two RPC methods are implemented:

The final design for such tools is not yet fixed, but there is an urgent need that our usual tools continue to be functional during the migration. The main advantage for introducing a new module is to clearly separate low-level, potentially dangerous, RPC methods and allow for an easy removal in case it would be deemed necessary.

Note that this PR is based and #174 and #175. It can merged either before, between or after them as desired; I'll make the necessary rebase actions.

Types of changes

Motivation and Context

Low-level debugging tools are mandatory. The need will be even increased while migrating to the templated RPC framework.

How Has This Been Tested?

Tested in combination with https://github.com/cms-gem-daq-project/reg_utils/pull/50. The migrated gem_reg.py can be launched and used with the different usual commands without any error.

Checklist:

mexanick commented 4 years ago

General: I'd wait until #176 is merged and retarget there. Details: I see you've removed the block read/write low level methods. While they don't have to be exported, it might be interesting to keep them for future operations (although a redesign of the address table accessing mechanism to a giant struct may completely change the way it is invoked). I would not delete them at the moment (but perhaps migrate into server-only part of expert_tools module). One interesting application of it would be CTP7 dump or whole system dump function, which is not present at the moment in the gem_reg but would be nice to have. Update: looks like I missed the block access migration to utils module. I'm fine with that. Let's just merge the #176 first and retarget to ease the history