Yaniv Dary has uploaded a new change for review.

Change subject: packaging: setup: use legacy config file if exists
......................................................................

packaging: setup: use legacy config file if exists

Change-Id: I01b157c985de3367a48ec3dec56125cf520b647a
Signed-off-by: Yaniv Dary <[email protected]>
---
M 
packaging/setup/plugins/ovirt-engine-common/ovirt-engine-reports/db/connection.py
1 file changed, 70 insertions(+), 64 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-reports refs/changes/08/24008/1

diff --git 
a/packaging/setup/plugins/ovirt-engine-common/ovirt-engine-reports/db/connection.py
 
b/packaging/setup/plugins/ovirt-engine-common/ovirt-engine-reports/db/connection.py
index bc986a2..6b219f8 100644
--- 
a/packaging/setup/plugins/ovirt-engine-common/ovirt-engine-reports/db/connection.py
+++ 
b/packaging/setup/plugins/ovirt-engine-common/ovirt-engine-reports/db/connection.py
@@ -103,76 +103,82 @@
     @plugin.event(
         stage=plugin.Stages.STAGE_SETUP,
         name=oreportscons.Stages.DB_CONNECTION_SETUP,
-        condition=lambda self: (
-            self.environment[oreportscons.CoreEnv.ENABLE] and
-            os.path.exists(
-                oreportscons.FileLocations.
-                OVIRT_ENGINE_REPORTS_FOOMATIC_DBPROP
-            )
-        ),
     )
     def _setup(self):
-        config = configparser.ConfigParser()
-        config.optionxform = str
-        with open(
-            oreportscons.FileLocations.OVIRT_ENGINE_REPORTS_FOOMATIC_DBPROP
-        ) as f:
-            config.readfp(
-                io.StringIO(
-                    '[default]' +
-                    f.read().decode('utf-8')
-                )
+        for p in (
+            oreportscons.FileLocations.OVIRT_ENGINE_REPORTS_FOOMATIC_DBPROP,
+            os.path.join(
+                self.environment[
+                    oreportscons.ConfigEnv.JASPER_HOME
+                ],
+                'buildomatic',
+                'build-conf',
+                'master.properties',
             )
-        dbenv = {}
-        try:
-            for e, k in (
-                (oreportscons.DBEnv.HOST, 'dbHost'),
-                (oreportscons.DBEnv.PORT, 'dbPort'),
-                (oreportscons.DBEnv.USER, 'dbUsername'),
-                (oreportscons.DBEnv.PASSWORD, 'dbPassword'),
-                (oreportscons.DBEnv.DATABASE, 'js.dbName'),
-            ):
-                dbenv[e] = config.get('default', k)
+        ):
+            if os.path.exists(p):
+                config = configparser.ConfigParser()
+                config.optionxform = str
+                with open(
+                    p
+                ) as f:
+                    config.readfp(
+                        io.StringIO(
+                            '[default]' +
+                            f.read().decode('utf-8')
+                        )
+                    )
+                dbenv = {}
+                try:
+                    for e, k in (
+                        (oreportscons.DBEnv.HOST, 'dbHost'),
+                        (oreportscons.DBEnv.PORT, 'dbPort'),
+                        (oreportscons.DBEnv.USER, 'dbUsername'),
+                        (oreportscons.DBEnv.PASSWORD, 'dbPassword'),
+                        (oreportscons.DBEnv.DATABASE, 'js.dbName'),
+                    ):
+                        dbenv[e] = config.get('default', k)
 
-            dbenv[
-                oreportscons.DBEnv.SECURED
-            ] = dbenv[
-                oreportscons.DBEnv.SECURED_HOST_VALIDATION
-            ] = False
+                    dbenv[
+                        oreportscons.DBEnv.SECURED
+                    ] = dbenv[
+                        oreportscons.DBEnv.SECURED_HOST_VALIDATION
+                    ] = False
 
-            self.environment[otopicons.CoreEnv.LOG_FILTER].append(
-                dbenv[oreportscons.DBEnv.PASSWORD]
-            )
+                    self.environment[otopicons.CoreEnv.LOG_FILTER].append(
+                        dbenv[oreportscons.DBEnv.PASSWORD]
+                    )
 
-            dbovirtutils = database.OvirtUtils(
-                plugin=self,
-                dbenvkeys=oreportscons.Const.REPORTS_DB_ENV_KEYS,
-            )
-            dbovirtutils.tryDatabaseConnect(dbenv)
-            self.environment.update(dbenv)
-            self.environment[
-                oreportscons.DBEnv.NEW_DATABASE
-            ] = dbovirtutils.isNewDatabase()
-        except RuntimeError as e:
-            self.logger.debug(
-                'Existing credential use failed',
-                exc_info=True,
-            )
-            msg = _(
-                'Cannot connect to Reports database using existing '
-                'credentials: {user}@{host}:{port}'
-            ).format(
-                host=dbenv[oreportscons.DBEnv.HOST],
-                port=dbenv[oreportscons.DBEnv.PORT],
-                database=dbenv[oreportscons.DBEnv.DATABASE],
-                user=dbenv[oreportscons.DBEnv.USER],
-            )
-            if self.environment[
-                osetupcons.CoreEnv.ACTION
-            ] == osetupcons.Const.ACTION_REMOVE:
-                self.logger.warning(msg)
-            else:
-                raise RuntimeError(msg)
+                    dbovirtutils = database.OvirtUtils(
+                        plugin=self,
+                        dbenvkeys=oreportscons.Const.REPORTS_DB_ENV_KEYS,
+                    )
+                    dbovirtutils.tryDatabaseConnect(dbenv)
+                    self.environment.update(dbenv)
+                    self.environment[
+                        oreportscons.DBEnv.NEW_DATABASE
+                    ] = dbovirtutils.isNewDatabase()
+                    break
+                except RuntimeError as e:
+                    self.logger.debug(
+                        'Existing credential use failed',
+                        exc_info=True,
+                    )
+                    msg = _(
+                        'Cannot connect to Reports database using existing '
+                        'credentials: {user}@{host}:{port}'
+                    ).format(
+                        host=dbenv[oreportscons.DBEnv.HOST],
+                        port=dbenv[oreportscons.DBEnv.PORT],
+                        database=dbenv[oreportscons.DBEnv.DATABASE],
+                        user=dbenv[oreportscons.DBEnv.USER],
+                    )
+                    if self.environment[
+                        osetupcons.CoreEnv.ACTION
+                    ] == osetupcons.Const.ACTION_REMOVE:
+                        self.logger.warning(msg)
+                    else:
+                        raise RuntimeError(msg)
 
 
 # vim: expandtab tabstop=4 shiftwidth=4


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I01b157c985de3367a48ec3dec56125cf520b647a
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-reports
Gerrit-Branch: master
Gerrit-Owner: Yaniv Dary <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to