Alon Bar-Lev has uploaded a new change for review.

Change subject: packaging: setup: database: apply indirect reference to db vars
......................................................................

packaging: setup: database: apply indirect reference to db vars

this enables reuse using different database connections.

Change-Id: I587c287d822a7ea8e7ebf34ca70960172edc3fbc
Signed-off-by: Alon Bar-Lev <alo...@redhat.com>
---
M packaging/setup/ovirt_engine_setup/constants.py
M packaging/setup/ovirt_engine_setup/database.py
M packaging/setup/plugins/ovirt-engine-common/base/db/connection.py
M packaging/setup/plugins/ovirt-engine-common/base/db/pgpass.py
M packaging/setup/plugins/ovirt-engine-remove/ovirt-engine/db/clear.py
M packaging/setup/plugins/ovirt-engine-rename/core/database.py
M 
packaging/setup/plugins/ovirt-engine-setup/ovirt-engine-common/db/connection.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/db/schema.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/legacy/database.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/legacy/datadomain.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/legacy/isodomain.py
M 
packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/provisioning/postgres.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/upgrade/asynctasks.py
13 files changed, 176 insertions(+), 105 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/87/22987/1

diff --git a/packaging/setup/ovirt_engine_setup/constants.py 
b/packaging/setup/ovirt_engine_setup/constants.py
index 74eaf4d..dbeb205 100644
--- a/packaging/setup/ovirt_engine_setup/constants.py
+++ b/packaging/setup/ovirt_engine_setup/constants.py
@@ -648,6 +648,20 @@
     ISO_DOMAIN_NFS_DEFAULT_ACL = '0.0.0.0/0.0.0.0(rw)'
     ENGINE_DB_BACKUP_PREFIX = 'engine'
 
+    @classproperty
+    def ENGINE_DB_ENV_KEYS(self):
+        return {
+            'host': DBEnv.HOST,
+            'port': DBEnv.PORT,
+            'secured': DBEnv.SECURED,
+            'hostValidation': DBEnv.SECURED_HOST_VALIDATION,
+            'user': DBEnv.USER,
+            'password': DBEnv.PASSWORD,
+            'database': DBEnv.DATABASE,
+            'connection': DBEnv.CONNECTION,
+            'pgpassfile': DBEnv.PGPASS_FILE,
+        }
+
 
 @util.export
 @util.codegen
diff --git a/packaging/setup/ovirt_engine_setup/database.py 
b/packaging/setup/ovirt_engine_setup/database.py
index 3328997..68c1a09 100644
--- a/packaging/setup/ovirt_engine_setup/database.py
+++ b/packaging/setup/ovirt_engine_setup/database.py
@@ -16,6 +16,7 @@
 #
 
 
+import atexit
 import os
 import base64
 import tempfile
@@ -35,6 +36,9 @@
 from otopi import util
 
 
+from ovirt_engine import util as outil
+
+
 from ovirt_engine_setup import constants as osetupcons
 
 
@@ -45,9 +49,14 @@
     def environment(self):
         return self._environment
 
-    def __init__(self, environment):
+    def __init__(
+        self,
+        dbenvkeys,
+        environment,
+    ):
         super(Statement, self).__init__()
         self._environment = environment
+        self._dbenvkeys = dbenvkeys
 
     def execute(
         self,
@@ -89,21 +98,21 @@
 
         ret = []
         if host is None:
-            host = self.environment[osetupcons.DBEnv.HOST]
+            host = self.environment[self._dbenvkeys['host']]
         if port is None:
-            port = self.environment[osetupcons.DBEnv.PORT]
+            port = self.environment[self._dbenvkeys['port']]
         if secured is None:
-            secured = self.environment[osetupcons.DBEnv.SECURED]
+            secured = self.environment[self._dbenvkeys['secured']]
         if securedHostValidation is None:
             securedHostValidation = self.environment[
-                osetupcons.DBEnv.SECURED_HOST_VALIDATION
+                self._dbenvkeys['hostValidation']
             ]
         if user is None:
-            user = self.environment[osetupcons.DBEnv.USER]
+            user = self.environment[self._dbenvkeys['user']]
         if password is None:
-            password = self.environment[osetupcons.DBEnv.PASSWORD]
+            password = self.environment[self._dbenvkeys['password']]
         if database is None:
-            database = self.environment[osetupcons.DBEnv.DATABASE]
+            database = self.environment[self._dbenvkeys['database']]
 
         sslmode = 'allow'
         if secured:
@@ -123,7 +132,7 @@
                 args,
             )
             if not ownConnection:
