Open EIS 2.6 to 3.0 version migration guide
Open EIS v3.0 Release Notes
This release is majorly a bugfix release on top of Intel® Edge Insights System 1.0. Intel® Edge Insights System - Standard and Intel® Edge Insights System - Enhanced 1.5 SKUs are available for download at ESH site.
Changes
Bundled the pre-built helm charts in Intel® Edge Insights System - Enhanced package, enables single node helm deployment on native Kubernetes cluster.
Integrated latest software license library for all appliacable microservices like Config Manager Agent, Edge Video Analytics Microservice etc.
Config Manager Agent
Helm template changes added to enable license check and removed master node dependency
Trivy scan fixes done
Edge Video Analytics Microservice
Object tracking for UDFs implemented
Bug fixes:
AUTO plugin issue fixed
Force creation of EII user during build time even though the same user ID already exists in the image
Object tracking ID fixed
Helm template changes added to enable license check
Added tags to published metadata
Enabled Balluff unrestricted license only in Edge Insights System mode. Restriction (watermark post 200 frames) applies in standalone mode.
DL Streamer 2024.0.2 upgrade
Xiris App updates with support to multiple configurable options.
Fix EVA MQTT Publisher bug.
Improved the way gencamsrc handles defaulting of property values based on user input
Data Store
Helm template changes added to enable license check
Trivy scan fixes done
Bugfix: Fixed the frame drops issue and localhost access issue
Intel® Edge Data Collection
Changes from 2.6 to 3.0
Build Changes
Provisioning flow changes
Restructured the Open EIS provisioning flow - Containerized Open EIS provisioning step to make the Open EIS deployment fully containerized.
Provisioning step has been containerized and the 2 services ia_etcd and ia_etcd_provision that were coming up in Open EIS 2.6.X has been replaced with just 1 service ia_configmgr_agent
The sequence diagram for the new provisioning flow can be found at https://github.com/open-edge-insights/eii-configmgr-agent/blob/master/README.md
The secrets that were there in the docker-compose.yml file (Eg: https://github.com/open-edge-insights/video-ingestion/blob/v2.6.3/docker-compose.yml#L94 (line 94 to end)) are no longer needed due to new provisioning flow changes as they are now being volume mounted inside the container.
The
cert_type
key is added to the config.json files for supporting the new provisioning flow.
Building use cases
The steps for provisioning of Open EIS are as follows:
- Generate deployment and configuration files
To generate the consolidated files, run the builder script from the
[WORK_DIR]/IEdgeInsights/build
directory.python3 builder.py
Note
It is required for the user to enter the secret credentials in the
# Service credentials
section of the .env file if you are trying to run that Open EIS app/service. In case the required credentials are not present, the builder.py script would be prompting till all the required credentails are entered. Please protect this .env file from being read by other users by applying a suitable file access mask.For more details about the usage of builder.py script, refer the README.
- Build the Open EIS video and time series use cases
To build the Open EIS stack run the following command after generating the consolidated files. It is used to build all Open EIS services in the build/docker-compose-build.yml along with the base Open EIS services.
docker-compose -f docker-compose-build.yml build
If any of the services fails during the build, then run the following command to build the service again:
docker-compose -f docker-compose-build.yml build --no-cache <service name>
Deployment Changes
Deployment using docker-compose.yml on single node
- Run Open EIS services:
The Open EIS provisioning is taken care by the ia_configmgr_agent service which gets lauched as part of the Open EIS stack. For more details on the ConfigMgr Agent component, refer to the Readme.
Note
If the images tagged with the EIS_VERSION label, as in the build/.env do not exist locally in the system but are available in the Docker Hub, then the images will be pulled during the docker-compose up command.
Open EIS provisioning and deployment happens in a 2 step process where you need to wait for the initialization of the provisioning container (ia_configmgr_agent) before bringing up the rest of the stack. Don’t use commands like docker-compose restart as it will randomly restart all the services leading to issues. To restart any service, use command like docker-compose restart [container_name] or docker restart [container_name].
Use the following commands to run the Open EIS services:
# The optional TIMEOUT argument passed below is in seconds and if not provided it will wait # till the "Provisioning is Done" message show up in `ia_configmgr_agent` logs before # bringing up rest of the OEI stack cd [WORK_DIR]/IEdgeInsights/build ./eii_start.sh [TIMEOUT]
Deployment on k8s cluster using helm
To run the Open EIS services using helm on 2.6.x version, one had to follow the steps given in the Readme for creating eisuser
, required directories and provisioning steps.
For Open EIS 3.0 don’t run the provision.sh script on the host system. The new containerized provisioning flow handles this and you do not have to create the following:
eisuser
required directories at
EIS_INSTALL_PATH
The 2-step helm charts to remains same as that of 2.6.X and one can follow the installation steps for Open EIS 3.0 as given in README.