Uploaded image for project: 'SAFe Program'
  1. SAFe Program
  2. SP-1791

MCCS: Convert remaining device commands to use long-running command solution

Details

    • Feature
    • Could have
    • PI11
    • None
    • Obs Mgt & Controls
    • Hide

      MCCS TANGO Device commands are implemented as asynchronous (non-blocking) commands.

      Show
      MCCS TANGO Device commands are implemented as asynchronous (non-blocking) commands.
    • 3
    • 1
    • 0
    • Team_MCCS
    • Sprint 5
    • Hide

      The aim of this feature was to put in place a mechanism, which we have started to refer to as 'message queuing', following a successful trail conducted by MCCS in PI10. The purpose of implementing message queuing was to overcome an issue that we had started to encounter where commands (such as Configure(), Abort(), Restart() etc.) which we were sending were timing out before completion. The team's plan was to add sequentially commands to specifically-identified areas of MCCS so that message queuing would take place. This should have been a relatively independent stream of work. However, as the refactor of MCCS to adopt v0.11 of the tango_base_classes progressed it became apparent that through what was being introduced via the latest base classes, duplication of work effort was on the horizon. As a result 10 planned message queue tickets in this feature were discarded (as they had already been addressed through SP-1716 & SP-1716 albeit indirectly). Four tickets with a small amount of further work were completed in this feature:

      MCCS-536 Add MCCS Controller "Allocate" command to use message queue,
      MCCS-539 Add message queue to MCCS Subarray for "On" command
      MCCS-544 Add MCCS Subarray "End" command to use message queue
      MCCS-560 Add MCCS Subarray "AssignResources" command to use message queue

      Currently there are 5 tickets which remain 'to-do'. However the coding portion of this work is complete, through the SP-1716 & SP-1717 feature work. These remain currently incomplete because it has not been possible to make a demonstration in line with the requirements of the acceptance criteria. As part of the MCCS-400 post merge review work carried out through MCCS-686 these 5 tickets are named:

      MCCS-533 Add MCCS Controller "Standby" command to use message queue
      MCCS-542 Add MCCS Subarray "Scan" command to use message queue
      MCCS-546 Add MCCS Subarray "ObsReset" command to use message queue
      MCCS-547 Add MCCS Controller "Restart" command to use message queue
      MCCS-541 Add MCCS Subarray "Configure" command to use message queue

      We recommend pausing MCCS work on this feature pending final delivery of the solution at base class level by the Karoo team. We will then reassess whether that work effectively displaces this issue or if, for example, we should re-implement them under component managers

      Therefore we propose to release this feature and to carry these 5 to-do tickets to the MCCS backlog for PI12. As we identify any urgent need for these ticket to be completed, we will pull them into the appropriate iteration under the SP-1934 feature, until we are in a position to commence and complete SP-1984 to adopt v0.12 of the tango_base_classes (which should contain the KAROO team's message queuing / long running commands solution) bringing all SKAO software teams into alignment in this respect, or otherwise to refactor them.

      https://gitlab.com/ska-telescope/ska-low-mccs contains all code referenced in this feature. All work that has been completed features in release 0.8.6, https://gitlab.com/ska-telescope/ska-low-mccs/-/tree/ska-low-mccs-0.8.6

      Show
      The aim of this feature was to put in place a mechanism, which we have started to refer to as 'message queuing', following a successful trail conducted by MCCS in PI10. The purpose of implementing message queuing was to overcome an issue that we had started to encounter where commands (such as Configure(), Abort(), Restart() etc.) which we were sending were timing out before completion. The team's plan was to add sequentially commands to specifically-identified areas of MCCS so that message queuing would take place. This should have been a relatively independent stream of work. However, as the refactor of MCCS to adopt v0.11 of the tango_base_classes progressed it became apparent that through what was being introduced via the latest base classes, duplication of work effort was on the horizon. As a result 10 planned message queue tickets in this feature were discarded (as they had already been addressed through SP-1716 & SP-1716 albeit indirectly). Four tickets with a small amount of further work were completed in this feature: MCCS-536 Add MCCS Controller "Allocate" command to use message queue, MCCS-539 Add message queue to MCCS Subarray for "On" command MCCS-544 Add MCCS Subarray "End" command to use message queue MCCS-560 Add MCCS Subarray "AssignResources" command to use message queue Currently there are 5 tickets which remain 'to-do'. However the coding portion of this work is complete, through the SP-1716 & SP-1717 feature work. These remain currently incomplete because it has not been possible to make a demonstration in line with the requirements of the acceptance criteria. As part of the MCCS-400 post merge review work carried out through MCCS-686 these 5 tickets are named: MCCS-533 Add MCCS Controller "Standby" command to use message queue MCCS-542 Add MCCS Subarray "Scan" command to use message queue MCCS-546 Add MCCS Subarray "ObsReset" command to use message queue MCCS-547 Add MCCS Controller "Restart" command to use message queue MCCS-541 Add MCCS Subarray "Configure" command to use message queue We recommend pausing MCCS work on this feature pending final delivery of the solution at base class level by the Karoo team. We will then reassess whether that work effectively displaces this issue or if, for example, we should re-implement them under component managers Therefore we propose to release this feature and to carry these 5 to-do tickets to the MCCS backlog for PI12. As we identify any urgent need for these ticket to be completed, we will pull them into the appropriate iteration under the SP-1934 feature, until we are in a position to commence and complete SP-1984 to adopt v0.12 of the tango_base_classes (which should contain the KAROO team's message queuing / long running commands solution) bringing all SKAO software teams into alignment in this respect, or otherwise to refactor them. https://gitlab.com/ska-telescope/ska-low-mccs contains all code referenced in this feature. All work that has been completed features in release 0.8.6, https://gitlab.com/ska-telescope/ska-low-mccs/-/tree/ska-low-mccs-0.8.6
    • 12.6
    • Stories Completed, Outcomes Reviewed, Satisfies Acceptance Criteria, Accepted by FO

    Description

      Convert remaining device commands to use long-running command solution

      Attachments

        Issue Links

          Structure

            Activity

              People

                s.vrcic Vrcic, Sonja
                r.braddock Braddock, Ralph
                Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Feature Progress

                  Story Point Burn-up: (100.00%)

                  Feature Estimate: 3.0

                  IssuesStory Points
                  To Do00.0
                  In Progress   00.0
                  Complete48.0
                  Total48.0

                  Dates

                    Created:
                    Updated:
                    Resolved:

                    Structure Helper Panel