From d76905b9c98ec32f17bb9568ff80c04068aa213e Mon Sep 17 00:00:00 2001 From: fkrzywka Date: Mon, 30 Jul 2018 12:55:03 +0200 Subject: Define simple healthchecks for simulators - currently containers are healthy if they have successfully started their Http servers thus simple endpoint at /healthcheck is sufficient - to enable docker healthcheck we need to add `curl` to docker images - http_proxy needs to be provided for docker to be able to build images behind proxy Closes ONAP-695 Change-Id: I02f0b8cc2732713b5307dbc34ba604d8185b74fc Signed-off-by: fkrzywka Issue-ID: DCAEGEN2-601 --- .gitlab-ci.yml | 2 +- hv-collector-dcae-app-simulator/Dockerfile | 4 ++++ .../dcae/collectors/veshv/simulators/dcaeapp/remote/ApiServer.kt | 3 +++ hv-collector-xnf-simulator/Dockerfile | 5 +++++ .../onap/dcae/collectors/veshv/simulators/xnf/impl/HttpServer.kt | 3 +++ pom.xml | 6 ++++++ 6 files changed, 22 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5585f92c..a1d94acf 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,7 +8,7 @@ stages: build: stage: build script: - - mvn -e -T2 -Panalysis clean install + - mvn -e -T2 -Panalysis clean install -Ddocker.http_proxy="http://$PROXY_HOST:$PROXY_PORT" -Ddocker.https_proxy="http://$PROXY_HOST:$PROXY_PORT" artifacts: paths: - hv-collector-coverage/target/site/jacoco-aggregate diff --git a/hv-collector-dcae-app-simulator/Dockerfile b/hv-collector-dcae-app-simulator/Dockerfile index 39bd878d..55bf645c 100644 --- a/hv-collector-dcae-app-simulator/Dockerfile +++ b/hv-collector-dcae-app-simulator/Dockerfile @@ -5,6 +5,10 @@ LABEL license.name="The Apache Software License, Version 2.0" LABEL license.url="http://www.apache.org/licenses/LICENSE-2.0" LABEL maintainer="Nokia Wroclaw ONAP Team" +RUN apt-get update \ + && apt-get install -y --no-install-recommends curl \ + && apt-get clean + WORKDIR /opt/ves-hv-dcae-app-simulator ENTRYPOINT ["java", "-cp", "*:", "org.onap.dcae.collectors.veshv.simulators.dcaeapp.MainKt"] COPY target/libs/external/* ./ diff --git a/hv-collector-dcae-app-simulator/src/main/kotlin/org/onap/dcae/collectors/veshv/simulators/dcaeapp/remote/ApiServer.kt b/hv-collector-dcae-app-simulator/src/main/kotlin/org/onap/dcae/collectors/veshv/simulators/dcaeapp/remote/ApiServer.kt index cb1484b7..79f143ee 100644 --- a/hv-collector-dcae-app-simulator/src/main/kotlin/org/onap/dcae/collectors/veshv/simulators/dcaeapp/remote/ApiServer.kt +++ b/hv-collector-dcae-app-simulator/src/main/kotlin/org/onap/dcae/collectors/veshv/simulators/dcaeapp/remote/ApiServer.kt @@ -93,6 +93,9 @@ class ApiServer(private val consumerFactory: ConsumerFactory, .block() } } + .get("healthcheck") { ctx -> + ctx.response.status(STATUS_OK).send() + } } private fun generateEvents(ctx: Context, parameters: List): diff --git a/hv-collector-xnf-simulator/Dockerfile b/hv-collector-xnf-simulator/Dockerfile index 48f9dc56..e48a80e7 100644 --- a/hv-collector-xnf-simulator/Dockerfile +++ b/hv-collector-xnf-simulator/Dockerfile @@ -5,8 +5,13 @@ LABEL license.name="The Apache Software License, Version 2.0" LABEL license.url="http://www.apache.org/licenses/LICENSE-2.0" LABEL maintainer="Nokia Wroclaw ONAP Team" +RUN apt-get update \ + && apt-get install -y --no-install-recommends curl \ + && apt-get clean + WORKDIR /opt/ves-hv-client-simulator ENTRYPOINT ["java", "-cp", "*:", "org.onap.dcae.collectors.veshv.simulators.xnf.MainKt"] COPY target/libs/external/* ./ COPY target/libs/internal/* ./ COPY target/hv-collector-xnf-simulator-*.jar ./ + diff --git a/hv-collector-xnf-simulator/src/main/kotlin/org/onap/dcae/collectors/veshv/simulators/xnf/impl/HttpServer.kt b/hv-collector-xnf-simulator/src/main/kotlin/org/onap/dcae/collectors/veshv/simulators/xnf/impl/HttpServer.kt index de686bc5..e6025734 100644 --- a/hv-collector-xnf-simulator/src/main/kotlin/org/onap/dcae/collectors/veshv/simulators/xnf/impl/HttpServer.kt +++ b/hv-collector-xnf-simulator/src/main/kotlin/org/onap/dcae/collectors/veshv/simulators/xnf/impl/HttpServer.kt @@ -66,6 +66,9 @@ internal class HttpServer(private val vesClient: XnfSimulator, .onError { handleException(it, ctx) } .then { sendAcceptedResponse(ctx) } } + .get("healthcheck") { ctx -> + ctx.response.status(STATUS_OK).send() + } } private fun sendAcceptedResponse(ctx: Context) { diff --git a/pom.xml b/pom.xml index ef531bfb..27461bed 100644 --- a/pom.xml +++ b/pom.xml @@ -78,6 +78,8 @@ ${onap.nexus.dockerregistry.daily} onap ves-hv-collector/${project.artifactId} + + @@ -412,6 +414,10 @@ ${project.artifactId} ${docker-image.registry}/${docker-image.namespace}/${docker-image.name} + + ${docker.http_proxy} + ${docker.https_proxy} + ${project.basedir} -- cgit 1.2.3-korg