Alex Lourie has uploaded a new change for review. Change subject: packaging: setup: detect existing DB in remote flows ......................................................................
packaging: setup: detect existing DB in remote flows Change-Id: Iee813572cab7e0afcf5f5dfa97e4121334c3aa5b Bug-Url: https://bugzilla.redhat.com/1026947 Signed-off-by: Alex Lourie <[email protected]> --- M packaging/common_utils.py M packaging/ovirt-engine-dwh-setup.py 2 files changed, 47 insertions(+), 13 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-dwh refs/changes/38/22538/1 diff --git a/packaging/common_utils.py b/packaging/common_utils.py index f9d6ba0..77b08b3 100755 --- a/packaging/common_utils.py +++ b/packaging/common_utils.py @@ -628,23 +628,28 @@ owner = False logging.debug("checking if %s db already exists" % db_dict['dbname']) env = {'ENGINE_PGPASS': TEMP_PGPASS} - output, rc = execSqlCmd( - db_dict=db_dict, - sql_query="select 1", - envDict=env, - ) - if rc == 0: - exists = True - if db_dict['username'] != db_dict['engine_user']: - owner = True - else: + if ( + db_dict['username'] == 'admin' and + db_dict['password'] == 'dummy' + ): output, rc = runPostgresSuQuery( query='"select 1;"', database=db_dict['dbname'], failOnError=False, ) - if rc == 0: - exists = True + else: + output, rc = execSqlCmd( + db_dict=db_dict, + sql_query="select 1", + envDict=env, + ) + if rc == 0: + exists = True + if ( + db_dict['username'] != db_dict['engine_user'] and + db_dict != 'admin' + ): + owner = True return exists, owner diff --git a/packaging/ovirt-engine-dwh-setup.py b/packaging/ovirt-engine-dwh-setup.py index f1a5595..53de271 100755 --- a/packaging/ovirt-engine-dwh-setup.py +++ b/packaging/ovirt-engine-dwh-setup.py @@ -282,6 +282,35 @@ return db_dict +def getDBStatus(db_dict, TEMP_PGPASS): + exists = owned = False + for dbdict in ( + db_dict, + { + 'dbname': DB_NAME, + 'host': db_dict['host'], + 'port': db_dict['port'], + 'username': db_dict['engine_user'], + 'password': db_dict['engine_pass'], + 'engine_user': db_dict['engine_user'], + 'engine_pass': db_dict['engine_pass'], + }, + { + 'dbname': DB_NAME, + 'host': db_dict['host'], + 'port': db_dict['port'], + 'username': 'admin', + 'password': 'dummy', + 'engine_user': db_dict['engine_user'], + 'engine_pass': db_dict['engine_pass'], + }, + ): + exists, owned = utils.dbExists(dbdict, TEMP_PGPASS) + if exists: + break + + return exists, owned + @transactionDisplay("Setting DB connectivity") def setDbPass(db_dict): @@ -447,7 +476,7 @@ readonly=db_dict['readonly'], ) - dbExists, owned = utils.dbExists(db_dict, PGPASS_TEMP) + dbExists, owned = getDBStatus(db_dict, PGPASS_TEMP) if dbExists: try: if utils.localHost(db_dict['host']) and not owned: -- To view, visit http://gerrit.ovirt.org/22538 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Iee813572cab7e0afcf5f5dfa97e4121334c3aa5b Gerrit-PatchSet: 1 Gerrit-Project: ovirt-dwh Gerrit-Branch: master Gerrit-Owner: Alex Lourie <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
