Martin Peřina has uploaded a new change for review.

Change subject: core: Make uuidgen.sh logic part of dbfunc_* scripts
......................................................................

core: Make uuidgen.sh logic part of dbfunc_* scripts

Moves logic from uuidgen.sh into existing dbfunc_* scripts to make code
simpler.

Change-Id: Id5d0fc0b4c3d289f62b8bdb8e281c95ae1d01d65
Signed-off-by: Martin Perina <[email protected]>
---
M packaging/dbscripts/dbfunc-base.sh
M packaging/dbscripts/dbfunc-custom.sh
D packaging/dbscripts/uuidgen.sh
3 files changed, 19 insertions(+), 35 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/51/37551/1

diff --git a/packaging/dbscripts/dbfunc-base.sh 
b/packaging/dbscripts/dbfunc-base.sh
index 83e95fd..c82d37d 100644
--- a/packaging/dbscripts/dbfunc-base.sh
+++ b/packaging/dbscripts/dbfunc-base.sh
@@ -62,6 +62,10 @@
                -c "copy (${statement}) to stdout with delimiter as '|';"
 }
 
+dbfunc_get_psql_result() {
+       echo $(dbfunc_psql_raw -c "$@" | tr -d ' ')
+}
+
 #
 # parse line escape, each field
 # in own line
diff --git a/packaging/dbscripts/dbfunc-custom.sh 
b/packaging/dbscripts/dbfunc-custom.sh
index 39e5f1d..8f52ca5 100644
--- a/packaging/dbscripts/dbfunc-custom.sh
+++ b/packaging/dbscripts/dbfunc-custom.sh
@@ -8,12 +8,25 @@
 
 dbfunc_common_hook_init_insert_data() {
         # generate new UUIDs for default DC & Cluster
-        "${DBFUNC_COMMON_DBSCRIPTS_DIR}"/uuidgen.sh "${DBFUNC_DB_HOST}" 
"${DBFUNC_DB_PORT}" "${DBFUNC_DB_USER}" "${DBFUNC_DB_DATABASE}" 
"${DBFUNC_COMMON_DBSCRIPTS_DIR}"/data "change"
+       local spid="00000002-0002-0002-0002-00000000021c"
+       local gen_spid=$(dbfunc_get_psql_result "select uuid_generate_v1();")
+
+       local clusterid="00000001-0001-0001-0001-0000000000d6"
+       local gen_clusterid=$(dbfunc_get_psql_result "select 
uuid_generate_v1();")
+
+       # Replace static UUIDs with generated ones
+       sed -i "s/'${spid}'/'${gen_spid}'/g" 
"${DBFUNC_COMMON_DBSCRIPTS_DIR}"/data/*.sql
+       sed -i "s/'${clusterid}'/'${gen_clusterid}'/g" 
"${DBFUNC_COMMON_DBSCRIPTS_DIR}"/data/*.sql
+
+       # Apply changes to database
         for script in $(ls 
"${DBFUNC_COMMON_DBSCRIPTS_DIR}"/data/*insert_*.sql); do
            echo "Inserting data from ${script} ..."
            dbfunc_psql_die --file="${script}" > /dev/null
         done
-        "${DBFUNC_COMMON_DBSCRIPTS_DIR}"/uuidgen.sh "${DBFUNC_DB_HOST}" 
"${DBFUNC_DB_PORT}" "${DBFUNC_DB_USER}" "${DBFUNC_DB_DATABASE}" 
"${DBFUNC_COMMON_DBSCRIPTS_DIR}"/data "restore"
+
+       # Restore previous static UUIDs
+       sed -i "s/'${gen_spid}'/'${spid}'/g" 
"${DBFUNC_COMMON_DBSCRIPTS_DIR}"/data/*.sql
+       sed -i "s/'${gen_clusterid}'/'${clusterid}'/g" 
"${DBFUNC_COMMON_DBSCRIPTS_DIR}"/data/*.sql
 }
 
 dbfunc_common_hook_pre_upgrade() {
diff --git a/packaging/dbscripts/uuidgen.sh b/packaging/dbscripts/uuidgen.sh
deleted file mode 100755
index 6ce0f10..0000000
--- a/packaging/dbscripts/uuidgen.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/sh
-
-if [ "$#" -ne 6 ]; then
-  echo "Usage: $0 <database host> <database port> <database user> <database 
name> <data directory> <action = {change,restore}>" >&2
-  exit 1
-fi
-
-DB_HOST="${1}"
-DB_PORT="${2}"
-DB_USER="${3}"
-DB_NAME="${4}"
-OUT_DIR="${5}"
-ACTION="${6}"
-
-SPID="00000002-0002-0002-0002-00000000021c"
-CLUSTERID="00000001-0001-0001-0001-0000000000d6"
-
-# Executes query specified as 1st parameter using psql
-psql_query() {
-    echo $(psql -w --host="${DB_HOST}" --port="${DB_PORT}" 
--username="${DB_USER}" --dbname="${DB_NAME}" --tuples-only -c "$1" | tr -d ' ')
-}
-
-if [ "${ACTION}" = "change" ] ; then
-    NEW_SPID=$(psql_query "select uuid_generate_v1();")
-    NEW_CLUSTERID=$(psql_query "select uuid_generate_v1();")
-    sed -i "s/'${SPID}'/'${NEW_SPID}'/g" "${OUT_DIR}"/*.sql
-    sed -i "s/'${CLUSTERID}'/'${NEW_CLUSTERID}'/g" "${OUT_DIR}"/*.sql
-elif [ "${ACTION}" = "restore" ] ; then
-    NEW_SPID=$(psql_query "select id from storage_pool limit 1;")
-    NEW_CLUSTERID=$(psql_query "select vds_group_id from vds_groups limit 1;")
-    sed -i "s/'${NEW_SPID}'/'${SPID}'/g" "${OUT_DIR}"/*.sql
-    sed -i "s/'${NEW_CLUSTERID}'/'${CLUSTERID}'/g" "${OUT_DIR}"/*.sql
-fi


-- 
To view, visit http://gerrit.ovirt.org/37551
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id5d0fc0b4c3d289f62b8bdb8e281c95ae1d01d65
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Martin Peřina <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to