Kiril Nesenko has uploaded a new change for review. Change subject: Add new job update-engine-params ......................................................................
Add new job update-engine-params This job will allow to test upgrades between versions. Change-Id: I1809bd55c88b17f1d7dfde3920212e6f046709a8 Signed-off-by: Kiril Nesenko <knese...@redhat.com> --- A jobs/ovirt_engine_upgrade_params/answer.file.otopi A jobs/ovirt_engine_upgrade_params/answer.file_33 A jobs/ovirt_engine_upgrade_params/cleanup.file.otopi A jobs/ovirt_engine_upgrade_params/ovirt_engine_nightly.repo A jobs/ovirt_engine_upgrade_params/ovirt_engine_stable.repo A jobs/ovirt_engine_upgrade_params/update_engine_params.sh 6 files changed, 264 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/jenkins refs/changes/94/21094/1 diff --git a/jobs/ovirt_engine_upgrade_params/answer.file.otopi b/jobs/ovirt_engine_upgrade_params/answer.file.otopi new file mode 100644 index 0000000..239da68 --- /dev/null +++ b/jobs/ovirt_engine_upgrade_params/answer.file.otopi @@ -0,0 +1,33 @@ +[environment:default] +OVESETUP_AIO/storageDomainDir=none:None +OVESETUP_AIO/configure=none:None +OVESETUP_AIO/rootPassword=none:None +OSETUP_RPMDISTRO/enableUpgrade=bool:True +OVESETUP_CONFIG/storageType=str:nfs +OVESETUP_CONFIG/isoDomainName=str:ISO_DOMAIN +OVESETUP_CONFIG/websocketProxyConfig=bool:True +OVESETUP_CONFIG/adminPassword=str:123456 +OVESETUP_CONFIG/applicationMode=str:both +OVESETUP_CONFIG/firewallManager=str:iptables +OVESETUP_CONFIG/isoDomainMountPoint=str:/var/lib/exports/iso +OVESETUP_CONFIG/fqdn=str:CHANGE_HOSTNAME +OVESETUP_CONFIG/macRangePool=str:00:1A:4A:16:98:92-00:1A:4A:16:98:A1 +OVESETUP_PKI/organization=str:tlv.redhat.com +OVESETUP_SYSTEM/redhatSupportProxyEnabled=bool:False +OVESETUP_SYSTEM/nfsConfigEnabled=bool:True +OVESETUP_SYSTEM/memCheckEnabled=bool:False +OVESETUP_APACHE/configureSsl=bool:True +OVESETUP_APACHE/configureRootRedirection=bool:True +OVESETUP_DIALOG/confirmSettings=bool:True +OVESETUP_DIALOG/engineStop=bool:True +OVESETUP_DIALOG/confirmUpgrade=bool:False +OVESETUP_DB/securedHostValidation=bool:False +OVESETUP_DB/secured=bool:False +OVESETUP_DB/database=str:engine +OVESETUP_DB/host=str:localhost +OVESETUP_DB/user=str:engine +OVESETUP_DB/password=str:123456 +OVESETUP_DB/port=int:5432 +OVESETUP_PROVISIONING/postgresProvisioningEnabled=bool:True +OVESETUP_CORE/engineStop=bool:True +OSETUP_RPMDISTRO/requireRollback=bool:False diff --git a/jobs/ovirt_engine_upgrade_params/answer.file_33 b/jobs/ovirt_engine_upgrade_params/answer.file_33 new file mode 100644 index 0000000..c35ae2d --- /dev/null +++ b/jobs/ovirt_engine_upgrade_params/answer.file_33 @@ -0,0 +1,28 @@ +[general] +MAC_RANGE=00:1a:4a:16:86:90-00:1a:4a:16:86:c0 +HOST_FQDN= +AUTH_PASS=123456 +ORG_NAME=Red Hat +DC_TYPE=NFS +DB_REMOTE_PASS= +DB_LOCAL_PASS=123456 +DB_SECURE_CONNECTION=no +NFS_MP=/var/lib/exports/iso +ISO_DOMAIN_NAME=ISO_DOMAIN +CONFIG_NFS=no +OVERRIDE_IPTABLES=no +OVERRIDE_FIREWALL=None +FIREWALL_MANAGER=IPtables +APPLICATION_MODE=both +RANDOM_PASSWORDS=no +OVERRIDE_HTTPD_ROOT=yes +HTTPS_PORT=443 +HTTP_PORT=80 +OVERRIDE_HTTPD_CONFIG=yes +CONFIG_ALLINONE=no +STORAGE_PATH= +SUPERUSER_PASS=123456 +DB_REMOTE_INSTALL=local +DB_HOST=localhost +DB_PORT=5432 +DB_ADMIN=postgres diff --git a/jobs/ovirt_engine_upgrade_params/cleanup.file.otopi b/jobs/ovirt_engine_upgrade_params/cleanup.file.otopi new file mode 100644 index 0000000..ebff85c --- /dev/null +++ b/jobs/ovirt_engine_upgrade_params/cleanup.file.otopi @@ -0,0 +1,22 @@ +# action=cleanup +[environment:default] +OVESETUP_CORE/engineStop=bool:True +OVESETUP_CORE/remove=bool:True +OVESETUP_DB/database=str:engine +OVESETUP_DB/secured=bool:False +OVESETUP_DB/host=str:localhost +OVESETUP_DB/user=str:engine +OVESETUP_DB/securedHostValidation=bool:False +OVESETUP_DB/password=str:123456 +OVESETUP_DB/port=str:5432 +OVESETUP_SYSTEM/nfsConfigEnabled=bool:True +OVESETUP_CONFIG/isoDomainName=str:ISO_DOMAIN +OVESETUP_CONFIG/isoDomainMountPoint=str:/var/lib/exports/iso +OVESETUP_CONFIG/firewallManager=str:iptables +OVESETUP_CONFIG/fqdn=str:CHANGE_HOSTNAME +OVESETUP_APACHE/configureRootRedirection=bool:True +OVESETUP_APACHE/configureSsl=bool:True +OVESETUP_REMOVE/confirmUninstallGroups=bool:True +OVESETUP_REMOVE/removeAll=bool:True +OVESETUP_REMOVE/database=bool:True +OVESETUP_REMOVE/enabledFileGroups=str:,ca_pki,iso_domain,versionlock,ca_config,core,exportfs,ca_pki,exportfs,versionlock,core diff --git a/jobs/ovirt_engine_upgrade_params/ovirt_engine_nightly.repo b/jobs/ovirt_engine_upgrade_params/ovirt_engine_nightly.repo new file mode 100644 index 0000000..edf90c8 --- /dev/null +++ b/jobs/ovirt_engine_upgrade_params/ovirt_engine_nightly.repo @@ -0,0 +1,5 @@ +[ovirt_engine_nightly repo] +name=ovirt_engine_nightly.repo +baseurl=http://resources.ovirt.org/releases/nightly/rpm/Fedora/$releasever/ +enabled=1 +gpgcheck=0 diff --git a/jobs/ovirt_engine_upgrade_params/ovirt_engine_stable.repo b/jobs/ovirt_engine_upgrade_params/ovirt_engine_stable.repo new file mode 100644 index 0000000..ea230b6 --- /dev/null +++ b/jobs/ovirt_engine_upgrade_params/ovirt_engine_stable.repo @@ -0,0 +1,5 @@ +[ovirt-engine-stable] +name=oVirt Engine Stable +baseurl=http://resources.ovirt.org/releases/3.3/rpm/Fedora/$releasever/ +enabled=1 +gpgcheck=0 diff --git a/jobs/ovirt_engine_upgrade_params/update_engine_params.sh b/jobs/ovirt_engine_upgrade_params/update_engine_params.sh new file mode 100644 index 0000000..c9b70e6 --- /dev/null +++ b/jobs/ovirt_engine_upgrade_params/update_engine_params.sh @@ -0,0 +1,171 @@ +#!/bin/bash -x +# ./update_engine_params.sh <workspace> <from version> <to version> + +WORKSPACE=$1 +FROM=$2 +TO=$3 +ANS_FILE_33=jenkins/jobs/update_engine_params/answer.file.otopi +CLEANUP_FILE_33=jenkins/jobs/update_engine_params/cleanup.file.otopi +STABLE_33_REPO=jenkins/jobs/ovirt_engine_upgrade_params/ovirt_engine_stable.repo +NIGHTLY_33_REPO=jenkins/jobs/ovirt_engine_upgrade_params/ovirt_engine_nightly.repo +DATE=$(date +"%a_%b_%d_%H_%M_%S_%Z_%Y") +LOG="${WORKSPACE}/${DATE}.log" +HOSTNAME=$(hostname) + + +validate() +{ + if [[ -z "${WORKSPACE}" \ + || -z "${TO}" \ + || -z "${FROM}" ]]; then + echo "Please provide 3 parameters to the job" + exit 1 + fi +} + + +init_postgres() +{ + local res=0 + service postgresql stop + rm -rf /var/lib/pgsql/data + service postgresql initdb || res=$(($res + $?)) + service postgresql start || res=$(($res + $?)) + if [[ "${res}" -ne 0 ]]; then + echo "Failed to init postgres" + exit 1 + fi +} + + +pre_clean() +{ + echo "----- Cleaning old rpms... ----" + sed -i "s/CHANGE_HOSTNAME/$HOSTNAME/g" "${CLEANUP_FILE_33}" + # Clean engine rpms + if rpm -q ovirt-engine; then + engine-cleanup -u \ + || engine-cleanup --config-append="${CLEANUP_FILE_33}" + fi + yum -y remove ovirt-engine\* vdsm\* httpd mod_ssl + rm -rf /etc/httpd/* + rm -f "${WORKSPACE}"/*log + echo "" > /etc/exports + rm -rf /var/lib/exports/iso +} + + +disable_engine_repos() +{ + sed -i 's/enabled=1/enabled=0/g' $(grep -li resources /etc/yum.repos.d/*) +} + + +enable_engine_repos() +{ + sed -i 's/enabled=0/enabled=1/g' $(grep -li resources /etc/yum.repos.d/*) +} + + +configure_from_repo() +{ + if [[ "${FROM}" == "stable" ]]; then + cp "${WORKSPACE}"/"${STABLE_33_REPO}" /etc/yum.repos.d + fi +} + + +copy_log() +{ + LOG_NAME=$(ls -trll /var/log/ovirt-engine/setup | tail -n1 | grep -o "[^ ]*[.]log$") + cp -f /var/log/ovirt-engine/setup/"${LOG_NAME}" "${WORKSPACE}" +} + + +install_from_engine() +{ + # Installing from version + yum -y install ovirt-engine + + ENGINE_UPGRADE="engine-setup --config-append="${ANS_FILE_33}"" + ENGINE_CLEANUP="engine-cleanup --config-append="${CLEANUP_FILE_33}"" + sed -i "s/CHANGE_HOSTNAME/$HOSTNAME/g" "${ANS_FILE}" + + echo "Installing ${FROM} engine" + ${ENGINE_SETUP} + if [[ "${?}" -ne 0 ]]; then + echo "SETUP_FAILED" >> "${LOG}" + copy_log + exit 1 + fi + copy_log +} + + +configure_to_repo() +{ + if [[ "${TO}" == "nightly" ]]; then + cp "${WORKSPACE}"/"${NIGHTLY_33_REPO}" /etc/yum.repos.d + fi +} + + +prepare_pgpass() +{ +cat << PGPASS > /root/.pgpass +localhost:5432:*:postgres:123456 +localhost:5432:*:engine:123456 +127.0.0.1:5432:*:engine:123456 +127.0.0.1:5432:*:postgres:123456 +PGPASS + +chmod 600 /root/.pgpass +} + + +remove_pgpass() +{ + rm -f /root/.pgpass +} + + +engine_upgrade() +{ + yum -y update engine-setup + echo "Upgrading from $FROM to $TO" + ${ENGINE_UPGRADE} + if [[ "${?}" -ne 0 ]]; then + echo "UPGRADE_FAILED" >> ${LOG} + fi + copy_log + echo "" >> ${LOG} +} + + +post_clean() +{ + # Cleanup stage + rm -f /etc/yum.repos.d/"${FROM}".repo \ + /etc/yum.repos.d/"${TO}".repo + ${ENGINE_CLEANUP} || echo "CLEANUP_FAILED" >> "${LOG}" + copy_log +} + + +main() +{ + validate + pre_clean + init_postgres + disable_engine_repos + prepare_pgpass + configure_from_repo + install_from_engine + configure_to_repo + engine_upgrade + post_clean + enable_engine_repos + remove_pgpass +} + +main -- To view, visit http://gerrit.ovirt.org/21094 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I1809bd55c88b17f1d7dfde3920212e6f046709a8 Gerrit-PatchSet: 1 Gerrit-Project: jenkins Gerrit-Branch: master Gerrit-Owner: Kiril Nesenko <knese...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches