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

Reply via email to