Smart Data Transaction for CPS Release Notes

Release Notes for the Smart Data Transaction for CPS Blueprint

Summary

This is the first release of the Smart Data Transaction for CPS (Cyber-Physical Systems) Blueprint. The blueprint is focused on two main goals:

  • Enabling edge nodes to cooperate on data processing by sharing data, potentially reducing bandwidth demands between the edge node and the cloud or MEC
  • Increasing the range of sensor data that can be acquired by introducing a low-power radio component to connect to remote sensors

In addition, this release provides a basic framework for installing, configuring and monitoring the collection of edge nodes, using Kubernetes and Ansible scripting.

Release Content

The following components are new with this release:

  • sync-app: An application micro-service built with EdgeX Foundry for sharing data between nodes

  • device-lora: A device service built with EdgeX Foundry supporting communication with remote sensors over low-power radio (LoRa)

The dependencies of this release are summarized below:

  • Ubunutu 20.04
  • Kubernetes 1.22 or above

  • EdgeX Foundry release 2.1
  • Docker 20.10.7 or higher
  • Flannel 0.16.3 (CNI plugin 1.0.1)
  • Ansible 2.11.7

There are no upstream code changes.

Since this is the first release, there are no differences from previous version.

Upgrade Procedures

As this is the first release there are no upgrade procedures. Follow the process described in the Installation Guide.

Release Data

Module Version Changes

N/A. All modules that are part of this release are version 1.0.

Document Version Changes

N/A. All documents included with this release are version 1.0.

Fixed Issues and Bugs

N/A. As this is a first release there are no bug fixes included.

Enhancements

N/A. As this is a first release there are no enhancements from previous versions.

Version Change

This is release 1.0 of this blueprint.

Deliverable

The deliverables consist of a Git repository containing all the source code for the new modules and script files for installation and operation of the blueprint, and the documents:

Known Limitations, Issues and Workarounds

System Limitations

The following limitations are intended to be addressed in later releases:

  • Only the LRA-1 USB dongle LoRa device and DHT-11 sensor device are currently supported.
  • Data sharing using sync-app is currently based on simple configuration variables. It should use the rules engine.
  • Edge nodes cannot be added or removed dynamically without stopping the entire cluster.
  • The MQTT communication channel should use TLS.

Known Issues

The following known issues exist in the EdgeX Foundry implementation and impact this blueprint:

  • edgex-go issue 3851
  • edgex-go issue 3852
  • A similar issue that hides the Kong (API gateway) application's /usr/kong/lib directory, leading to the process crashing
  • An issue with Kong's DNS processing that makes it fail to resolve the "localhost" address

These issues are all addressed by workarounds described below.

Workarounds

The edgex-go issues 3851 and 3852, as well as the issue hiding Kong's lib directory, are addressed by changes to the volume mappings of containers, found in the configuration files under edgex/deployments, edgex/claims, and edgex/volumes, and patches to the EdgeX Foundry security-bootstrapper and security-secretstore-setup Docker images. The patched images are generated using the Makefile and Dockerfile in the directories under edgex named after the affected images.

The Kong DNS name resolution problem is worked around with a patched Kong image, generated from the source under edgex/kong.

With these workarounds in place the blueprint can be installed and operated successfully according to the Installation Guide.

References