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
