From 851aac2e9fea85ceb75e58d1557e931f55197237 Mon Sep 17 00:00:00 2001 From: Mike Marchetti Date: Thu, 20 Sep 2018 10:18:01 -0400 Subject: [PATCH] Add smoke/health tests to OSM stage_3 Change-Id: I11b5aab4d4fcd496e47ff8d483ebd4ad771cd780 Signed-off-by: Mike Marchetti --- docker/NBI/Dockerfile | 3 +++ docker/RO/Dockerfile | 2 ++ installers/docker/docker-compose.yaml | 5 +++++ jenkins/ci-pipelines/ci_stage_3.groovy | 19 +++++++++++++++---- 4 files changed, 25 insertions(+), 4 deletions(-) diff --git a/docker/NBI/Dockerfile b/docker/NBI/Dockerfile index 08f4ee59..0531f3af 100644 --- a/docker/NBI/Dockerfile +++ b/docker/NBI/Dockerfile @@ -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"] diff --git a/docker/RO/Dockerfile b/docker/RO/Dockerfile index cfccb68c..0607d91e 100644 --- a/docker/RO/Dockerfile +++ b/docker/RO/Dockerfile @@ -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 diff --git a/installers/docker/docker-compose.yaml b/installers/docker/docker-compose.yaml index fefd66e3..c09de863 100644 --- a/installers/docker/docker-compose.yaml +++ b/installers/docker/docker-compose.yaml @@ -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: diff --git a/jenkins/ci-pipelines/ci_stage_3.groovy b/jenkins/ci-pipelines/ci_stage_3.groovy index 65b9dcce..64a71a53 100644 --- a/jenkins/ci-pipelines/ci_stage_3.groovy +++ b/jenkins/ci-pipelines/ci_stage_3.groovy @@ -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") } } -- 2.25.1