Skip to content

Resolve MCCS-403

Ben Whitmore requested to merge mccs-403_post-MCCS-400 into main

Closes MCCS-403 MCCS-403 was originally intended to cover Subarray beams, but this was changed to station beams when it was realised Geoff's work covered subarray beams (this was pre-MCCS-400 when the resource management changed significantly).

New Resource Pool class to manage and free a pool of devices - added for Station Beams specifically, and also useful for channels later. Resource manager class is moved out of controller and lives with the resource pool in resource_manager.py. The resource pool will likely be used by Stations in future to manage channel block allocations.

The station beam pool is managed in the Controller's resource manager. On allocation, a free station beam is found, then marked as reserved and provided to the subarray's allocate method. Stations are no longer treated as a resource since these are shared between subarrays.

Refactored tests (WIP) to update json etc to allow non-exclusive subarray/subarraybeam ownership of stations. Since Controller provides station beams, I've added these to the subarray tests' input too.

Controller's allocate monitors allocations with the resource manager, passes fqdns to subarray allocate for establishing connections. Parameters such as station_ids, subarray_id in the beam devices are also set in Controller's (Component Manager) allocate.

Edited by Ben Whitmore

Merge request reports