Add smoke/health tests to OSM stage_3 28/6528/2
authorMike Marchetti <mmarchetti@sandvine.com>
Thu, 20 Sep 2018 14:18:01 +0000 (10:18 -0400)
committerMike Marchetti <mmarchetti@sandvine.com>
Thu, 20 Sep 2018 14:19:22 +0000 (10:19 -0400)
Change-Id: I11b5aab4d4fcd496e47ff8d483ebd4ad771cd780
Signed-off-by: Mike Marchetti <mmarchetti@sandvine.com>
docker/NBI/Dockerfile
docker/RO/Dockerfile
installers/docker/docker-compose.yaml
jenkins/ci-pipelines/ci_stage_3.groovy

index 08f4ee5..0531f3a 100644 (file)
@@ -66,5 +66,8 @@ ENV OSMNBI_MESSAGE_PORT    9092
 ENV OSMNBI_LOG_FILE        /app/log/nbi.log
 ENV OSMNBI_LOG_LEVEL       DEBUG
 
+HEALTHCHECK --interval=5s --timeout=2s --retries=12 \
+  CMD curl -k https://localhost:9999/osm/ | grep Welcome || exit 1
+
 # Run app.py when the container launches
 CMD ["python3", "/usr/lib/python3/dist-packages/osm_nbi/nbi.py"]
index cfccb68..0607d91 100644 (file)
@@ -47,4 +47,6 @@ ENV RO_DB_OVIM_PORT=3306
 ENV RO_DB_NAME=mano_db
 ENV RO_DB_OVIM_NAME=mano_vim_db
 
+HEALTHCHECK --interval=5s --timeout=2s --retries=12 \
+  CMD curl --silent --fail localhost:9090/openmano/tenants || exit 1
 CMD /bin/RO/start.sh
index fefd66e..c09de86 100644 (file)
@@ -18,6 +18,11 @@ services:
 #      - "2181:2181"
     networks:
       - netOSM
+    healthcheck:
+      test: echo stat | nc localhost 2181
+      interval: 10s
+      timeout: 10s
+      retries: 3
   kafka:
     image: wurstmeister/kafka:${KAFKA_TAG:-latest}
     ports:
index 65b9dcc..64a71a5 100644 (file)
@@ -35,8 +35,8 @@ properties([
         booleanParam(defaultValue: false, description: '', name: 'SAVE_CONTAINER_ON_PASS'),
         booleanParam(defaultValue: false, description: '', name: 'DO_STAGE_4'),
         booleanParam(defaultValue: true, description: '',  name: 'DO_BUILD'),
-        booleanParam(defaultValue: false, description: '', name: 'DO_INSTALL'),
-        booleanParam(defaultValue: false, description: '', name: 'DO_SMOKE'),
+        booleanParam(defaultValue: true, description: '', name: 'DO_INSTALL'),
+        booleanParam(defaultValue: true, description: '', name: 'DO_SMOKE'),
         booleanParam(defaultValue: false, description: '', name: 'SAVE_ARTIFACTS_OVERRIDE'),
     ])
 ])
@@ -49,6 +49,15 @@ def uninstall_osm(stackName) {
        """
 }
 
+def run_systest(stackName,tagName,testName) {
+    sh """
+        tempdir=$(mktemp -d)
+        docker run -ti --network net${stackName} -v $tempdir:/usr/share/osm-devops/systest/reports osm/osmclient:${tagName} make -C /usr/share/osm-devops/systest ${testName}
+        cp $tempdir/*.xml .
+       """
+    junit  '*.xml'
+}
+
 node("${params.NODE}") {
 
     sh 'env'
@@ -209,9 +218,11 @@ node("${params.NODE}") {
         }
 
         if ( params.DO_SMOKE ) {
+            stage("OSM Health") {
+                sh "installers/osm_health.sh -s ${container_name}"
+            }
             stage("Smoke") {
-                ci_helper.systest_run(container_name, 'smoke')
-                junit '*.xml'
+                run_systest(container_name,container_name,"smoke")
             }
         }