From 4f84bf5c43fa1ffd333a79075af60ba836a803ab Mon Sep 17 00:00:00 2001 From: Fatih Degirmenci Date: Sun, 22 May 2016 23:19:15 +0200 Subject: yardstick: Take builders out of jjb Change-Id: I246bcdd9f1fa300639bd7ec744cefe82e293b222 Signed-off-by: Fatih Degirmenci --- jjb/yardstick/yardstick-ci-jobs.yml | 77 +++---------------------------------- jjb/yardstick/yardstick-cleanup.sh | 22 +++++++++++ jjb/yardstick/yardstick-daily.sh | 40 +++++++++++++++++++ jjb/yardstick/yardstick-vtcdaily.sh | 6 +++ 4 files changed, 74 insertions(+), 71 deletions(-) create mode 100755 jjb/yardstick/yardstick-cleanup.sh create mode 100755 jjb/yardstick/yardstick-daily.sh create mode 100755 jjb/yardstick/yardstick-vtcdaily.sh diff --git a/jjb/yardstick/yardstick-ci-jobs.yml b/jjb/yardstick/yardstick-ci-jobs.yml index a907d3492..1b17db455 100644 --- a/jjb/yardstick/yardstick-ci-jobs.yml +++ b/jjb/yardstick/yardstick-ci-jobs.yml @@ -226,58 +226,14 @@ - builder: name: yardstick-daily builders: - - shell: | - #!/bin/bash - set -e - [[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null" - - # labconfig is used only for joid - labconfig="" - sshkey="" - if [[ ${INSTALLER_TYPE} == 'apex' ]]; then - instack_mac=$(sudo virsh domiflist instack | grep default | \ - grep -Eo "[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+") - INSTALLER_IP=$(/usr/sbin/arp -e | grep ${instack_mac} | awk {'print $1'}) - sshkey="-v /root/.ssh/id_rsa:/root/.ssh/id_rsa" - if [[ -n $(sudo iptables -L FORWARD |grep "REJECT"|grep "reject-with icmp-port-unreachable") ]]; then - #note: this happens only in opnfv-lf-pod1 - sudo iptables -D FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable - sudo iptables -D FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable - fi - elif [[ ${INSTALLER_TYPE} == 'joid' ]]; then - # If production lab then creds may be retrieved dynamically - # creds are on the jumphost, always in the same folder - labconfig="-v $LAB_CONFIG/admin-openrc:/home/opnfv/openrc" - # If dev lab, credentials may not be the default ones, just provide a path to put them into docker - # replace the default one by the customized one provided by jenkins config - fi - - opts="--privileged=true --rm" - envs="-e INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} \ - -e NODE_NAME=${NODE_NAME} -e EXTERNAL_NETWORK=${EXTERNAL_NETWORK} \ - -e YARDSTICK_BRANCH=${GIT_BRANCH##origin/} -e DEPLOY_SCENARIO=${DEPLOY_SCENARIO}" - - # Pull the latest image - docker pull opnfv/yardstick:$DOCKER_TAG >$redirect - - # Run docker - cmd="sudo docker run ${opts} ${envs} ${labconfig} ${sshkey} opnfv/yardstick \ - run_tests.sh ${YARDSTICK_DB_BACKEND} ${YARDSTICK_SUITE_NAME}" - echo "Yardstick: Running docker cmd: ${cmd}" - ${cmd} - - echo "Yardstick: done!" + - shell: + !include-raw-escape: ./yardstick-daily.sh - builder: name: yardstick-vtcdaily builders: - - shell: | - #!/bin/bash - set -e - [[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null" - - cd $WORKSPACE - ./ci/apexlake-verify + - shell: + !include-raw-escape: ./yardstick-vtcdaily.sh - builder: name: yardstick-fetch-os-creds @@ -288,29 +244,8 @@ - builder: name: yardstick-cleanup builders: - - shell: | - #!/bin/bash - [[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null" - - echo "Cleaning up docker containers/images..." - # Remove previous running containers if exist - if [[ ! -z $(docker ps -a | grep opnfv/yardstick) ]]; then - echo "Removing existing opnfv/yardstick containers..." - docker ps -a | grep opnfv/yardstick | awk '{print $1}' | xargs docker rm -f >$redirect - - fi - - # Remove existing images if exist - if [[ ! -z $(docker images | grep opnfv/yardstick) ]]; then - echo "Docker images to remove:" - docker images | head -1 && docker images | grep opnfv/yardstick - image_tags=($(docker images | grep opnfv/yardstick | awk '{print $2}')) - for tag in "${image_tags[@]}"; do - echo "Removing docker image opnfv/yardstick:$tag..." - docker rmi opnfv/yardstick:$tag >$redirect - - done - fi + - shell: + !include-raw-escape: ./yardstick-cleanup.sh ######################## # parameter macros ######################## diff --git a/jjb/yardstick/yardstick-cleanup.sh b/jjb/yardstick/yardstick-cleanup.sh new file mode 100755 index 000000000..4e6f7d680 --- /dev/null +++ b/jjb/yardstick/yardstick-cleanup.sh @@ -0,0 +1,22 @@ +#!/bin/bash +[[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null" + +echo "Cleaning up docker containers/images..." +# Remove previous running containers if exist +if [[ ! -z $(docker ps -a | grep opnfv/yardstick) ]]; then + echo "Removing existing opnfv/yardstick containers..." + docker ps -a | grep opnfv/yardstick | awk '{print $1}' | xargs docker rm -f >$redirect + +fi + +# Remove existing images if exist +if [[ ! -z $(docker images | grep opnfv/yardstick) ]]; then + echo "Docker images to remove:" + docker images | head -1 && docker images | grep opnfv/yardstick + image_tags=($(docker images | grep opnfv/yardstick | awk '{print $2}')) + for tag in "${image_tags[@]}"; do + echo "Removing docker image opnfv/yardstick:$tag..." + docker rmi opnfv/yardstick:$tag >$redirect + + done +fi diff --git a/jjb/yardstick/yardstick-daily.sh b/jjb/yardstick/yardstick-daily.sh new file mode 100755 index 000000000..3ad6b7c7c --- /dev/null +++ b/jjb/yardstick/yardstick-daily.sh @@ -0,0 +1,40 @@ +#!/bin/bash +set -e +[[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null" + +# labconfig is used only for joid +labconfig="" +sshkey="" +if [[ ${INSTALLER_TYPE} == 'apex' ]]; then + instack_mac=$(sudo virsh domiflist instack | grep default | \ + grep -Eo "[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+") + INSTALLER_IP=$(/usr/sbin/arp -e | grep ${instack_mac} | awk {'print $1'}) + sshkey="-v /root/.ssh/id_rsa:/root/.ssh/id_rsa" + if [[ -n $(sudo iptables -L FORWARD |grep "REJECT"|grep "reject-with icmp-port-unreachable") ]]; then + #note: this happens only in opnfv-lf-pod1 + sudo iptables -D FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable + sudo iptables -D FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable + fi +elif [[ ${INSTALLER_TYPE} == 'joid' ]]; then + # If production lab then creds may be retrieved dynamically + # creds are on the jumphost, always in the same folder + labconfig="-v $LAB_CONFIG/admin-openrc:/home/opnfv/openrc" + # If dev lab, credentials may not be the default ones, just provide a path to put them into docker + # replace the default one by the customized one provided by jenkins config +fi + +opts="--privileged=true --rm" +envs="-e INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} \ + -e NODE_NAME=${NODE_NAME} -e EXTERNAL_NETWORK=${EXTERNAL_NETWORK} \ + -e YARDSTICK_BRANCH=${GIT_BRANCH##origin/} -e DEPLOY_SCENARIO=${DEPLOY_SCENARIO}" + +# Pull the latest image +docker pull opnfv/yardstick:$DOCKER_TAG >$redirect + +# Run docker +cmd="sudo docker run ${opts} ${envs} ${labconfig} ${sshkey} opnfv/yardstick \ + run_tests.sh ${YARDSTICK_DB_BACKEND} ${YARDSTICK_SUITE_NAME}" +echo "Yardstick: Running docker cmd: ${cmd}" +${cmd} + +echo "Yardstick: done!" diff --git a/jjb/yardstick/yardstick-vtcdaily.sh b/jjb/yardstick/yardstick-vtcdaily.sh new file mode 100755 index 000000000..32408bcc3 --- /dev/null +++ b/jjb/yardstick/yardstick-vtcdaily.sh @@ -0,0 +1,6 @@ +#!/bin/bash +set -e +[[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null" + +cd $WORKSPACE +./ci/apexlake-verify -- cgit 1.2.3-korg