Introduction
This document covers both ELIOT Blueprint Use Case.
ELIOT is "Enterprise Edge Lightweight and IOT" project under Akraino approved blueprint family and part of Akraino Edge Stack, which intends to develop a fully integrated edge network infrastructure and running edge computing applications on lightweight Edge Nodes. ELIOT targets on making the edge node a lightweight software stack which can be deployed on edge nodes which have limited hardware capacity by leveraging lightweight OS, container running environment and container orchestration applications.
In addition ELIOT stack focuses to have infrastructure for edge computing which will enable high performance, high availability, security and reduce latency.
Akarino Test Group Information
The Test Environment consists of two topology :
- ELIOT topology with Kubernetes Cluster + EdgexPlatform
- ELIOT topology with KubeEdge
Overall Test Architecture
ELIOT topology with Kubernetes Cluster.
ELIOT Manager and single ELIOT Edge Node are installed VM having Ubuntu 16.04.
In ELIOT Manager the setup.sh is executed which internally installs docker ,k8s and tests k8s deployment by deploying nginx on ELIOT Edge Node
ELIOT topology with KubeEdge
ELIOT Manager and single ELIOT Edge Node are installed VM having Ubuntu 16.04.
In ELIOT Manager Docker, K8S , KubeEdge-EdgeController is installed and in ELIOT Edge Docker and KubeEdge-EdgeCore is installed.
In the KubeEdge init command the nginx is deployed in ELIOT - Edge Core.
Traffic Generator
N/A
Test API description
ELIOT Platform Test
...
covers Test Deployment Environment and Test Case Result for ELIOT IoT Gateway Blueprint.
The number of nodes in the ELIOT Cluster remains same as Release 1.0 ; one virtual machine node for ELIOT Manager and one Virtual Node for ELIOT Edge Node (IoT Gateway)
The changes include testing of the new software included in the ELIOT Platform Stack.
Akarino Test Group Information
Not Applicable
Overall Test Architecture
ELIOT Cluster Number of Nodes remains same as Release 1.0
- One Node for ELIOT Manager.
- One Node for ELIOT Edge Node.
Both the nodes are running on Virtual Machine.
In Release 1.0 the Test Environments were :-
- ELIOT Cluster with Kubernetes on Ubuntu OS.
- ELIOT Cluster with KubeEdge on Ubuntu OS
In Release 2.0 the Test Environments are :-
- ELIOT Cluster with Kubernetes + EdgeX Platform on Ubuntu OS.
- ELIOT Cluster with Kubernetes + OPC-UA on Tailored OS
- ELIOT Cluster with KubeEdge on Cent OS
Traffic Generator
N/A
Test API description
Some test cases are re-used from Release 1.0 . Test cases are marked as inherited from Release 1.0 and New Test Cases.
1. Deployment Type 1 Test Environment
ELIOT Cluster with Kubernetes + EdgeX Platform on Ubuntu OS
1.1 ELIOT Platform Test
Test Case 1: NGINX deployment verification.
(Inherited from Release 1.0)
Test inputs:
Execute the bootstrap script to setup the ELIOT platform. The bootstrap script internally invokes verifyk8s.sh script.
verifyk8s.sh script check if the nginx pod is deployed and running in the ELIOT Cluster. If not returns non zero value.
Test Procedure
The setup.sh script will deploy nginx pod in the ELIOT Edge Node after Kubernetes Installation.
Manual Check : execute kubectl get pods
Expected output
It will check nginx deployment and result the details in the log. If the nginx pod is not in running state after 10 retry setup.sh script will return value 1.
(CI Job fails if the return value is 1)
Test Results
root@akraino-slave-0001:~# kubectl get pods
NAME READY STATUS RESTARTS AGE
nginx-deployment-74d48dbfb8-kvx9q 1/1 Running 0 18h
Test Case 2 : Test Kubernetes cluster, EdgeX Platform Check.
(New Test Case)
Test Input :
Execute the bootstrap script to setup the ELIOT Platform.
Test Procedure:
root@akraino-slave-001:-# cd eliot/blueprints/iotgateway/script
root@akraino-slave-001:-# source setup.sh
...
NAME READY READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
edgex-config-seed 0/1 1 Completed 0 26h 192.168.53.74 akraino-slave-0002 <none> <none>
edgex-core-command-5fb859467f-dkbkw 1/1 1 Running 0 26h 192.168.53.69 akraino-slave-0002 <none> <none>
edgex-core-consul-5b6b5c7567-jlpqz jlpqz 1/1 1 Running 0 26h 192.168.53.76 akraino-slave-0002 <none> <none>
edgex-core-data-67b9677944-zp7tt 1/1 Running 0 26h 192.168.53.72 akraino-slave-0002 <none> <none>
edgex-core-metadata-57f7fb45f8-nzsgq nzsgq 1/1 Running 0 26h 192.168.53.73 akraino-slave-0002 <none> <none>
edgex-device-virtual-59674ffc4c-vrz7b 1/1 Running 1 26h 192.168.53.77 akraino-slave-0002 <none> <none>
edgex-export-client-578c48cc87-m92nl 1/1 Running 0 26h 192.168.53.70 akraino-slave-0003 <none> <none>
edgex-export-distro-66c679875d-2hhb2 1/1 1 Running 0 26h 192.168.53.71 akraino-slave-0003 <none> <none>
edgex-mongo-676d599f54-kzp87 1/1 1 Running 0 26h 192.168.53.80 akraino-slave-0003 <none> <none>
edgex-support-logging-696ff8d9fc-5hbn2 1/1 1 Running 0 26h 192.168.53.81 akraino-slave-0003 <none> <none>
edgex-support-notifications-86577b7b57-7xwsc 7xwsc 1/1 1 Running 0 26h 192.168.53.75 akraino-slave-0003 <none> <none>
edgex-support-rulesengine-6b5765d57f-q8bf8 1/1 1 Running 1 26h 192.168.53.79 akraino-slave-0003 <none> <none>
edgex-support-scheduler-bc8f4fd6-42bbj 1/1 1 Running 0 26h 192.168.53.78 akraino-slave-0003 <none> <none>
Test Case 2:
The Test inputs
There should be a nginx.yaml configuration files which is used for deploying the Nginx on ELIOT Edge Node.
Test Procedure
The setup.sh script will deploy nginx server in the ELIOT Edge Node after Kubernetes Installation.
Expected output
It will check nginx deployment and result the details in the log.
...
CI/CD Logs:
Nexus Repo Path:-
1.2 Conformance Test:
(New Test Case)
Test Execution Step :
Blu-Val Validation test suite Kubernetes conformance test case is executed on ELIOT Platform
Test Result :
All Test cases are passed.
CI / CD Logs
Logs are pushed in nexus repo:-
2. Deployment Type 2 Test Environment
ELIOT Cluster with Kubernetes + OPC-UA on Tailored OS.
2.1 ELIOT Platform Test
Test Case : Test Kubernetes cluster & OPC_UA Platform Check.
(Inherited from Release 1.0)
Test Input :
Execute the bootstrap script to setup the ELIOT Platform
Test Procedure:
root@akraino-slave-001:-# cd eliot/blueprints/iotgateway/script
root@akraino-slave-001:-# source setup.sh
root@akraino-slave-0001:~# kubectl get pods
NAME READY STATUS RESTARTS AGE
nginx-deployment-74d48dbfb8-kvx9q 1/1 Running 0 18h
Conformance Test:
Test Execution Step :
Blu-Val Validation test suite kubernetes conformance test case is executed on ELIOT Platform
Test Result :
All Test cases are passed.
Integration with Akraino.Nexus Repo is pending will be uploaded later and path will be shared.
Blueprint extension tests
N/A
Feature Project Tests
Work In Progressnodes
NAME STATUS ROLES AGE VERSION
akraino-slave-0001 Ready master 18h v1.16.0
akraino-slave-0002 Ready <none> 18h v1.16.0
OPC-UA Platform successful installation is integrated in the setup.sh. Console log will record the successful installation message, same is recorded in nexus repo, path is shared in CI/CD Log section.
CI/CD Logs:
Nexus Repository URL :
3. Deployment Type 3 Test Environment
ELIOT Deployment with KubeEdge on CentOS .
3.1 ELIOT Platform Test
Test Case : Test KubeEdge Deployment.
Test Input :
Execute the kubeedge setup script kubeedge_setup.sh script to setup the ELIOT Platform with KubeEdge
Test Procedure:
There is no test script for this deployment, only Manual Testing
Manual Test Steps:
1. After the kubeedge_setup.sh script execution is complete check in the ELIOT Manager whether edgecontroller process status.
ps -eaf | grep edgecontroller
2. In ELIOT Edge Node check if edge_core process status.
ps -eaf | grep edge_core
CI/CD Logs:
Nexus Repository URL :
Blueprint extension tests
Not Applicable
Feature Project Tests
Not applicable
Test Dashboards
Single pane view of how the test score looks like for the Blue print.
Total Tests | Test Executed | Pass | Fail | In Progress |
3 | 3 | 3 | 0 | 0 |
Additional Testing
N/A
Bottlenecks/Errata
N/A