Yedidyah Bar David has uploaded a new change for review. Change subject: packaging: setup: Stop services only when needed ......................................................................
packaging: setup: Stop services only when needed Added env keys for stopping engine, fence-kdump-listener, websocket-proxy. Stopping the engine defaults to True and can be disabled by other plugins. The others default to False and are set to True if needed. Change-Id: Ic562409546a717b6c07f848c1f0f6e7ddc2d1c77 Bug-Url: https://bugzilla.redhat.com/1198107 Bug-Url: https://bugzilla.redhat.com/956226 Signed-off-by: Yedidyah Bar David <d...@redhat.com> --- M packaging/setup/ovirt_engine_setup/engine_common/constants.py M packaging/setup/ovirt_engine_setup/websocket_proxy/constants.py M packaging/setup/plugins/ovirt-engine-common/ovirt-engine/core/engine.py M packaging/setup/plugins/ovirt-engine-common/ovirt-engine/core/fence_kdump_listener.py M packaging/setup/plugins/ovirt-engine-common/websocket_proxy/core.py M packaging/setup/plugins/ovirt-engine-remove/ovirt-engine/system/fence_kdump_listener.py M packaging/setup/plugins/ovirt-engine-remove/websocket_proxy/misc.py M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/fence_kdump_listener/config.py M packaging/setup/plugins/ovirt-engine-setup/websocket_proxy/config.py 9 files changed, 73 insertions(+), 10 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/11/42411/1 diff --git a/packaging/setup/ovirt_engine_setup/engine_common/constants.py b/packaging/setup/ovirt_engine_setup/engine_common/constants.py index 79ad802..a261745 100644 --- a/packaging/setup/ovirt_engine_setup/engine_common/constants.py +++ b/packaging/setup/ovirt_engine_setup/engine_common/constants.py @@ -267,6 +267,9 @@ JBOSS_DEBUG_ADDRESS = 'OVESETUP_CONFIG/jbossDebugAddress' JBOSS_NEEDED = 'OVESETUP_CONFIG/jbossNeeded' JAVA_NEEDED = 'OVESETUP_CONFIG/javaNeeded' + ENGINE_SERVICE_STOP_NEEDED = 'OVESETUP_CONFIG/engineServiceStopNeeded' + FENCE_KDUMP_LISTENER_STOP_NEEDED = \ + 'OVESETUP_CONFIG/fenceKdumpListenerStopNeeded' @util.export diff --git a/packaging/setup/ovirt_engine_setup/websocket_proxy/constants.py b/packaging/setup/ovirt_engine_setup/websocket_proxy/constants.py index 7d57711..5f456d4 100644 --- a/packaging/setup/ovirt_engine_setup/websocket_proxy/constants.py +++ b/packaging/setup/ovirt_engine_setup/websocket_proxy/constants.py @@ -138,6 +138,8 @@ PKI_WSP_CSR_FILENAME = 'OVESETUP_CONFIG/pkiWSPCSRFilename' + WEBSOCKET_PROXY_STOP_NEEDED = 'OVESETUP_CONFIG/websocketProxyStopNeeded' + @util.export @util.codegen diff --git a/packaging/setup/plugins/ovirt-engine-common/ovirt-engine/core/engine.py b/packaging/setup/plugins/ovirt-engine-common/ovirt-engine/core/engine.py index ebd184a..b9cafdf 100644 --- a/packaging/setup/plugins/ovirt-engine-common/ovirt-engine/core/engine.py +++ b/packaging/setup/plugins/ovirt-engine-common/ovirt-engine/core/engine.py @@ -26,6 +26,7 @@ from ovirt_engine_setup import constants as osetupcons from ovirt_engine_setup import dialog from ovirt_engine_setup.engine import constants as oenginecons +from ovirt_engine_setup.engine_common import constants as oengcommcons def _(m): @@ -47,9 +48,18 @@ oenginecons.CoreEnv.ENGINE_SERVICE_STOP, None ) + self.environment.setdefault( + oengcommcons.ConfigEnv.ENGINE_SERVICE_STOP_NEEDED, + True + # TODO find out where it's actually needed, set to True there + # and to False here. + ) @plugin.event( stage=plugin.Stages.STAGE_VALIDATION, + condition=lambda self: self.environment[ + oengcommcons.ConfigEnv.ENGINE_SERVICE_STOP_NEEDED + ], ) def _validation(self): if ( @@ -86,6 +96,8 @@ stage=plugin.Stages.STAGE_TRANSACTION_BEGIN, condition=lambda self: not self.environment[ osetupcons.CoreEnv.DEVELOPER_MODE + ] and self.environment[ + oengcommcons.ConfigEnv.ENGINE_SERVICE_STOP_NEEDED ], ) def _transactionBegin(self): diff --git a/packaging/setup/plugins/ovirt-engine-common/ovirt-engine/core/fence_kdump_listener.py b/packaging/setup/plugins/ovirt-engine-common/ovirt-engine/core/fence_kdump_listener.py index 02f14c2..d8ee7f2 100644 --- a/packaging/setup/plugins/ovirt-engine-common/ovirt-engine/core/fence_kdump_listener.py +++ b/packaging/setup/plugins/ovirt-engine-common/ovirt-engine/core/fence_kdump_listener.py @@ -25,6 +25,7 @@ from ovirt_engine_setup import constants as osetupcons from ovirt_engine_setup.engine import constants as oenginecons +from ovirt_engine_setup.engine_common import constants as oengcommcons def _(m): @@ -39,9 +40,20 @@ super(Plugin, self).__init__(context=context) @plugin.event( + stage=plugin.Stages.STAGE_INIT, + ) + def _init(self): + self.environment.setdefault( + oengcommcons.ConfigEnv.FENCE_KDUMP_LISTENER_STOP_NEEDED + False + ) + + @plugin.event( stage=plugin.Stages.STAGE_TRANSACTION_BEGIN, condition=lambda self: not self.environment[ osetupcons.CoreEnv.DEVELOPER_MODE + ] and self.environment[ + oengcommcons.ConfigEnv.FENCE_KDUMP_LISTENER_STOP_NEEDED ], ) def _transactionBegin(self): diff --git a/packaging/setup/plugins/ovirt-engine-common/websocket_proxy/core.py b/packaging/setup/plugins/ovirt-engine-common/websocket_proxy/core.py index 7d07cfb..0b041f5 100644 --- a/packaging/setup/plugins/ovirt-engine-common/websocket_proxy/core.py +++ b/packaging/setup/plugins/ovirt-engine-common/websocket_proxy/core.py @@ -39,6 +39,15 @@ super(Plugin, self).__init__(context=context) @plugin.event( + stage=plugin.Stages.STAGE_INIT, + ) + def _init(self): + self.environment.setdefault( + owspcons.ConfigEnv.WEBSOCKET_PROXY_STOP_NEEDED, + False + ) + + @plugin.event( stage=plugin.Stages.STAGE_SETUP, ) def _setup(self): @@ -50,6 +59,8 @@ stage=plugin.Stages.STAGE_TRANSACTION_BEGIN, condition=lambda self: not self.environment[ osetupcons.CoreEnv.DEVELOPER_MODE + ] and self.environment[ + owspcons.ConfigEnv.WEBSOCKET_PROXY_STOP_NEEDED ], ) def _transactionBegin(self): diff --git a/packaging/setup/plugins/ovirt-engine-remove/ovirt-engine/system/fence_kdump_listener.py b/packaging/setup/plugins/ovirt-engine-remove/ovirt-engine/system/fence_kdump_listener.py index 5852cf8..8e1e8d1 100644 --- a/packaging/setup/plugins/ovirt-engine-remove/ovirt-engine/system/fence_kdump_listener.py +++ b/packaging/setup/plugins/ovirt-engine-remove/ovirt-engine/system/fence_kdump_listener.py @@ -25,6 +25,7 @@ from ovirt_engine_setup import constants as osetupcons from ovirt_engine_setup.engine import constants as oenginecons +from ovirt_engine_setup.engine_common import constants as oengcommcons def _(m): @@ -36,6 +37,14 @@ """fence_kdump listener plugin.""" @plugin.event( + stage=plugin.Stages.STAGE_SETUP, + ) + def _setup(self): + self.environment[ + oengcommcons.ConfigEnv.FENCE_KDUMP_LISTENER_STOP_NEEDED + ] = True + + @plugin.event( stage=plugin.Stages.STAGE_MISC, condition=lambda self: ( ( diff --git a/packaging/setup/plugins/ovirt-engine-remove/websocket_proxy/misc.py b/packaging/setup/plugins/ovirt-engine-remove/websocket_proxy/misc.py index 3216ee2..ce497d6 100644 --- a/packaging/setup/plugins/ovirt-engine-remove/websocket_proxy/misc.py +++ b/packaging/setup/plugins/ovirt-engine-remove/websocket_proxy/misc.py @@ -50,14 +50,12 @@ after=( osetupcons.Stages.REMOVE_CUSTOMIZATION_COMMON, ), - condition=lambda self: not self.environment[ - osetupcons.RemoveEnv.REMOVE_ALL - ], ) def _customization(self): - if self.environment[ - owspcons.RemoveEnv.REMOVE_WSP - ] is None: + if self.environment[osetupcons.RemoveEnv.REMOVE_ALL]: + self.environment[owspcons.RemoveEnv.REMOVE_WSP] = True + + if self.environment[owspcons.RemoveEnv.REMOVE_WSP] is None: self.environment[ owspcons.RemoveEnv.REMOVE_WSP ] = dialog.queryBoolean( @@ -72,10 +70,14 @@ false=_('No'), default=False, ) - if self.environment[owspcons.RemoveEnv.REMOVE_WSP]: - self.environment[osetupcons.RemoveEnv.REMOVE_OPTIONS].append( - owspcons.Const.WEBSOCKET_PROXY_PACKAGE_NAME - ) + + if self.environment[owspcons.RemoveEnv.REMOVE_WSP]: + self.environment[osetupcons.RemoveEnv.REMOVE_OPTIONS].append( + owspcons.Const.WEBSOCKET_PROXY_PACKAGE_NAME + ) + self.environment[ + owspcons.ConfigEnv.WEBSOCKET_PROXY_STOP_NEEDED + ] = True @plugin.event( stage=plugin.Stages.STAGE_MISC, diff --git a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/fence_kdump_listener/config.py b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/fence_kdump_listener/config.py index 463615a..2945de4 100644 --- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/fence_kdump_listener/config.py +++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/fence_kdump_listener/config.py @@ -41,6 +41,14 @@ self._enabled = True @plugin.event( + stage=plugin.Stages.STAGE_SETUP, + ) + def _setup(self): + self.environment[ + oengcommcons.ConfigEnv.FENCE_KDUMP_LISTENER_STOP_NEEDED + ] = True + + @plugin.event( stage=plugin.Stages.STAGE_CUSTOMIZATION, before=( osetupcons.Stages.DIALOG_TITLES_E_SYSTEM, diff --git a/packaging/setup/plugins/ovirt-engine-setup/websocket_proxy/config.py b/packaging/setup/plugins/ovirt-engine-setup/websocket_proxy/config.py index f1bfc35..6c6413d 100644 --- a/packaging/setup/plugins/ovirt-engine-setup/websocket_proxy/config.py +++ b/packaging/setup/plugins/ovirt-engine-setup/websocket_proxy/config.py @@ -112,6 +112,10 @@ self._enabled = self.environment[ owspcons.ConfigEnv.WEBSOCKET_PROXY_CONFIG ] + if self._enabled: + self.environment[ + owspcons.ConfigEnv.WEBSOCKET_PROXY_STOP_NEEDED + ] = True @plugin.event( stage=plugin.Stages.STAGE_CUSTOMIZATION, -- To view, visit https://gerrit.ovirt.org/42411 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ic562409546a717b6c07f848c1f0f6e7ddc2d1c77 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Yedidyah Bar David <d...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches