Yedidyah Bar David has uploaded a new change for review. Change subject: packaging: setup: Update engine db only if not cleared ......................................................................
packaging: setup: Update engine db only if not cleared Also do not fail engine-cleanup if updating the engine db fails. Change-Id: I400a5fc84e9e82902b223dd13a85e9f80424c893 Bug-Url: https://bugzilla.redhat.com/1140986 Signed-off-by: Yedidyah Bar David <[email protected]> --- M packaging/setup/ovirt_engine_setup/dwh/constants.py M packaging/setup/plugins/ovirt-engine-remove/ovirt-engine-dwh/db/single_etl.py 2 files changed, 46 insertions(+), 21 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-dwh refs/changes/10/33310/1 diff --git a/packaging/setup/ovirt_engine_setup/dwh/constants.py b/packaging/setup/ovirt_engine_setup/dwh/constants.py index 064523a..1fde9e8 100644 --- a/packaging/setup/ovirt_engine_setup/dwh/constants.py +++ b/packaging/setup/ovirt_engine_setup/dwh/constants.py @@ -281,6 +281,9 @@ def REMOVE_DATABASE(self): return 'OVESETUP_DWH_REMOVE/database' + # sync with the engine + REMOVE_ENGINE_DATABASE = 'OVESETUP_REMOVE/engineDatabase' + @util.export @util.codegen diff --git a/packaging/setup/plugins/ovirt-engine-remove/ovirt-engine-dwh/db/single_etl.py b/packaging/setup/plugins/ovirt-engine-remove/ovirt-engine-dwh/db/single_etl.py index 578226b..b692b7e 100644 --- a/packaging/setup/plugins/ovirt-engine-remove/ovirt-engine-dwh/db/single_etl.py +++ b/packaging/setup/plugins/ovirt-engine-remove/ovirt-engine-dwh/db/single_etl.py @@ -35,36 +35,58 @@ super(Plugin, self).__init__(context=context) @plugin.event( + stage=plugin.Stages.STAGE_INIT, + ) + def _init(self): + self.environment.setdefault( + odwhcons.RemoveEnv.REMOVE_ENGINE_DATABASE, + False, + ) + + @plugin.event( stage=plugin.Stages.STAGE_MISC, after=( odwhcons.Stages.ENGINE_DB_CONNECTION_AVAILABLE, ), - condition=lambda self: self.environment[odwhcons.CoreEnv.ENABLE], + condition=lambda self: ( + self.environment[odwhcons.CoreEnv.ENABLE] and + not self.environment[odwhcons.RemoveEnv.REMOVE_ENGINE_DATABASE] + ), ) def _misc(self): - statement = self.environment[odwhcons.EngineDBEnv.STATEMENT] - db_dwh_uuid = engine_db_timekeeping.getValueFromTimekeeping( - statement=statement, - name=engine_db_timekeeping.DB_KEY_UUID - ) - if self.environment[odwhcons.CoreEnv.UUID] != db_dwh_uuid: - self.logger.debug('_ is %s' % _) + try: + statement = self.environment[odwhcons.EngineDBEnv.STATEMENT] + db_dwh_uuid = engine_db_timekeeping.getValueFromTimekeeping( + statement=statement, + name=engine_db_timekeeping.DB_KEY_UUID + ) + if self.environment[odwhcons.CoreEnv.UUID] != db_dwh_uuid: + self.logger.debug('_ is %s' % _) + self.logger.warning( + _( + 'Not updating engine database to disconnect from dwh - ' + 'seems like a different dwh was already setup for it' + ) + ) + else: + engine_db_timekeeping.updateValueInTimekeeping( + statement=statement, + name=engine_db_timekeeping.DB_KEY_HOSTNAME, + value='' + ) + engine_db_timekeeping.updateValueInTimekeeping( + statement=statement, + name=engine_db_timekeeping.DB_KEY_UUID, + value='' + ) + except RuntimeError as e: + self.logger.debug('exception', exc_info=True) self.logger.warning( _( - 'Not updating engine database to disconnect from dwh - ' - 'seems like a different dwh was already setup for it' + 'Cannot update Engine database: {error}' + ).format( + error=e, ) - ) - else: - engine_db_timekeeping.updateValueInTimekeeping( - statement=statement, - name=engine_db_timekeeping.DB_KEY_HOSTNAME, - value='' - ) - engine_db_timekeeping.updateValueInTimekeeping( - statement=statement, - name=engine_db_timekeeping.DB_KEY_UUID, - value='' ) -- To view, visit http://gerrit.ovirt.org/33310 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I400a5fc84e9e82902b223dd13a85e9f80424c893 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-dwh Gerrit-Branch: master Gerrit-Owner: Yedidyah Bar David <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
