Alex Lourie has uploaded a new change for review. Change subject: packaging: Updated psql calls not to ask password ......................................................................
packaging: Updated psql calls not to ask password Currently we use our own pgpass file to supply the required password for the user. This patch adds a "-w" flag for all psql calls that inhibits quering password at all. This will lead to psql connection errors if pgpass was incorrectly defined, but password will still not be asked, which is the desired behavior of the setup. Bug-Url: https://bugzilla.redhat.com/915409 Change-Id: Ib73a7e3a5955a66afa0eeeafa80cf1f6464e8fd4 Signed-off-by: Alex Lourie <[email protected]> --- M backend/manager/dbscripts/dbfunctions.sh M backend/manager/dbscripts/engine-db-install.sh M backend/manager/dbscripts/restore.sh M packaging/fedora/setup/common_utils.py M packaging/fedora/setup/engine-upgrade.py 5 files changed, 24 insertions(+), 16 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/18/12418/1 diff --git a/backend/manager/dbscripts/dbfunctions.sh b/backend/manager/dbscripts/dbfunctions.sh index b7b1597..5a80b6f 100755 --- a/backend/manager/dbscripts/dbfunctions.sh +++ b/backend/manager/dbscripts/dbfunctions.sh @@ -30,7 +30,7 @@ local ret_instead_exit=${5} # tuples_only - supress header (column names) and footer (rows affected) from output. # ON_ERROR_STOP - stop on error. - local cmdline="psql --pset=tuples_only=on --set ON_ERROR_STOP=1" + local cmdline="psql -w --pset=tuples_only=on --set ON_ERROR_STOP=1" cmdline="${cmdline} --file=${filename} " if [[ -n "${dbname}" ]]; then @@ -87,7 +87,7 @@ execute_file "drop_all_functions.sql" ${DATABASE} ${SERVERNAME} ${PORT} > /dev/null \rm -f drop_all_functions.sql #drop old uuid functions - psql -U postgres -h ${SERVERNAME} -p ${PORT} -f drop_old_uuid_functions.sql ${DATABASE} > /dev/null + psql -w -U postgres -h ${SERVERNAME} -p ${PORT} -f drop_old_uuid_functions.sql ${DATABASE} > /dev/null # recreate generic functions execute_file "create_functions.sql" ${DATABASE} ${SERVERNAME} ${PORT} > /dev/null } @@ -157,10 +157,10 @@ custom_materialized_views_file="upgrade/post_upgrade/custom/create_materialized_views.sql" if [ -f ${custom_materialized_views_file} ]; then echo "running custom materialized views from ${custom_materialized_views_file} ..." - psql -U ${USERNAME} --pset=tuples_only=on --set ON_ERROR_STOP=1 -h ${SERVERNAME} -p ${PORT} -f "${custom_materialized_views_file}" ${DATABASE} > /dev/null + psql -w -U ${USERNAME} --pset=tuples_only=on --set ON_ERROR_STOP=1 -h ${SERVERNAME} -p ${PORT} -f "${custom_materialized_views_file}" ${DATABASE} > /dev/null if [ $? -ne 0 ] ; then #drop all custom views - psql -U ${USERNAME} -h ${SERVERNAME} -p ${PORT} -c "select DropAllCustomMaterializedViews();" ${DATABASE} > /dev/null + psql -w -U ${USERNAME} -h ${SERVERNAME} -p ${PORT} -c "select DropAllCustomMaterializedViews();" ${DATABASE} > /dev/null echo "Illegal syntax in custom Materialized Views, Custom Materialized Views were dropped." fi fi @@ -224,17 +224,17 @@ get_current_version() { echo "select version from schema_version where current = true order by id LIMIT 1;" | - psql -U ${USERNAME} --pset=tuples_only=on ${DATABASE} -h ${SERVERNAME} -p ${PORT} + psql -w -U ${USERNAME} --pset=tuples_only=on ${DATABASE} -h ${SERVERNAME} -p ${PORT} } get_installed_version() { local cheksum=${1} echo "select version from schema_version where checksum = '${cheksum}' and state = 'INSTALLED';" | - psql -U ${USERNAME} --pset=tuples_only=on ${DATABASE} -h ${SERVERNAME} -p ${PORT} + psql -w -U ${USERNAME} --pset=tuples_only=on ${DATABASE} -h ${SERVERNAME} -p ${PORT} } get_last_installed_id() { - echo "select max(id) from schema_version where state in ('INSTALLED','SKIPPED')" | psql -U ${USERNAME} --pset=tuples_only=on ${DATABASE} -h ${SERVERNAME} -p ${PORT} + echo "select max(id) from schema_version where state in ('INSTALLED','SKIPPED')" | psql -w -U ${USERNAME} --pset=tuples_only=on ${DATABASE} -h ${SERVERNAME} -p ${PORT} } set_last_version() { id=$(get_last_installed_id) @@ -243,7 +243,7 @@ } get_db_time(){ - echo "select now();" | psql -U ${USERNAME} --pset=tuples_only=on ${DATABASE} -h ${SERVERNAME} -p ${PORT} + echo "select now();" | psql -w -U ${USERNAME} --pset=tuples_only=on ${DATABASE} -h ${SERVERNAME} -p ${PORT} } # gets a directory and required depth and return all sql & sh files @@ -363,7 +363,7 @@ CMD="insert into schema_version(version,script,checksum,installed_by,started_at,ended_at,state,current,comment) values (trim('$ver'),'$file','$checksum','${USERNAME}', cast(trim('$before') as timestamp),cast(trim('$after') as timestamp),'$state',false,'$comment');" - psql -U ${USERNAME} --pset=tuples_only=on -h ${SERVERNAME} -p ${PORT} -c "${CMD}" ${DATABASE} > /dev/null + psql -w -U ${USERNAME} --pset=tuples_only=on -h ${SERVERNAME} -p ${PORT} -c "${CMD}" ${DATABASE} > /dev/null fi done set_last_version @@ -446,7 +446,7 @@ if [ "${object_type}" = "vm" ]; then CMD="select vm_name as vm_name from vm_static a ,vm_dynamic b where a.vm_guid = b.vm_guid and status = ${IMAGE_LOCKED};" - psql -c "${CMD}" -U ${USERNAME} -d "${DATABASE}" -h "${SERVERNAME}" -p "${PORT}" + psql -w -c "${CMD}" -U ${USERNAME} -d "${DATABASE}" -h "${SERVERNAME}" -p "${PORT}" CMD="select vm_name as vm_name , image_group_id as disk_id from images a,vm_static b,vm_device c where a.image_group_id = c.device_id and b.vm_guid = c.vm_id and @@ -454,11 +454,11 @@ entity_type ilike 'VM' and image_group_id in (select device_id from vm_device where is_plugged);" - psql -c "${CMD}" -U ${USERNAME} -d "${DATABASE}" -h "${SERVERNAME}" -p "${PORT}" + psql -w -c "${CMD}" -U ${USERNAME} -d "${DATABASE}" -h "${SERVERNAME}" -p "${PORT}" elif [ "${object_type}" = "template" ]; then CMD="select vm_name as template_name from vm_static where template_status = ${TEMPLATE_LOCKED};" - psql -c "${CMD}" -U ${USERNAME} -d "${DATABASE}" -h "${SERVERNAME}" -p "${PORT}" + psql -w -c "${CMD}" -U ${USERNAME} -d "${DATABASE}" -h "${SERVERNAME}" -p "${PORT}" CMD="select vm_name as template_name, image_group_id as disk_id from images a,vm_static b,vm_device c where a.image_group_id = c.device_id and b.vm_guid = c.vm_id and @@ -466,14 +466,14 @@ entity_type ilike 'TEMPLATE' and image_group_id in (select device_id from vm_device where is_plugged);" - psql -c "${CMD}" -U ${USERNAME} -d "${DATABASE}" -h "${SERVERNAME}" -p "${PORT}" + psql -w -c "${CMD}" -U ${USERNAME} -d "${DATABASE}" -h "${SERVERNAME}" -p "${PORT}" elif [ "${object_type}" = "disk" ]; then CMD="select vm_id as entity_id,disk_id from base_disks a ,images b, vm_device c where a.disk_id = b.image_group_id and b.image_group_id = c.device_id and imagestatus = ${LOCKED} and is_plugged;" - psql -c "${CMD}" -U ${USERNAME} -d "${DATABASE}" -h "${SERVERNAME}" -p "${PORT}" + psql -w -c "${CMD}" -U ${USERNAME} -d "${DATABASE}" -h "${SERVERNAME}" -p "${PORT}" fi } diff --git a/backend/manager/dbscripts/engine-db-install.sh b/backend/manager/dbscripts/engine-db-install.sh index 3b52901..2fd6c47 100755 --- a/backend/manager/dbscripts/engine-db-install.sh +++ b/backend/manager/dbscripts/engine-db-install.sh @@ -97,7 +97,7 @@ # Update PSQL BIN to include .pgpass environment variable, host and port values ENGINE_PGPASS=${ENGINE_PGPASS:-/etc/ovirt-engine/.pgpass} -PSQL="${PSQL_BIN} -h $DB_HOST -p $DB_PORT" +PSQL="${PSQL_BIN} -w -h $DB_HOST -p $DB_PORT" if [[ "x${REMOTE_INSTALL}" == "xremote" ]] then diff --git a/backend/manager/dbscripts/restore.sh b/backend/manager/dbscripts/restore.sh index 29834d0..aa6532d 100755 --- a/backend/manager/dbscripts/restore.sh +++ b/backend/manager/dbscripts/restore.sh @@ -68,7 +68,7 @@ fi echo "Restore of database $DATABASE from $FILE started..." -psql -h ${SERVERNAME} -p ${PORT} -U ${USERNAME} -f ${FILE} +psql -w -h ${SERVERNAME} -p ${PORT} -U ${USERNAME} -f ${FILE} if [ $? -eq 0 ];then echo "Restore of database $DATABASE from $FILE completed." diff --git a/packaging/fedora/setup/common_utils.py b/packaging/fedora/setup/common_utils.py index 8c1aa94..b214aed 100755 --- a/packaging/fedora/setup/common_utils.py +++ b/packaging/fedora/setup/common_utils.py @@ -505,6 +505,7 @@ "-p", dbPort, "-U", userName, "-d", dbName, + "-w", "-c", sqlQuery, ] return execCmd(cmdList=cmd, failOnError=failOnError, msg=errMsg, envDict=getPgEnv()) @@ -880,6 +881,7 @@ "-p", port, "-U", user, "-d", basedefs.DB_POSTGRES, + "-w", "-f", backupFile, ] @@ -1065,6 +1067,7 @@ cmd = [ basedefs.EXEC_PSQL, "-U", getDbAdminUser(), + "-w", "-c", query, ] execCmd(cmdList=cmd, failOnError=True, msg=output_messages.ERR_DB_CONNECTIONS_BLOCK, envDict=getPgEnv()) @@ -1082,6 +1085,7 @@ "-p", getDbPort(), "-U", getDbAdminUser(), "-d", basedefs.DB_TEMPLATE, + "-w", "-c", version_query, ] out, rc = execCmd(cmdList=cmd, failOnError=True, msg=output_messages.ERR_POSTGRESQL, envDict=getPgEnv()) @@ -1095,6 +1099,7 @@ cmd = [ basedefs.EXEC_PSQL, "-U", getDbAdminUser(), + "-w", "-c", query, ] execCmd(cmdList=cmd, failOnError=True, msg=output_messages.ERR_DB_CONNECTIONS_CLEAR, envDict=getPgEnv()) @@ -1108,6 +1113,7 @@ "-U", getDbAdminUser(), "-h", getDbHostName(), "-p", getDbPort(), + "-w", "--list", ] output, rc = execCmd(cmdList=cmd, msg=output_messages.ERR_DB_TEMP_LIST, envDict=getPgEnv()) diff --git a/packaging/fedora/setup/engine-upgrade.py b/packaging/fedora/setup/engine-upgrade.py index f1e5835..cc697a3 100755 --- a/packaging/fedora/setup/engine-upgrade.py +++ b/packaging/fedora/setup/engine-upgrade.py @@ -386,6 +386,7 @@ "-h", SERVER_NAME, "-p", SERVER_PORT, "-d", basedefs.DB_TEMPLATE, + "-w", "-f", self.sqlfile, ] output, rc = utils.execCmd(cmdList=cmd, failOnError=True, msg=MSG_ERROR_RESTORE_DB, envDict=utils.getPgEnv()) @@ -821,6 +822,7 @@ basedefs.EXEC_PSQL, "-U", SERVER_ADMIN, "-f", basedefs.FILE_DB_ASYNC_TASKS, + "-w", "-d", dbName, ] -- To view, visit http://gerrit.ovirt.org/12418 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib73a7e3a5955a66afa0eeeafa80cf1f6464e8fd4 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Alex Lourie <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
