Introduction

This document 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 and Release 2.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 / 2.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 were :-

  • 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

In Release 3.0 the Test Environments are :-

  • ELIOT Cluster with Kubernetes  + EdgeX Platform on Ubuntu OS. (Integrated with Blu-Val validation and  Akraino Security Sub-committee recommended Security Tools )

Traffic Generator

N/A

Test API description

Some test cases are re-used from Release 2.0. Test cases are marked as inherited from Release 2.0 and New Test Cases.

Test Environment

The Test Environment for EALTEdge Blueprint is a Virtual Machine Environment hosted on Huawei Public Cloud, which are in the same network, having public IP's.

Note: Testing in Bare-Metal environment is not done, theoretically it will function.

ELIOT Cluster with Kubernetes + EdgeX Platform on Ubuntu OS

CI Details 

For CI IoT Gateway Blueprint is using Akraino Community Jenkins Server. 

For CD, IoT Gateway Blueprint is using Private Huawei Lab Jenkins Server. Daily deployment build gets executed and logs are uploaded to nexus repo.

CI Jobs

  • Triggered by gerrit patch creation/update, the job runs verify.sh under eliot project. 
  • Upload the job log to Nexus server in post-build actions

CD Jobs

  • Triggered daily automatically , can also be executed manually.
  • Executes an bootstrap shell script command to install the complete the environment and executes verify script to check the ELIOT - IoT Gateway cluster.
  • Upload the job log to Nexus server in post-build actions

1.1 ELIOT Platform Test

Test Case 1: NGINX deployment verification.

(Inherited from Release 2.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.

(Inherited from Release 2.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 nodes

NAME                              STATUS   ROLES   AGE  VERSION

akraino-slave-0001      Ready   master   18h    v1.16.0

akraino-slave-0002      Ready   <none>  18h    v1.16.0


root@akraino-slave-0001:~# kubectl get pods -o wide

NAME                                                                                           READY                     STATUS                                 RESTARTS           AGE               IP                                            NODE                                    NOMINATED            NODE READINESS GATES

edgex-config-seed                                                                  0/1                         Completed                                      0                    26h          192.168.53.74                  akraino-slave-0002                      <none>                  <none>

edgex-core-command-5fb859467f-dkbkw                     1/1                         Running                                            0                   26h          192.168.53.69                 akraino-slave-0002                       <none>                  <none>

edgex-core-consul-5b6b5c7567-jlpqz                              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                        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                          Running                                             0                   26h           192.168.53.71                akraino-slave-0003                      <none>                 <none>

edgex-mongo-676d599f54-kzp87                                    1/1                          Running                                             0                   26h           192.168.53.80                akraino-slave-0003                      <none>                  <none>

edgex-support-logging-696ff8d9fc-5hbn2                    1/1                          Running                                             0                   26h           192.168.53.81                 akraino-slave-0003                     <none>                  <none>

edgex-support-notifications-86577b7b57-7xwsc       1/1                          Running                                              0                   26h           192.168.53.75                akraino-slave-0003                      <none>                  <none>

edgex-support-rulesengine-6b5765d57f-q8bf8          1/1                          Running                                              1                   26h           192.168.53.79                akraino-slave-0003                     <none>                   <none>

edgex-support-scheduler-bc8f4fd6-42bbj                     1/1                          Running                                              0                   26h           192.168.53.78                akraino-slave-0003                      <none>                  <none>


CI/CD Logs:

Nexus Repo Path:-

https://nexus.akraino.org/content/sites/logs/huawei/blueprints/iotgateway/job/eliot-iotgateway-deploy-k8s-virtual-daily-master/405/

Blueprint Validation tests

Integrated with Blu-Val validation tools 

1. For K8S layer 

  • Sonobuoy
  • Kube-Hunter

2. For OS Layer 

  • Vuls
  • Lyns

Nexus Repo Path:-

https://nexus.akraino.org/content/sites/logs/huawei/blueprints/iotgateway/job/eliot-iotgateway-deploy-k8s-virtual-daily-master/405/results/

K8S LAYER MANDATORY TESTS

1.1 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:-

https://nexus.akraino.org/content/sites/logs/huawei/blueprints/iotgateway/job/eliot-iotgateway-deploy-k8s-virtual-daily-master/405/results/k8s/conformance/

1.2 Kube-Hunter

(New Test Case)

Test Execution Step :

Blu-Val Validation test suite kube-hunter test case is executed on ELIOT Platform

Test Result :

All critical Test cases are passed.

CI / CD Logs :

Logs are pushed in nexus repo:-

https://nexus.akraino.org/content/sites/logs/huawei/blueprints/iotgateway/job/eliot-iotgateway-deploy-k8s-virtual-daily-master/405/results/k8s/kube-hunter/

OS LAYER MANDATORY TESTS

2.1 Lynis

(New Test Case)

Test Execution Step :

Blu-Val Validation test suite Lynis test case is executed on ELIOT Platform

Test Result :

All critical Test cases are passed.

CI / CD Logs :

Logs are pushed in nexus repo:-

https://nexus.akraino.org/content/sites/logs/huawei/blueprints/iotgateway/job/eliot-iotgateway-deploy-k8s-virtual-daily-master/405/results/os/lynis/

2.2 Vuls

(New Test Case)

Test Execution Step :

Blu-Val Validation test suite Lynis test case is executed on ELIOT Platform

Test Result :

All critical Test cases are passed.

CI / CD Logs :

Logs are pushed in nexus repo:-

https://nexus.akraino.org/content/sites/logs/huawei/blueprints/iotgateway/job/eliot-iotgateway-deploy-k8s-virtual-daily-master/405/results/os/vuls/

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

44400


Additional Testing

N/A

Bottlenecks/Errata

N/A

  • No labels