Release Notes for the Smart Data Transaction for CPS R7 Blueprint
This is the second release of the Smart Data Transaction for CPS (Cyber-Physical Systems) Blueprint. The blueprint is focused on the following goals:
- Integrating EdgeX device-camera-go and IP camera into SDT blueprint to enable edge nodes to receive image data from Camera
- Sharing image data between edge nodes
- Analyzing image data on edge nodes, and comparing image analysis results
In addition, this release provides a basic framework for installing, configuring and monitoring the collection of edge nodes, using Kubernetes and Ansible scripting.
The following components are new with this release:
image-app: An application micro-service built with EdgeX Foundry for anlyzing image data and comparing image analysis results
- device-camera: A device service built with EdgeX Foundry supporting communication with IP Camera
The dependencies of this release are summarized below:
- Ubunutu 20.04
- EdgeX Foundry release 2.1
- Docker 20.10.12
- Flannel 0.17.0 (CNI plugin 1.0.1)
- Ansible 2.11.9
There are no upstream code changes.
The steps to upgrade from the previous version to the current version are as follows。
- Upgrade the source code to Release7, then modify the
deploy/playbook/group_vars/all/edgex.ymlfile and files in
deploy/playbook/host_varsdirectory according to the Installation Guide.
- Run the
edgex_stop.ymlplaybook to stop the EdgeX services.
- Run the
push_images.ymlplaybooks to update the docker images in the private registry.
- Run the
edge_install.ymlplaybook to update the default docker runtime of edge nodes.
edgex_start.ymlplaybook to start the Edgex services.
Module Version Changes
All modules included with this release are version 1.1.
Document Version Changes
All documents included with this release are version 1.1.
Fixed Issues and Bugs
No existing issues and bugs are fixed in this release.
This release introduces support for IP cameras and sharing of static images via the synchronization application. Support for GPU acceleration of selected applications on the edge nodes has been added. A new application is introduced which analyses static images to perform shape detection.
This is release 1.1 of this blueprint.
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
The following limitations are intended to be addressed in later releases:
- The new microservice image-app which is limited by the base image NVIDIA CUDA only supports arm architecture.
- 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.
The following known issues exist in the EdgeX Foundry implementation and impact this blueprint (note that these issues may have been addressed in later releases of the upstream code):
- A similar issue that hides the Kong (API gateway) application's
/usr/kong/libdirectory, 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.
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/volumes, and patches to the EdgeX Foundry
security-secretstore-setup Docker images. The patched images are generated using the
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
With these workarounds in place the blueprint can be installed and operated successfully according to the Installation Guide.