Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-32894

Modify the ESS CSC to use data clients to communicate with data servers

    XMLWordPrintable

    Details

      Description

      Modify the ESS CSC to support data clients which communicate with sensor data servers. This will allow different kinds of remote sensors, including those connected to a LabJack, but this ticket just adds a base client and an RPi client; adding a LabJack data client will be done on a different ticket.

      Changes:

      • Add BaseDataClient, MockDataClient, register_data_client_class and get_data_client_class to ts_ess_common. Putting it here instead of ts_ess_csc avoids circular dependencies for future data clients such as the LabJack client. Each data client has its own config schema.
      • Add RPiDataClient to ts_ess_csc.
      • Update the CSC config schema to support data clients.
      • Update the CSC config schema to put data for all ESS instances in the same data file. The CSC picks the correct piece of configuration based on its SAL index.
      • Update the config schema version from v1 to v2.
      • Add an ESS/v2 directory to ts_config_ocs, with a single file "default.yaml" that contains configuration for all existing ESS instances.

        Attachments

          Issue Links

            Activity

            Hide
            rowen Russell Owen added a comment - - edited

            Tiago Ribeiro requested that I make this version compatible with ts_idl v3.5.0/3.6.0. In order to do that I added a local version of ErrorCode to ts_ess_csc and filed DM-32972 to remove it once ts_idl v3.7.0 is released.

            Other changes:

            • I updated the Jenkinsfile in ts_ess_common to upload docs (which will not work until the doc site is available – I requested it. That doesn't break the build).
            • I updated the docs in ts_ess_csc to reflect the changes on this ticket. I made additional changes to have User Guide and Developer Guide sections (still both on the main page), since that is our standard. I did not go into the simulation mode, though perhaps we should describe that.
            • In ts_ess_csc I found many instances of ts_ess/ts-ess/ts.ess in the build files and documentation that I fixed by appending "csc", e.g. ts-ess -> ts-ess-csc. This will change the name of the Conda package.

            Now that we are serving ts_common documentation, I suggest that the RPi protocol documentation be moved to ts_ess_control – either on this ticket (I am happy to do that, but it adds a new PR) or on a new ticket (which I am happy to file).

            Pull requests:

            Show
            rowen Russell Owen added a comment - - edited Tiago Ribeiro requested that I make this version compatible with ts_idl v3.5.0/3.6.0. In order to do that I added a local version of ErrorCode to ts_ess_csc and filed DM-32972 to remove it once ts_idl v3.7.0 is released. Other changes: I updated the Jenkinsfile in ts_ess_common to upload docs (which will not work until the doc site is available – I requested it. That doesn't break the build). I updated the docs in ts_ess_csc to reflect the changes on this ticket. I made additional changes to have User Guide and Developer Guide sections (still both on the main page), since that is our standard. I did not go into the simulation mode, though perhaps we should describe that. In ts_ess_csc I found many instances of ts_ess/ts-ess/ts.ess in the build files and documentation that I fixed by appending "csc", e.g. ts-ess -> ts-ess-csc. This will change the name of the Conda package. Now that we are serving ts_common documentation, I suggest that the RPi protocol documentation be moved to ts_ess_control – either on this ticket (I am happy to do that, but it adds a new PR) or on a new ticket (which I am happy to file). Pull requests: https://github.com/lsst-ts/ts_ess_common/pull/10 https://github.com/lsst-ts/ts_ess_csc/pull/52 https://github.com/lsst-ts/ts_config_ocs/pull/46 https://github.com/lsst-ts/ts_idl/pull/81
            Hide
            wvreeven Wouter van Reeven added a comment -

            All PRs reviewed on GitHub.

            Show
            wvreeven Wouter van Reeven added a comment - All PRs reviewed on GitHub.
            Hide
            rowen Russell Owen added a comment - - edited

            I tagged ts_ess_common v0.7.0 (on master) and ts_ess_csc v0.7.0.rc.1 (on develop) and merged ts_config_ocs and ts_idl to develop.

            ts_config_ocs ESS/v2 has an error that was copied from v1. Wouter is fixing that on DM-32981 and that should be done before tagging a new ts_config_ocs.

            There is no point tagging ts_idl until we need it.

            Show
            rowen Russell Owen added a comment - - edited I tagged ts_ess_common v0.7.0 (on master) and ts_ess_csc v0.7.0.rc.1 (on develop) and merged ts_config_ocs and ts_idl to develop. ts_config_ocs ESS/v2 has an error that was copied from v1. Wouter is fixing that on DM-32981 and that should be done before tagging a new ts_config_ocs. There is no point tagging ts_idl until we need it.

              People

              Assignee:
              rowen Russell Owen
              Reporter:
              rowen Russell Owen
              Reviewers:
              Wouter van Reeven
              Watchers:
              Russell Owen, Wouter van Reeven
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Jenkins

                  No builds found.