From c3666affeae842e3c2d8f9191928f3ae4437bc59 Mon Sep 17 00:00:00 2001 From: Jo¶rgen Karlsson Date: Tue, 16 Feb 2016 20:24:56 +0100 Subject: ci: Freeze pip requirements + cleanups MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Freeze pip requirements for brahmaputra release to make sure we keep track of dependencies. Fixes internalURL problem with ericsson-virtual1 Add check to verify that nova, glance and heat services are functional Change-Id: I15c3d215596eaad31f8e260d129b8e07a7d63976 Signed-off-by: Jo¶rgen Karlsson (cherry picked from commit 3b7c8d522d1ef0950d5c79232e161de05689fe53) --- ci/docker/yardstick-ci/Dockerfile | 5 +++++ ci/prepare_env.sh | 13 ++++++++++-- ci/yardstick-verify | 44 ++++++++++++++++++++++++++------------- 3 files changed, 46 insertions(+), 16 deletions(-) diff --git a/ci/docker/yardstick-ci/Dockerfile b/ci/docker/yardstick-ci/Dockerfile index a1cf9160f..91d29da33 100644 --- a/ci/docker/yardstick-ci/Dockerfile +++ b/ci/docker/yardstick-ci/Dockerfile @@ -42,6 +42,11 @@ RUN git config --global http.sslVerify false RUN git clone https://gerrit.opnfv.org/gerrit/yardstick ${YARDSTICK_REPO_DIR} RUN git clone https://gerrit.opnfv.org/gerrit/releng ${RELENG_REPO_DIR} +# install yardstick + dependencies +RUN cd ${YARDSTICK_REPO_DIR} && easy_install -U pip +RUN cd ${YARDSTICK_REPO_DIR} && pip install -r ci/requirements.txt +RUN cd ${YARDSTICK_REPO_DIR} && pip install . + ADD http://download.cirros-cloud.net/0.3.3/cirros-0.3.3-x86_64-disk.img /home/opnfv/images/ COPY ./run_tests.sh /usr/local/bin/ diff --git a/ci/prepare_env.sh b/ci/prepare_env.sh index a51938c80..31a8e405b 100755 --- a/ci/prepare_env.sh +++ b/ci/prepare_env.sh @@ -13,8 +13,8 @@ : ${INSTALLER_TYPE:='fuel'} : ${INSTALLER_IP:='10.20.0.2'} -: ${NODE_NAME:='opnfv-jump-2'} -: ${EXTERNAL_NETWORK:='net04_ext'} +: ${NODE_NAME:='unknown'} +: ${EXTERNAL_NETWORK:='admin_floating_net'} # Extract network name from EXTERNAL_NETWORK # e.g. EXTERNAL_NETWORK='ext-net;flat;192.168.0.2;192.168.0.253;192.168.0.1;192.168.0.0/24' @@ -26,10 +26,19 @@ echo "INFO: Creating openstack credentials .." # Create openstack credentials OPENRC=/home/opnfv/openrc if [ ! -f $OPENRC ]; then + $RELENG_REPO_DIR/utils/fetch_os_creds.sh \ -d $OPENRC \ -i ${INSTALLER_TYPE} -a ${INSTALLER_IP} + + # Fuel virtual need a fix + if [ "$NODE_NAME" == "ericsson-virtual1" ]; then + echo "INFO: Changing: internalURL -> publicURL in openrc" + sed -i 's/internalURL/publicURL/' $OPENRC + fi + fi + source $OPENRC export EXTERNAL_NETWORK INSTALLER_TYPE NODE_NAME diff --git a/ci/yardstick-verify b/ci/yardstick-verify index 630fed5f5..875b01ff2 100755 --- a/ci/yardstick-verify +++ b/ci/yardstick-verify @@ -54,10 +54,12 @@ while getopts "r:i:h" OPTION; do r) DISPATCHER_TYPE=http DISPATCHER_HTTP_TARGET=http://${OPTARG} + DISPATCHER_FILE_NAME= ;; i) DISPATCHER_TYPE=influxdb DISPATCHER_INFLUXDB_TARGET=http://${OPTARG} + DISPATCHER_FILE_NAME= ;; *) echo "${OPTION} is not a valid argument" @@ -112,10 +114,11 @@ install_yardstick() echo echo "========== Installing yardstick ==========" - if ! sudo python setup.py install; then - echo 'Yardstick installation failed!' - exit 1 - fi + # uninstall previous version + pip uninstall -y yardstick || true + + # Install yardstick + pip install . } build_yardstick_image() @@ -309,15 +312,13 @@ main() echo echo "========== Running Yardstick CI with following parameters ==========" echo "Script options: ${SCRIPT} $SCRIPT_ARGS" - echo "Result API: ${DISPATCHER_HTTP_TARGET:-$DISPATCHER_FILE_NAME}" + echo "Dispatcher: ${DISPATCHER_TYPE} ${DISPATCHER_FILE_NAME}" echo "YARDSTICK_VERSION: ${YARDSTICK_VERSION}" echo "Number of test suites: ${#SUITE_FILES[@]}" for suite in ${SUITE_FILES[*]}; do echo " $suite" done - - # install yardstick - install_yardstick + echo # check if some necessary variables is set if [ -z "$OS_AUTH_URL" ]; then @@ -325,12 +326,27 @@ main() exit 1 fi - # check if the api is up - echo "Checking if OS API is working..." - if ! glance image-list > /dev/null; then - echo "OS API is down" - exit 1 - fi + echo "OS_AUTH_URL is $OS_AUTH_URL" + echo + + # check OpenStack services + echo "Checking OpenStack services:" + for cmd in "glance image-list" "nova list" "heat stack-list"; do + echo " checking ${cmd/%\ */} ..." + if ! $cmd >/dev/null; then + echo "error: command \"$cmd\" failed" + exit 1 + fi + done + + echo + echo "Checking for External network:" + for net in $(neutron net-list --router:external -c name -f value); do + echo " external network: $net" + done + + # install yardstick + install_yardstick cleanup -- cgit 1.2.3-korg