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

Improve status reporting and robustness of DishManager

Change Owns to Parent OfsSet start and due date...
    XporterXMLWordPrintable

Details

    • True
    • Obs Mgt & Controls
    • Hide

      Improved diagnostic capability and code quality.

      Show
      Improved diagnostic capability and code quality.
    • Hide

      Tests that show the following DishManager test related to reporting pass:

      • DishManager correctly reports healthState and state. Test addresses USE-84.
      • DishManager correctly reports the connection status to each of the following TANGO devices individually: DsManager, SPF, and SPFRx TANGO devices.
      • DishManager correctly reports progress of the long running commands (need to clarify this statement: when criteria is matched for dishMode transitions).
      • After command Abort is received, DishManager correctly reports the status of the Dish and of the long running commands.
      • When command Abort is received, DishManager clears the command queue (removes from the queue and discards the queued commands). 

      A code inspection shows:

      • that DishManager rules for determining DISH Modes and states (dishModehealthState, etc.) are defined in separate modules (i.e. each rule is defined in a different module).
      • that for the TANGO device ComponentManager: the code that handles connection transitions is split out to a separate module.

      ska-mid-dish-manager CI pipeline contains mypy typechecking.

      Science Operations agree on a list of Dish configuration parameters that Dish LMC needs to manage for AA0.5, as documented in the Dish Control System Solution Intent.

      Architects agree on a mechanism for run-time parameters to reach Dish TANGO devices, as documented in the Solution Intent.

      Show
      Tests that show the following DishManager test related to reporting pass: DishManager correctly reports healthState  and  state . Test addresses USE-84. DishManager correctly reports the connection status to each of the following TANGO devices individually: DsManager, SPF, and SPFRx TANGO devices. DishManager correctly reports progress of the long running commands (need to clarify this statement: when criteria is matched for  dishMode  transitions). After command Abort is received, DishManager correctly reports the status of the Dish and of the long running commands. When command Abort is received, DishManager clears the command queue (removes from the queue and discards the queued commands).  A code inspection shows: that DishManager rules for determining DISH Modes and states ( dishMode ,  healthState , etc.) are defined in separate modules (i.e. each rule is defined in a different module). that for the TANGO device ComponentManager: the code that handles connection transitions is split out to a separate module. ska-mid-dish-manager CI pipeline contains mypy typechecking. Science Operations agree on a list of Dish configuration parameters that Dish LMC needs to manage for AA0.5, as documented in the Dish Control System Solution Intent. Architects agree on a mechanism for run-time parameters to reach Dish TANGO devices, as documented in the Solution Intent.
    • 3
    • 3
    • 0
    • Team_KAROO
    • Sprint 5
    • Hide

      See this comment for evidence how acceptance criteria are fulfilled.

      DishManager supports fault diagnosis via:

      • reporting healthState that considers
        • all combinations of healthState of DsManager, SPF & SPFRx,
        • DishManager connected state to DsManager, SPF & SPFRx.
      • reporting DsManager, SPF & SPFRx connected status individually,
      • reporting STARTUP dishMode from startup until SPF & SPFRx exited STARTUP operating mode to standby,
      • correctly reporting long running command aborted status,
      • reporting long running command progress that is now also updated when criteria is matched for dishMode transitions.

      DishManger handling of long running command abort is improved by now also clearing the command queue,

      DishManager code quality is improved by:

      • modularised rules (dishModehealthState, etc.) and connection transitions.
      • reduced code duplication,
      • mypy typechecking.
      Show
      See this comment for evidence how acceptance criteria are fulfilled. DishManager supports fault diagnosis via: reporting healthState that considers all combinations of healthState of DsManager, SPF & SPFRx, DishManager connected state to DsManager, SPF & SPFRx. reporting DsManager, SPF & SPFRx connected status individually, reporting STARTUP dishMode from startup until SPF & SPFRx exited STARTUP operating mode to standby, correctly reporting long running command aborted status, reporting long running command progress that is now also updated when criteria is matched for  dishMode  transitions. DishManger handling of long running command abort is improved by now also clearing the command queue, DishManager code quality is improved by: modularised rules ( dishMode ,  healthState , etc.) and connection transitions. reduced code duplication, mypy typechecking.
    • 17.6
    • Stories Completed, Solution Intent Updated, BDD Testing Passes (no errors), Outcomes Reviewed, Demonstrated, Satisfies Acceptance Criteria, Accepted by FO
    • PI22 - UNCOVERED

    • SYSTEM_DEMO_5 Team_KAROO

    Description

      DishManager reporting extension:

      • DishManager own health status:
        • Verify correctness and sufficiency of existing implementation of healthState and state, including addressing USE-84.
        • change as required.
      • DishManager connected status:
        • Currently DishManager reports to its clients only the aggregation  of the status of its DsManager, SPF & SPFRx connections.
        • Also report the individual connected statuses.
      • Desired and applied Dish configuration parameters (spike, no implementation):
        • Work with Science Operations to identify which parameters are required for AA0.5 to be managed via Dish LMC.
        • Work with architects and TMC teams to agree the mechanism for run-time parameters to reach relevant TANGO devices.

      DishManager refactoring:

      • Split out rules (dishMode, healthState, etc.) into separate modules.
      • In TANGO device ComponentManager: split out connection transitions to a separate module.
      • Long running commands
        • A command to abort existing long running commands is already implemented.
        • Check that queue is also cleared (if long running commands are indeed queued).
        • Check whether aborted status is correctly reported.
        • Add long running command progress update when criteria is matched for dishMode transitions.
      • Remove code duplication (time boxed activity).
      • Add mypy typechecking.

      Attachments

        Issue Links

          Structure

            Activity

              People

                s.vrcic Vrcic, Sonja
                p.swart Swart, Paul [X] (Inactive)
                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
                  Complete711.0
                  Total711.0

                  Dates

                    Created:
                    Updated:
                    Resolved:

                    Structure Helper Panel