diff options
author | 2020-04-02 03:57:07 -0700 | |
---|---|---|
committer | 2020-04-02 04:03:05 -0700 | |
commit | b7f20999760402c409a802bd1576cf58960e3498 (patch) | |
tree | 1950c7926523608f0c7f96e54f51dcd0efdabec7 /jjb | |
parent | bf005fd0b62f14dc6c6ebc2950704eb4ed296e71 (diff) |
Setup CI gating verify job for emssimulator's swm-netconf module
Change-Id: Idd05e135640e47dd9cb316ca2cde304e949c52fc
Issue-ID: INT-1508
Signed-off-by: Bartek Grzybowski <b.grzybowski@partner.samsung.com>
Diffstat (limited to 'jjb')
-rw-r--r-- | jjb/integration/emssimulator-swm-netconf_post.sh | 44 | ||||
-rw-r--r-- | jjb/integration/integration-docker-compose.yaml | 4 | ||||
-rw-r--r-- | jjb/integration/integration-templates-docker.yaml | 2 |
3 files changed, 50 insertions, 0 deletions
diff --git a/jjb/integration/emssimulator-swm-netconf_post.sh b/jjb/integration/emssimulator-swm-netconf_post.sh new file mode 100644 index 000000000..b69d3c0f8 --- /dev/null +++ b/jjb/integration/emssimulator-swm-netconf_post.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +# Copyright 2020 Samsung Electronics Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +echo "---> emssimulator-swm-netconf_post.sh" + +set -e # Exit with zero only if all commands succeed + +SERVICE_NAME="ems-netconf-swm" +DOCKER_COMPOSE_LOG="/tmp/docker-compose.log" +DOCKER_COMPOSE_LOG_MSG=( "INFO success:" "entered RUNNING state" ) +DOCKER_COMPOSE_SLEEP_INTERVAL=4 + +pushd $DOCKER_ROOT + +# Dump container logs +sleep ${DOCKER_COMPOSE_SLEEP_INTERVAL} # Hang for a while so the services settle +docker-compose logs --no-color > ${DOCKER_COMPOSE_LOG} + +# Get the supervisord services running within container +supervisord_services=($(docker-compose exec -T ${SERVICE_NAME} /bin/sh -c \ + 'cat /etc/supervisord.conf /etc/supervisord.d/*' | grep -ho "program:[-a-zA-Z0-9]*" | cut -d: -f 2)) + +# Check all services are running and fail if not +for service in ${supervisord_services[@]}; +do + if ! grep -q "${DOCKER_COMPOSE_LOG_MSG[0]} $service ${DOCKER_COMPOSE_LOG_MSG[1]}" ${DOCKER_COMPOSE_LOG}; + then + echo "ERROR: Service $service is not running, failing the build." + exit 1 + fi +done diff --git a/jjb/integration/integration-docker-compose.yaml b/jjb/integration/integration-docker-compose.yaml index 540ee4f95..ae840f6c6 100644 --- a/jjb/integration/integration-docker-compose.yaml +++ b/jjb/integration/integration-docker-compose.yaml @@ -16,3 +16,7 @@ - 'netconf-pnp-simulator': pattern: 'test/mocks/netconf-pnp-simulator/modules/**' docker_root: 'test/mocks/netconf-pnp-simulator/modules' + - 'emssimulator-swm-netconf': + pattern: 'test/mocks/emssimulator/swm-netconf/**' + docker_root: 'test/mocks/emssimulator/swm-netconf' + post_script: !include-raw-escape: emssimulator-swm-netconf_post.sh diff --git a/jjb/integration/integration-templates-docker.yaml b/jjb/integration/integration-templates-docker.yaml index caa0ad756..0ef7a5212 100644 --- a/jjb/integration/integration-templates-docker.yaml +++ b/jjb/integration/integration-templates-docker.yaml @@ -130,6 +130,7 @@ description: 'This job validates Docker Compose based projects' node: 'ubuntu1804-docker-8c-8g' docker_root: '$WORKSPACE' + post_script: '' parameters: - lf-infra-parameters: @@ -163,6 +164,7 @@ properties-content: | DOCKER_ROOT={docker_root} - shell: '{script}' + - shell: '{post_script}' publishers: - integration-docker-compose-logs |