diff options
author | fkrzywka <filip.krzywka@nokia.com> | 2018-07-30 12:55:03 +0200 |
---|---|---|
committer | Piotr Jaszczyk <piotr.jaszczyk@nokia.com> | 2018-08-03 10:24:25 +0200 |
commit | d76905b9c98ec32f17bb9568ff80c04068aa213e (patch) | |
tree | 83154a3bcea680fd5902b48f4c27828e33167c9a | |
parent | a2d874fd73825b254a3e0be81cff57a5c3e1d9d7 (diff) |
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 <filip.krzywka@nokia.com>
Issue-ID: DCAEGEN2-601
6 files changed, 22 insertions, 1 deletions
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<MessageParameters>): 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) { @@ -78,6 +78,8 @@ <docker-image.registry>${onap.nexus.dockerregistry.daily}</docker-image.registry> <docker-image.namespace>onap</docker-image.namespace> <docker-image.name>ves-hv-collector/${project.artifactId}</docker-image.name> + <docker.http_proxy> </docker.http_proxy> + <docker.https_proxy> </docker.https_proxy> </properties> @@ -412,6 +414,10 @@ <alias>${project.artifactId}</alias> <name>${docker-image.registry}/${docker-image.namespace}/${docker-image.name}</name> <build> + <args> + <http_proxy>${docker.http_proxy}</http_proxy> + <https_proxy>${docker.https_proxy}</https_proxy> + </args> <dockerFileDir>${project.basedir}</dockerFileDir> </build> </image> |