#!/bin/bash . __FFOOD_INIT__ FFOOD_INIPATH="__FFOOD_INIPATH__" ffood import core ffood import proj_ol ffood import testing ffood import sw ffood import yummy ENVIRON_SCRIPT="$FFOOD_DATA_DIR-local/bash_env" FFOOD_VERBOSE=true # tmp needs to be shared to children if test -d "$TMP_DIR"; then # we must be child THIS_IS_CHILD=true else # we are top parent; need some setup THIS_IS_CHILD=false export TMP_DIR="$(mktemp -d)" fi [ "$(whoami)" == "root" ] || die "you need to be root" yum_install_if_needed wget case "$1" in ## ------ ## ## COMMON ## ## ------ ## abrtbz) echo "Updating abrt to internal version" save_repo_for abrtbz yum_update "abrt" ;; sl0) echo "Turning off SELinux" setenforce 0 sed -i~ -e 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config ;; ## ------- ## ## OPENLMI ## ## ------- ## ## setup - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ## olbrc) LMI_CIMOM_PORT=5989 mkdir -p "$(dirname $ENVIRON_SCRIPT)" echo "Adding ol environment script $ENVIRON_SCRIPT to .bashrc" { # warning: only echo if not login shell or rsync will freak out echo "shopt -q login_shell && echo setting up ol environment variables" echo "export LMI_ACCOUNT_USER='account_test_user'" echo "export LMI_ACCOUNT_GROUP='account_test_group'" echo "export LMI_CIMOM_URL='https://${HOSTNAME}:$LMI_CIMOM_PORT'" echo "export LMI_CIMOM_USERNAME='pegasus'" echo "export LMI_CIMOM_PASSWORD='blank'" echo "export LMI_CIMOM_BROKER='tog-pegasus'" echo "export LMI_RUN_DANGEROUS='1'" echo "export LMI_IND_LISTENER_PORT='15000'" echo "export PYTHONPATH='$PYTHONPATH:$PWD/openlmi-providers/src/python'" } > $ENVIRON_SCRIPT append_if_missing \ "test -f $ENVIRON_SCRIPT && . $ENVIRON_SCRIPT" \ /root/.bashrc ;; olconfig) $0 sl0 echo "Bypassing SSL verification" echo "127.0.0.1 $(hostname)" >> /etc/hosts service tog-pegasus start # to generate server.pem service tog-pegasus stop cp "/etc/Pegasus/server.pem" \ "/etc/pki/ca-trust/source/anchors/remote-server.pem" update-ca-trust echo "Setting pegasus password" echo "pegasus:blank" | chpasswd $0 olbrc ;; ## runtime - - - - - - - - - - - - - - - - - - - - - - - - - - - - ## olenv) . $ENVIRON_SCRIPT ;; olcs) echo "Starting a simple cimserver ($(comment_cimserver))" start_cimserver ;; olrun*) $0 olcs $0 olenv iniread -p mk.run.what.$2 mk-ol.ini \ | while read path; do pushd "$(dirname $path)"; nosetests --nocapture -v "$(basename $path)" popd done stop_cimserver ;; OL) save_repo_for openlmi-scripts echo "Installing OpenLMI software" iniread -s mk.requires.sut mk-ol.ini | any_install echo "Installing testing tools" iniread -s mk.requires.test mk-ol.ini | any_install $0 olconfig ;; ## --------- ## ## BEAKERLIB ## ## --------- ## bkrund) TERM=xterm reset pushd "mk-$2" make run > 1 popd ;; bkrun) pushd "mk-$2" make run popd ;; ## rpmwork - - - - - - - - - - - - - - - - - - - - - - - - - - - - ## rpmso) path=rpms/old/`arch` echo "Deploying old RPMs from $path" guess_pkgnames $path | yum_preerase yum_install $path/* guess_pkgnames $path | installed_versions ;; rpmsn) path=rpms/new/`arch` echo "Deploying new RPMs from $path" guess_pkgnames $path | yum_preerase yum_install $path/* guess_pkgnames $path | installed_versions ;; RH) save_repo_for beakerlib save_repo_for rhpkg save_repo_for beakerlib-redhat echo "Installing tested software" iniread -s mk.requires.sut mk-bk.ini | any_install echo "Installing testing tools" iniread -s mk.requires.test mk-bk.ini | any_install ;; *) usage_is "TARGET" esac if ! $THIS_IS_CHILD; then collect_artifacts artifacts rm -rf $TMP_DIR fi