-                connection = self.environment[osetupcons.DBEnv.CONNECTION]
+                connection = self.environment[self._dbenvkeys['connection']]
             else:
                 self.logger.debug('Creating own connection')
 
@@ -266,7 +275,12 @@
     def command(self):
         return self._plugin.command
 
-    def __init__(self, plugin, environment=None):
+    def __init__(
+        self,
+        plugin,
+        dbenvkeys,
+        environment=None,
+    ):
         super(OvirtUtils, self).__init__()
         self._plugin = plugin
         self._environment = (
@@ -274,10 +288,32 @@
             if environment is None
             else environment
         )
+        self._dbenvkeys = dbenvkeys
 
     def detectCommands(self):
         self.command.detect('pg_dump')
         self.command.detect('psql')
+
+    def createPgPass(self):
+        fd, pgpass = tempfile.mkstemp()
+        atexit.register(os.unlink, pgpass)
+        with os.fdopen(fd, 'w') as f:
+            f.write(
+                (
+                    '# DB USER credentials.\n'
+                    '{host}:{port}:{database}:{user}:{password}\n'
+                ).format(
+                    host=self.environment[self._dbenvkeys['host']],
+                    port=self.environment[self._dbenvkeys['port']],
+                    database=self.environment[self._dbenvkeys['database']],
+                    user=self.environment[self._dbenvkeys['user']],
+                    password=outil.escape(
+                        self.environment[self._dbenvkeys['password']],
+                        ':\\',
+                    ),
+                ),
+            )
+        self.environment[self._dbenvkeys['pgpassfile']] = pgpass
 
     def tryDatabaseConnect(self, environment=None):
 
@@ -285,7 +321,10 @@
             environment = self.environment
 
         try:
-            statement = Statement(environment=environment)
+            statement = Statement(
+                environment=environment,
+                dbenvkeys=self._dbenvkeys,
+            )
             statement.execute(
                 statement="""
                     select 1
@@ -313,6 +352,7 @@
     ):
         statement = Statement(
             environment=self.environment,
+            dbenvkeys=self._dbenvkeys,
         )
         ret = statement.execute(
             statement="""
@@ -334,9 +374,10 @@
         )
         return ret[0]['count'] == 0
 
-    def clearOvirtEngineDatabase(self):
+    def clearDatabase(self):
         statement = Statement(
             environment=self.environment,
+            dbenvkeys=self._dbenvkeys,
         )
 
         statement.execute(
@@ -497,17 +538,15 @@
                 '--disable-dollar-quoting',
                 '--disable-triggers',
                 '--format=p',
-                '-U', self.environment[osetupcons.DBEnv.USER],
-                '-h', self.environment[osetupcons.DBEnv.HOST],
-                '-p', str(self.environment[osetupcons.DBEnv.PORT]),
+                '-U', self.environment[self._dbenvkeys['user']],
+                '-h', self.environment[self._dbenvkeys['host']],
+                '-p', str(self.environment[self._dbenvkeys['port']]),
                 '-f', backupFile,
-                self.environment[osetupcons.DBEnv.DATABASE],
+                self.environment[self._dbenvkeys['database']],
             ),
             envAppend={
                 'PGPASSWORD': '',
-                'PGPASSFILE': self.environment[
-                    osetupcons.DBEnv.PGPASS_FILE
-                ]
+                'PGPASSFILE': self.environment[self._dbenvkeys['pgpassfile']],
             },
         )
 
@@ -521,18 +560,17 @@
             (
                 self.command.get('psql'),
                 '-w',
-                '-h', self.environment[osetupcons.DBEnv.HOST],
-                '-p', str(self.environment[osetupcons.DBEnv.PORT]),
-                '-U', self.environment[osetupcons.DBEnv.USER],
-                '-d', self.environment[osetupcons.DBEnv.DATABASE],
+                '-h', self.environment[self._dbenvkeys['host']],
+                '-p', str(self.environment[self._dbenvkeys['port']]),
+                '-U', self.environment[self._dbenvkeys['user']],
+                '-d', self.environment[self._dbenvkeys['database']],
                 '-f', backupFile,
             ),
             envAppend={
                 'PGPASSWORD': '',
-                'PGPASSFILE': self.environment[
-                    osetupcons.DBEnv.PGPASS_FILE
-                ]
+                'PGPASSFILE': self.environment[self._dbenvkeys['pgpassfile']],
             },
         )
 
