Add smoke/health tests to OSM stage_3
Change-Id: I11b5aab4d4fcd496e47ff8d483ebd4ad771cd780
Signed-off-by: Mike Marchetti <mmarchetti@sandvine.com>
diff --git a/docker/NBI/Dockerfile b/docker/NBI/Dockerfile
index 08f4ee5..0531f3a 100644
--- a/docker/NBI/Dockerfile
+++ b/docker/NBI/Dockerfile
@@ -66,5 +66,8 @@
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"]
diff --git a/docker/RO/Dockerfile b/docker/RO/Dockerfile
index cfccb68..0607d91 100644
--- a/docker/RO/Dockerfile
+++ b/docker/RO/Dockerfile
@@ -47,4 +47,6 @@
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
diff --git a/installers/docker/docker-compose.yaml b/installers/docker/docker-compose.yaml
index fefd66e..c09de86 100644
--- a/installers/docker/docker-compose.yaml
+++ b/installers/docker/docker-compose.yaml
@@ -18,6 +18,11 @@
# - "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:
diff --git a/jenkins/ci-pipelines/ci_stage_3.groovy b/jenkins/ci-pipelines/ci_stage_3.groovy
index 65b9dcc..64a71a5 100644
--- a/jenkins/ci-pipelines/ci_stage_3.groovy
+++ b/jenkins/ci-pipelines/ci_stage_3.groovy
@@ -35,8 +35,8 @@
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 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 @@
}
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")
}
}