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