+
 # vim: expandtab tabstop=4 shiftwidth=4
diff --git a/packaging/setup/plugins/ovirt-engine-common/base/db/connection.py 
b/packaging/setup/plugins/ovirt-engine-common/base/db/connection.py
index 4680cbe..818a7e7 100644
--- a/packaging/setup/plugins/ovirt-engine-common/base/db/connection.py
+++ b/packaging/setup/plugins/ovirt-engine-common/base/db/connection.py
@@ -93,7 +93,10 @@
         stage=plugin.Stages.STAGE_SETUP,
     )
     def _commands(self):
-        dbovirtutils = database.OvirtUtils(plugin=self)
+        dbovirtutils = database.OvirtUtils(
+            plugin=self,
+            dbenvkeys=osetupcons.Const.ENGINE_DB_ENV_KEYS,
+        )
         dbovirtutils.detectCommands()
 
     @plugin.event(
@@ -132,7 +135,10 @@
                     dbenv[osetupcons.DBEnv.PASSWORD]
                 )
 
-                dbovirtutils = database.OvirtUtils(plugin=self)
+                dbovirtutils = database.OvirtUtils(
+                    plugin=self,
+                    dbenvkeys=osetupcons.Const.ENGINE_DB_ENV_KEYS,
+                )
                 dbovirtutils.tryDatabaseConnect(dbenv)
                 self.environment.update(dbenv)
                 self.environment[
diff --git a/packaging/setup/plugins/ovirt-engine-common/base/db/pgpass.py 
b/packaging/setup/plugins/ovirt-engine-common/base/db/pgpass.py
index 6ac350c..e461c3b 100644
--- a/packaging/setup/plugins/ovirt-engine-common/base/db/pgpass.py
+++ b/packaging/setup/plugins/ovirt-engine-common/base/db/pgpass.py
@@ -19,8 +19,6 @@
 """DB pgpass plugin."""
 
 
-import os
-import tempfile
 import gettext
 _ = lambda m: gettext.dgettext(message=m, domain='ovirt-engine-setup')
 
@@ -29,10 +27,8 @@
 from otopi import plugin
 
 
-from ovirt_engine import util as outil
-
-
 from ovirt_engine_setup import constants as osetupcons
+from ovirt_engine_setup import database
 
 
 @util.export
@@ -40,47 +36,6 @@
     """DB pgpass plugin."""
     def __init__(self, context):
         super(Plugin, self).__init__(context=context)
-
-    def _createTempPgPass(self):
-        pgpass = None
-        if self.environment[
-            osetupcons.DBEnv.PGPASS_FILE
-        ] is not None:
-            pgpass = self.environment[
-                osetupcons.DBEnv.PGPASS_FILE
-            ]
-        else:
-            fd, pgpass = tempfile.mkstemp(
-                prefix='pgpass',
-                suffix='.tmp',
-            )
-            os.close(fd)
-            os.chmod(pgpass, 0o600)
-        self.logger.debug(
-            'Password==None %s',
-            self.environment[osetupcons.DBEnv.PASSWORD] is None,
-        )
-        if self.environment[osetupcons.DBEnv.PASSWORD] is not None:
-            with open(pgpass, 'w') as f:
-                f.write(
-                    (
-                        '# DB USER credentials.\n'
-                        '{host}:{port}:{database}:{user}:{password}\n'
-                    ).format(
-                        host=self.environment[osetupcons.DBEnv.HOST],
-                        port=self.environment[osetupcons.DBEnv.PORT],
-                        database=self.environment[osetupcons.DBEnv.DATABASE],
-                        user=self.environment[osetupcons.DBEnv.USER],
-                        password=outil.escape(
-                            self.environment[osetupcons.DBEnv.PASSWORD],
-                            ':\\',
-                        ),
-                    ),
-                )
-
-        self.environment[
-            osetupcons.DBEnv.PGPASS_FILE
-        ] = pgpass
 
     @plugin.event(
         stage=plugin.Stages.STAGE_INIT,
@@ -91,27 +46,29 @@
     @plugin.event(
         stage=plugin.Stages.STAGE_VALIDATION,
         name=osetupcons.Stages.DB_CREDENTIALS_AVAILABLE_EARLY,
+        condition=lambda self: self.environment[
+            osetupcons.DBEnv.PASSWORD
+        ] is not None
     )
     def _validation(self):
-        self._createTempPgPass()
+        # this required for dbvalidations
+        database.OvirtUtils(
+            plugin=self,
+            dbenvkeys=osetupcons.Const.ENGINE_DB_ENV_KEYS,
+        ).createPgPass()
 
     @plugin.event(
         stage=plugin.Stages.STAGE_MISC,
         name=osetupcons.Stages.DB_CREDENTIALS_AVAILABLE_LATE,
-    )
-    def _misc(self):
-        self._createTempPgPass()
-
-    @plugin.event(
-        stage=plugin.Stages.STAGE_CLEANUP,
         condition=lambda self: self.environment[
             osetupcons.DBEnv.PGPASS_FILE
-        ] is not None,
+        ] is None
     )
-    def _cleanup(self):
-        f = self.environment[osetupcons.DBEnv.PGPASS_FILE]
-        if os.path.exists(f):
-            os.unlink(f)
+    def _misc(self):
+        database.OvirtUtils(
+            plugin=self,
+            dbenvkeys=osetupcons.Const.ENGINE_DB_ENV_KEYS,
+        ).createPgPass()
 
 
 # vim: expandtab tabstop=4 shiftwidth=4
diff --git 
a/packaging/setup/plugins/ovirt-engine-remove/ovirt-engine/db/clear.py 
b/packaging/setup/plugins/ovirt-engine-remove/ovirt-engine/db/clear.py
index b32cec9..d23698c 100644
--- a/packaging/setup/plugins/ovirt-engine-remove/ovirt-engine/db/clear.py
+++ b/packaging/setup/plugins/ovirt-engine-remove/ovirt-engine/db/clear.py
@@ -94,7 +94,10 @@
     def _misc(self):
 
         try:
-            dbovirtutils = database.OvirtUtils(plugin=self)
+            dbovirtutils = database.OvirtUtils(
+                plugin=self,
+                dbenvkeys=osetupcons.Const.ENGINE_DB_ENV_KEYS,
+            )
             dbovirtutils.tryDatabaseConnect()
             self._bkpfile = dbovirtutils.backup(
                 dir=osetupcons.FileLocations.OVIRT_ENGINE_DB_BACKUP_DIR,
@@ -105,7 +108,7 @@
                     database=self.environment[osetupcons.DBEnv.DATABASE],
                 )
             )
