SP-1725 was a feature that aimed to refactor the resource management function of MCCS as it was identified in PI10 that there were areas which did not align with future plans. The original plan was to complete the initial implementation of the resource managers through SP-1645.
Crossover. However through the hardware model and state machine introduced in v0.11 of the tango_base_classes many of the tasks of SP-1725 were to be implemented, refactored and generally addressed again as part of SP-1717.Therefore SP-1725 refocused its scope towards being a feature to understand the impact of refactoring MCCS to use v0.11 of the tango_base_classes, capturing 'mop up work' then implementing any imediately required action in order to make a post adoption release to CAR.
In PI12, SP-1934 will pick up remaining clean up activities from the recommendations caputured through this features findings.
Useful Links
*************
Controller.Release implementation (mccs-407)
Controller.Allocate with new architecture (mccs-406)
This work was completed as part of the component manager refactor required by the update to the latest version of ska-tango-base (MCCS-400 / MCCS-401). The Allocate() command now calls the controller's component manager's allocate() method, which uses a ControllerResourceManager to manage resource contention, health and readiness. Successfully allocated resources are assigned to subarrays.
- Reimplement MccsSubarray's resource management as a single resource manager class capable of handling multiple resource types (MCCS-646)
This work was done as part of the component manager refactor required by the update to the latest version of ska-tango-base (MCCS-400 / MCCS-401). ControllerComponentManager outsources its resource management to a ControllerResourceManager, which makes use of some more generic resource manager classes. The most basic generic resource manager class is called _ResourceManager. See its documentation for evidence that it is capable of handling multiple resource types. (https://gitlab.com/ska-telescope/ska-low-mccs/-/blob/main/src/ska_low_mccs/controller/controller_resource_manager.py#L36)
Move all resource contention management to MccsController's resource manager class (MCCS-645)
This work was done as part of the component manager refactor required by the update to the latest version of ska-tango-base (MCCS-400 / MCCS-401). To see that this is complete, note
The tickets outcomes listed above highlight the scale of the crossover we have encoutered between SP-1717, SP-1716 & SP-1725. Particularly the work done on MCCS-645 which crosses over and refactors work done in parallel in SP-1645!
The Confluence page linked below captures the initial reactions of the software developers reviewing the impact of the v0.11 refactor following it's merge into https://gitlab.com/ska-telescope/ska-low-mccs/ main via mccs-400: https://confluence.skatelescope.org/display/SE/Post+MCCS-400+merge+support+and+training