From 9c50e0912a48aedf3470fb069c29d7193d610be4 Mon Sep 17 00:00:00 2001 From: Fatih Degirmenci Date: Mon, 18 Mar 2019 13:54:20 +0100 Subject: [PATCH] Wait for package manager process to finish Change-Id: Ibfceb987bb5f2d4281813c836d4ac5e0af466c32 --- jjb/cloud-infra/cloud-infra-verify-jobs.yaml | 8 +--- jjb/cloud-infra/wait-for-pkg-manager.sh | 50 ++++++++++++++++++++ 2 files changed, 52 insertions(+), 6 deletions(-) create mode 100644 jjb/cloud-infra/wait-for-pkg-manager.sh diff --git a/jjb/cloud-infra/cloud-infra-verify-jobs.yaml b/jjb/cloud-infra/cloud-infra-verify-jobs.yaml index 41dc3c406..bbb5baec5 100644 --- a/jjb/cloud-infra/cloud-infra-verify-jobs.yaml +++ b/jjb/cloud-infra/cloud-infra-verify-jobs.yaml @@ -228,12 +228,8 @@ - builder: name: 'cloud-infra-verify-deploy-macro' builders: - - shell: | - #!/bin/bash - - # it takes some time before the OpenStack slave becomes fully operational - # so we give it some more time before doing anything - sleep 30 + - shell: + !include-raw: ./wait-for-pkg-manager.sh - shell: !include-raw: ./cloud-infra-deploy.sh diff --git a/jjb/cloud-infra/wait-for-pkg-manager.sh b/jjb/cloud-infra/wait-for-pkg-manager.sh new file mode 100644 index 000000000..53eaa0967 --- /dev/null +++ b/jjb/cloud-infra/wait-for-pkg-manager.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +# ============LICENSE_START======================================================= +# Copyright (C) 2019 The Nordix Foundation. All rights reserved. +# ================================================================================ +# 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. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= + +set -o errexit +set -o nounset +set -o pipefail + +source /etc/os-release || source /usr/lib/os-release +case ${ID,,} in + centos) + pkg_mgr_cmd="yum" + ;; + ubuntu) + pkg_mgr_cmd="apt" + ;; +esac + +# just wait few seconds before attempting to check pkg manager process +sleep 10 + +echo "Checking for running package manager instance..." +while true; do + pkg_mgr_process=$(pgrep -f $pkg_mgr_cmd | cat) + if [[ -n $pkg_mgr_process ]]; then + echo "Waiting for $pkg_mgr_cmd process $pkg_mgr_process to finish..." + sleep 10 + else + echo "$pkg_mgr_cmd process done. Continuing..." + break + fi +done + +# vim: set ts=2 sw=2 expandtab: -- 2.25.1