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

Reply via email to