-            dbovirtutils.clearOvirtEngineDatabase()
+            dbovirtutils.clearDatabase()
 
         except RuntimeError as e:
             self.logger.debug('exception', exc_info=True)
diff --git a/packaging/setup/plugins/ovirt-engine-rename/core/database.py 
b/packaging/setup/plugins/ovirt-engine-rename/core/database.py
index e49d970..e59eb1f 100644
--- a/packaging/setup/plugins/ovirt-engine-rename/core/database.py
+++ b/packaging/setup/plugins/ovirt-engine-rename/core/database.py
@@ -92,6 +92,7 @@
         self.environment[
             osetupcons.DBEnv.STATEMENT
         ] = database.Statement(
+            dbenvkeys=osetupcons.Const.ENGINE_DB_ENV_KEYS,
             environment=self.environment,
         )
 
@@ -99,9 +100,15 @@
         stage=plugin.Stages.STAGE_VALIDATION,
     )
     def _validation(self):
-        dbovirtutils = database.OvirtUtils(plugin=self)
+        dbovirtutils = database.OvirtUtils(
+            plugin=self,
+            dbenvkeys=osetupcons.Const.ENGINE_DB_ENV_KEYS,
+        )
         dbovirtutils.tryDatabaseConnect()
-        dbstatement = database.Statement(environment=self.environment)
+        dbstatement = database.Statement(
+            dbenvkeys=osetupcons.Const.ENGINE_DB_ENV_KEYS,
+            environment=self.environment,
+        )
         my_domains = []
         rows = dbstatement.execute(
             statement="""
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine-common/db/connection.py
 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine-common/db/connection.py
index 4cc183e..e854d0b 100644
--- 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine-common/db/connection.py
+++ 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine-common/db/connection.py
@@ -68,7 +68,10 @@
 
     def _checkDbEncoding(self, environment):
 
-        statement = database.Statement(environment=environment)
+        statement = database.Statement(
+            dbenvkeys=osetupcons.Const.ENGINE_DB_ENV_KEYS,
+            environment=environment,
+        )
         encoding = statement.execute(
             statement="""
                 show server_encoding
@@ -110,7 +113,10 @@
         ),
     )
     def _customization(self):
