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

Implement Pub/Sub in TangoGQL

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

Details

    • Obs Mgt & Controls
    • Hide

      To allow WebJive to know the state of all of the tango elements, TangoGQL needs to publish those states. This will be needed for state monitoring on the WebJive dashboard, to allow all reported faults and alarms to be captured (e.g. not just things that persist on 3 second intervals), and to enable a meaningful logger to be produced.

      Show
      To allow WebJive to know the state of all of the tango elements, TangoGQL needs to publish those states. This will be needed for state monitoring on the WebJive dashboard, to allow all reported faults and alarms to be captured (e.g. not just things that persist on 3 second intervals), and to enable a meaningful logger to be produced.
    • 5
    • 5
    • 3.6
    • Team_BUTTONS
    • Sprint 5
    • 5.1
    • PI22 - UNCOVERED

    • Team_BUTTONS goal4 webjive

    Description

      WebJive needs to be able to monitor changes in Tango Devices. It subscribes to TangoGQL, which then samples the states of devices every 3 seconds. 

       

      Thus, in order for WebJive to be able to monitor the tango devices, Tango GQL needs to subscribe to the devices.

       

      Tango GQL currently samples the various tango elements attached to it every 3 seconds (see top half of attached diagram). After it samples the state of all of the tango elements, it then publishes that information to WebJive, which is subscribing to TangoGQL through a (single) socket.  We need to modify Tango GQL so that it subscribes to the tango elements, and can then update WebJive as soon as something changes (bottom half of attached diagram).

      As an aside of this work, it is likely that it wpould be possibe to fix (or at least diagnose) the crash that happens when reducing a lot the polling interval with which tangogql talks to Tango. After all it's a bug of webjive and even if it can be bypassed by replacing the polling mechanism with a pub/sub protocol, it represents a vulnerability of webjive. If not fixed it will constitute technical debt.

      Acceptance criteria

      (Notice that these criteria - except for the last three that I imagine everyone had implicitly in his/her mind - do not imply any additional functionality or additional implementation. I wrote them here because in this PI4, for the first time, the Program Management wants to focus the attention  on reduction of technical debt and on the tests for features. Tests that were implicit in the general DoD. Therefore I'm not asking to change the scope of this feature. I'm asking to make explicit the kind of automated tests that accompany the implementation of this feature.)

      • create a test suite of automated test cases that cover the more complex and riskier functionalities of TangoGQL; the tests would exercise the key service endpoints that TangoGQL provides
      • these tests are system-level tests where the SUT is TangoGQL and where appropriate stubs and mocks are created to isolate the SUT from Tango.

      Attachments

        Issue Links

          Structure

            Activity

              People

                g.brajnik Brajnik, Giorgio
                p.klaassen Klaassen, Pamela
                Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Feature Progress

                  Story Point Burn-up: (100.00%)

                  Feature Estimate: 5.0

                  IssuesStory Points
                  To Do00.0
                  In Progress   00.0
                  Complete39.0
                  Total39.0

                  Dates

                    Created:
                    Updated:
                    Resolved:

                    Structure Helper Panel