Kiril Nesenko has uploaded a new change for review. Change subject: Fix update_engine_params to support repo links ......................................................................
Fix update_engine_params to support repo links Change-Id: Ie23280488eefc01d33e292789789e3fb90ca4865 Signed-off-by: Kiril Nesenko <[email protected]> --- M jobs/ovirt_engine_upgrade_params/update_engine_params.sh 1 file changed, 81 insertions(+), 54 deletions(-) git pull ssh://gerrit.ovirt.org:29418/jenkins refs/changes/91/25291/1 diff --git a/jobs/ovirt_engine_upgrade_params/update_engine_params.sh b/jobs/ovirt_engine_upgrade_params/update_engine_params.sh index ec2057c..149c5c7 100644 --- a/jobs/ovirt_engine_upgrade_params/update_engine_params.sh +++ b/jobs/ovirt_engine_upgrade_params/update_engine_params.sh @@ -1,41 +1,71 @@ #!/bin/bash -x # ./update_engine_params.sh <workspace> <from version> <to version> -WORKSPACE=$1 -FROM=$2 -TO=$3 -ANS_FILE="${WORKSPACE}"/jenkins/jobs/ovirt_engine_upgrade_params/answer.file.otopi -CLEANUP_FILE="${WORKSPACE}"/jenkins/jobs/ovirt_engine_upgrade_params/cleanup.file.otopi -DATE=$(date +"%a_%b_%d_%H_%M_%S_%Z_%Y") -LOG="${WORKSPACE}/${DATE}.log" -HOSTNAME=$(hostname) -OS="$(awk '{print $1}' /etc/redhat-release | tr -s '[A-Z]' '[a-z]')" - -validate() -{ - if [[ -z "${WORKSPACE}" \ - || -z "${TO}" \ - || -z "${FROM}" ]]; then - echo "Please provide 3 parameters to the job" - exit 1 - fi +die() { + local m="${1}" + echo "FATAL: ${m}" + exit 1 } +usage() { + cat << __EOF__ + ${0} [options] + --workspace - path to workspace + --from-repo-url - repo to install the from engine + --to-repo-url - repo to engine you want to upgrade to +__EOF__ +} -init_postgres() -{ - local res=0 - if rpm -q postgresql-server; then - service postgresql stop - yum remove -y postgresql-server - fi - ## rm -rf does not complain if the file does not exist - rm -rf /var/lib/pgsql/data - yum -y install postgresql-server - postgresql-setup initdb || res=$(($res + $?)) - ## ugly fig for the tests to work - cat >/var/lib/pgsql/data/pg_hba.conf <<EOF +get_opts() { + while [ -n "${1}" ]; do + opt="$1" + v="${opt#*=}" + shift + case "${opt}" in + --workspace=*) + WORKSPACE="${v}" + ;; + --from-repo-url=*) + FROM="${1}" + ;; + --to-repo-url=*) + TO="${TO}" + ;; + *) + usage + die "Wrong option" + ;; + esac + done +} + +validate() { + [ -n "${WORKSPACE}" ] || die "Please specify --workspace= option" + [ -n "${TO}" ] || die "Please specify --to-repo-url= option" + [ -n "${FROM}" ] || die " Please specify --from-repo-url= option" +} + +configure() { + ANS_FILE="${WORKSPACE}"/jenkins/jobs/ovirt_engine_upgrade_params/answer.file.otopi + CLEANUP_FILE="${WORKSPACE}"/jenkins/jobs/ovirt_engine_upgrade_params/cleanup.file.otopi + DATE=$(date +"%a_%b_%d_%H_%M_%S_%Z_%Y") + LOG="${WORKSPACE}/${DATE}.log" + HOSTNAME="$(hostname)" +} + +init_postgres() { + local res=0 + if rpm -q postgresql-server; then + service postgresql stop + yum remove -y postgresql-server + fi + ## rm -rf does not complain if the file does not exist + rm -rf /var/lib/pgsql/data + yum -y install postgresql-server + postgresql-setup initdb || res=$(($res + $?)) + ## ugly fig for the tests to work + cat >/var/lib/pgsql/data/pg_hba.conf <<EOF host all all 127.0.0.1/0 trust host all all ::1/128 trust local all all trust @@ -93,24 +123,14 @@ } -configure_repo() -{ - local _release=$1 - local _os="" +configure_repo() { + local repo="${1}" + local release="${2}" - if [[ "${OS}" == "fedora" ]]; then - _os="Fedora" - elif [[ "${OS}" == "centos" ]]; then - _os="EL" - else - echo "${_os} is not supported" - exit 1 - fi - - cat << EOF > /etc/yum.repos.d/upgrade_params_${_release}.repo -[ovirt-engine-${_release}] -name=oVirt Engine ${_release} -baseurl=http://ovirt.org/releases/${_release}/rpm/${_os}/\$releasever/ + cat << EOF > /etc/yum.repos.d/upgrade_params_${release}.repo +[ovirt-engine-${release}] +name=oVirt Engine ${release} +baseurl=${repo} enabled=1 gpgcheck=0 EOF @@ -204,9 +224,11 @@ post_clean() { + local from="${1}" + local to="${2}" # Cleanup stage - rm -f /etc/yum.repos.d/upgrade_params_"${FROM}".repo \ - /etc/yum.repos.d/upgrade_params_"${TO}".repo + rm -f /etc/yum.repos.d/upgrade_params_"${from}".repo \ + /etc/yum.repos.d/upgrade_params_"${to}".repo ${ENGINE_CLEANUP} || echo "CLEANUP_FAILED" >> "${LOG}" copy_log } @@ -214,19 +236,24 @@ main() { + get_opts "${@}" validate + configure pre_clean init_postgres disable_engine_repos prepare_pgpass - configure_repo "${FROM}" + + from_release="$(basename "${FROM}")" + to_release="$(basename "${TO}")" + configure_repo "${FROM}" "${from_release}" install_from_engine - configure_repo "${TO}" + configure_repo "${TO}" "${to_release}" engine_upgrade check_engine_status - post_clean + post_clean "${from_release}" "${to_release}" enable_engine_repos remove_pgpass } -main +main "${@}" -- To view, visit http://gerrit.ovirt.org/25291 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ie23280488eefc01d33e292789789e3fb90ca4865 Gerrit-PatchSet: 1 Gerrit-Project: jenkins Gerrit-Branch: master Gerrit-Owner: Kiril Nesenko <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