-        dbovirtutils = database.OvirtUtils(plugin=self)
+        dbovirtutils = database.OvirtUtils(
+            plugin=self,
+            dbenvkeys=osetupcons.Const.ENGINE_DB_ENV_KEYS,
+        )
 
         interactive = None in (
             self.environment[osetupcons.DBEnv.HOST],
@@ -296,6 +302,7 @@
         self.environment[
             osetupcons.DBEnv.STATEMENT
         ] = database.Statement(
+            dbenvkeys=osetupcons.Const.ENGINE_DB_ENV_KEYS,
             environment=self.environment,
         )
 
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/db/schema.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/db/schema.py
index 3841c7a..03e88c5 100644
--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/db/schema.py
+++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/db/schema.py
@@ -54,7 +54,10 @@
         def abort(self):
             self._parent.logger.info(_('Rolling back database schema'))
             try:
-                dbovirtutils = database.OvirtUtils(plugin=self._parent)
+                dbovirtutils = database.OvirtUtils(
+                    plugin=self._parent,
+                    dbenvkeys=osetupcons.Const.ENGINE_DB_ENV_KEYS,
+                )
                 self._parent.logger.info(
                     _('Clearing Engine database {database}').format(
                         database=self._parent.environment[
@@ -62,7 +65,7 @@
                         ],
                     )
                 )
-                dbovirtutils.clearOvirtEngineDatabase()
+                dbovirtutils.clearDatabase()
                 if self._backup is not None and os.path.exists(self._backup):
                     self._parent.logger.info(
                         _('Restoring Engine database {database}').format(
@@ -90,7 +93,10 @@
         super(Plugin, self).__init__(context=context)
 
     def _checkDatabaseOwnership(self):
-        statement = database.Statement(environment=self.environment)
+        statement = database.Statement(
+            dbenvkeys=osetupcons.Const.ENGINE_DB_ENV_KEYS,
+            environment=self.environment,
+        )
         result = statement.execute(
             statement="""
                 select
@@ -154,7 +160,10 @@
 
     def _checkSupportedVersionsPresent(self):
         # TODO: figure out a better way to do this for the future
-        statement = database.Statement(environment=self.environment)
+        statement = database.Statement(
+            dbenvkeys=osetupcons.Const.ENGINE_DB_ENV_KEYS,
+            environment=self.environment,
+        )
         dcVersions = statement.execute(
             statement="""
                 SELECT compatibility_version FROM storage_pool;
@@ -272,7 +281,10 @@
     )
     def _miscUpgrade(self):
         self._checkSupportedVersionsPresent()
-        dbovirtutils = database.OvirtUtils(plugin=self)
+        dbovirtutils = database.OvirtUtils(
+            plugin=self,
+            dbenvkeys=osetupcons.Const.ENGINE_DB_ENV_KEYS,
+        )
         backupFile = dbovirtutils.backup(
             dir=osetupcons.FileLocations.OVIRT_ENGINE_DB_BACKUP_DIR,
             prefix=osetupcons.Const.ENGINE_DB_BACKUP_PREFIX,
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/legacy/database.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/legacy/database.py
index c4d7205..94446b9 100644
--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/legacy/database.py
+++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/legacy/database.py
@@ -105,7 +105,10 @@
         ].append(
             self.environment[osetupcons.DBEnv.PASSWORD]
         )
-        dbovirtutils = database.OvirtUtils(plugin=self)
+        dbovirtutils = database.OvirtUtils(
+            plugin=self,
+            dbenvkeys=osetupcons.Const.ENGINE_DB_ENV_KEYS,
+        )
         dbovirtutils.tryDatabaseConnect()
         if dbovirtutils.isNewDatabase():
             raise RuntimeError(
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/legacy/datadomain.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/legacy/datadomain.py
index 4e79687..0f784ba 100644
--- 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/legacy/datadomain.py
+++ 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/legacy/datadomain.py
@@ -55,9 +55,15 @@
         ),
     )
     def _customization(self):
-        dbovirtutils = database.OvirtUtils(plugin=self)
+        dbovirtutils = database.OvirtUtils(
+            plugin=self,
+            dbenvkeys=osetupcons.Const.ENGINE_DB_ENV_KEYS,
+        )
         dbovirtutils.tryDatabaseConnect()
-        dbstatement = database.Statement(environment=self.environment)
+        dbstatement = database.Statement(
+            dbenvkeys=osetupcons.Const.ENGINE_DB_ENV_KEYS,
+            environment=self.environment,
+        )
         rows = dbstatement.execute(
             statement="""
                 select
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/legacy/isodomain.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/legacy/isodomain.py
index 70bae5c..751ee23 100644
--- 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/legacy/isodomain.py
+++ 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/legacy/isodomain.py
@@ -54,9 +54,15 @@
         ),
     )
     def _customization(self):
-        dbovirtutils = database.OvirtUtils(plugin=self)
+        dbovirtutils = database.OvirtUtils(
+            plugin=self,
+            dbenvkeys=osetupcons.Const.ENGINE_DB_ENV_KEYS,
+        )
         dbovirtutils.tryDatabaseConnect()
-        dbstatement = database.Statement(environment=self.environment)
+        dbstatement = database.Statement(
+            dbenvkeys=osetupcons.Const.ENGINE_DB_ENV_KEYS,
+            environment=self.environment,
+        )
         rows = dbstatement.execute(
             statement="""
                 select
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/provisioning/postgres.py
 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/provisioning/postgres.py
index 7a29ff7..3f676a0 100644
--- 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/provisioning/postgres.py
+++ 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/provisioning/postgres.py
@@ -211,7 +211,10 @@
         ].append(filename)
 
     def _waitDatabase(self, environment=None):
-        dbovirtutils = database.OvirtUtils(plugin=self)
+        dbovirtutils = database.OvirtUtils(
+            plugin=self,
+            dbenvkeys=osetupcons.Const.ENGINE_DB_ENV_KEYS,
+        )
         for i in range(60):
             try:
                 self.logger.debug('Attempting to connect database')
@@ -232,6 +235,7 @@
 
     def _setDatabaseResources(self, environment):
         dbstatement = database.Statement(
+            dbenvkeys=osetupcons.Const.ENGINE_DB_ENV_KEYS,
             environment=environment,
         )
         hasDatabase = dbstatement.execute(
@@ -269,6 +273,7 @@
         if hasDatabase and hasUser:
             dbovirtutils = database.OvirtUtils(
                 plugin=self,
+                dbenvkeys=osetupcons.Const.ENGINE_DB_ENV_KEYS,
                 environment=environment,
             )
             if dbovirtutils.isNewDatabase(
@@ -333,6 +338,7 @@
         ]
 
         dbstatement = database.Statement(
+            dbenvkeys=osetupcons.Const.ENGINE_DB_ENV_KEYS,
             environment=environment,
         )
         for statement in statements:
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/upgrade/asynctasks.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/upgrade/asynctasks.py
index 3ed0ef8..0a1de1b 100644
--- 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/upgrade/asynctasks.py
+++ 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/upgrade/asynctasks.py
@@ -239,7 +239,10 @@
             )
 
     def _checkRunningTasks(self):
-        dbstatement = database.Statement(self.environment)
+        dbstatement = database.Statement(
+            dbenvkeys=osetupcons.Const.ENGINE_DB_ENV_KEYS,
+            environment=self.environment,
+        )
         return (
             self._getRunningTasks(dbstatement),
             self._getCompensations(dbstatement),
@@ -350,7 +353,10 @@
         runningTasks, compensations = self._checkRunningTasks()
         if runningTasks or compensations:
             self._askUserToStopTasks(runningTasks, compensations)
-            dbstatement = database.Statement(self.environment)
+            dbstatement = database.Statement(
+                dbenvkeys=osetupcons.Const.ENGINE_DB_ENV_KEYS,
+                environment=self.environment,
+            )
             try:
                 self._waitForTasksToClear(dbstatement)
             except KeyboardInterrupt:


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I587c287d822a7ea8e7ebf34ca70960172edc3fbc
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Alon Bar-Lev <alo...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to