Simone Tiraboschi has uploaded a new change for review.

Change subject: Making engine configuration optional during engine-setup
......................................................................

Making engine configuration optional during engine-setup

Making engine configuration optional asking
to the user if he/she want to configure it during
engine-setup.
Skipping all the engine specific plugin if the user
doesn't want to configure the engine.

Change-Id: I7a7fbc9d2abc141bed49eff20549289cba4a4a61
Signed-off-by: Simone Tiraboschi <[email protected]>
---
M packaging/setup/ovirt_engine_setup/engine/engineconstants.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/all-in-one/core.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/apache/engine.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/apache/misc.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/apache/root.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/apache/selinux.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/apache/ssl.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/appmode.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/ca.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/database.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/domain_type.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/firewall.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/iso_domain.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/jboss.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/macrange.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/options.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/protocols.py
M 
packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/public_glance_repository.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/tools.py
A packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/core/__init__.py
A packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/core/misc.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/db/schema.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/distro-rpm/packages.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/legacy/osinfo.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/pki/ca.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/pki/ssh.py
M 
packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/provisioning/postgres.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/engine.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/exportfs.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/memcheck.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/nfs.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/selinux.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/sysctl.py
M 
packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/upgrade/answerfile_fixup.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/upgrade/asynctasks.py
M 
packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/upgrade/dbvalidations.py
36 files changed, 237 insertions(+), 30 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/13/28413/1

diff --git a/packaging/setup/ovirt_engine_setup/engine/engineconstants.py 
b/packaging/setup/ovirt_engine_setup/engine/engineconstants.py
index 4d1a278..9ee1382 100644
--- a/packaging/setup/ovirt_engine_setup/engine/engineconstants.py
+++ b/packaging/setup/ovirt_engine_setup/engine/engineconstants.py
@@ -326,6 +326,8 @@
 
     CONFIG_ISO_DOMAIN_AVAILABLE = 'osetup.config.iso_domain.available'
 
+    CORE_ENABLE = 'osetup.engine.core.enable'
+
     DIALOG_TITLES_S_ENGINE = 'osetup.dialog.titles.engine.start'
     DIALOG_TITLES_E_ENGINE = 'osetup.dialog.titles.engine.end'
 
@@ -379,6 +381,15 @@
     def ENGINE_SERVICE_STOP(self):
         return 'OVESETUP_CORE/engineStop'
 
+    @osetupattrs(
+        answerfile=True,
+        postinstallfile=True,
+        summary=True,
+        description=_('Engine installation'),
+    )
+    def ENABLE(self):
+        return 'OVESETUP_ENGINE_CORE/enable'
+
 
 @util.export
 @util.codegen
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/all-in-one/core.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/all-in-one/core.py
index ea3f22a..637ab6b 100644
--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/all-in-one/core.py
+++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/all-in-one/core.py
@@ -70,6 +70,8 @@
             oengcommcons.Stages.DB_CONNECTION_SETUP,
         ),
         condition=lambda self: self.environment[
+            oenginecons.CoreEnv.ENABLE
+        ] and self.environment[
             oenginecons.AIOEnv.ENABLE
         ] and self.environment[
             oengcommcons.EngineDBEnv.NEW_DATABASE
@@ -80,7 +82,9 @@
 
     @plugin.event(
         stage=plugin.Stages.STAGE_CUSTOMIZATION,
-        condition=lambda self: (
+        condition=lambda self:  self.environment[
+            oenginecons.CoreEnv.ENABLE
+        ] and (
             self._enabled and
             self.environment[
                 oenginecons.AIOEnv.SUPPORTED
@@ -122,7 +126,9 @@
 
     @plugin.event(
         stage=plugin.Stages.STAGE_CUSTOMIZATION,
-        condition=lambda self: self._enabled,
+        condition=lambda self: self.environment[
+            oenginecons.CoreEnv.ENABLE
+        ] and self._enabled,
         name=oenginecons.Stages.AIO_CONFIG_AVAILABLE,
         before=(
             oengcommcons.Stages.DIALOG_TITLES_E_ALLINONE,
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/apache/engine.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/apache/engine.py
index 7630210..78d7257 100644
--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/apache/engine.py
+++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/apache/engine.py
@@ -56,7 +56,9 @@
 
     @plugin.event(
         stage=plugin.Stages.STAGE_MISC,
-        condition=lambda self: not self.environment[
+        condition=lambda self: self.environment[
+            oenginecons.CoreEnv.ENABLE
+        ] and not self.environment[
             osetupcons.CoreEnv.DEVELOPER_MODE
         ],
     )
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/apache/misc.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/apache/misc.py
index e9f05ad..b54a571 100644
--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/apache/misc.py
+++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/apache/misc.py
@@ -39,6 +39,7 @@
 
     @plugin.event(
         stage=plugin.Stages.STAGE_INIT,
+        condition=lambda self: self.environment[oenginecons.CoreEnv.ENABLE],
     )
     def _init(self):
         self.environment.setdefault(
@@ -48,6 +49,7 @@
 
     @plugin.event(
         stage=plugin.Stages.STAGE_MISC,
+        condition=lambda self: self.environment[oenginecons.CoreEnv.ENABLE],
         priority=plugin.Stages.PRIORITY_LOW,
     )
     def _misc(self):
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/apache/root.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/apache/root.py
index 35fb78b..9e6e6eb 100644
--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/apache/root.py
+++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/apache/root.py
@@ -43,6 +43,8 @@
     def __init__(self, context):
         super(Plugin, self).__init__(context=context)
         self._enabled = True
+        if not self.environment[oenginecons.CoreEnv.ENABLE]:
+            self._enabled = False
 
     @plugin.event(
         stage=plugin.Stages.STAGE_INIT,
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/apache/selinux.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/apache/selinux.py
index c5b6d45..608686f 100644
--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/apache/selinux.py
+++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/apache/selinux.py
@@ -28,6 +28,7 @@
 
 
 from ovirt_engine_setup import constants as osetupcons
+from ovirt_engine_setup.engine import engineconstants as oenginecons
 
 
 @util.export
@@ -37,6 +38,8 @@
     def __init__(self, context):
         super(Plugin, self).__init__(context=context)
         self._enabled = True
+        if not self.environment[oenginecons.CoreEnv.ENABLE]:
+            self._enabled = False
 
     @plugin.event(
         stage=plugin.Stages.STAGE_SETUP,
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/apache/ssl.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/apache/ssl.py
index 1532f24..2798c0f 100644
--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/apache/ssl.py
+++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/apache/ssl.py
@@ -45,6 +45,8 @@
     def __init__(self, context):
         super(Plugin, self).__init__(context=context)
         self._enabled = True
+        if not self.environment[oenginecons.CoreEnv.ENABLE]:
+            self._enabled = False
         self._params = {
             'SSLCertificateFile': (
                 oenginecons.FileLocations.OVIRT_ENGINE_PKI_APACHE_CERT
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/appmode.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/appmode.py
index 84cd00a..22df072 100644
--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/appmode.py
+++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/appmode.py
@@ -70,6 +70,8 @@
     )
     def _customization(self):
         self._enabled = True
+        if not self.environment[oenginecons.CoreEnv.ENABLE]:
+            self._enabled = False
 
         if self.environment[
             osetupcons.ConfigEnv.APPLICATION_MODE
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/ca.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/ca.py
index c9125df..2cb87e3 100644
--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/ca.py
+++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/ca.py
@@ -44,7 +44,9 @@
 
     def __init__(self, context):
         super(Plugin, self).__init__(context=context)
-        self._enabled = False
+        self._enabled = True
+        if not self.environment[oenginecons.CoreEnv.ENABLE]:
+            self._enabled = False
 
     @plugin.event(
         stage=plugin.Stages.STAGE_MISC,
@@ -53,6 +55,7 @@
             oengcommcons.Stages.DB_CONNECTION_AVAILABLE,
             osetupcons.Stages.CA_AVAILABLE,
         ),
+        condition=lambda self: self._enabled,
     )
     def _misc(self):
         uninstall_files = []
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/database.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/database.py
index 57fb344..06f1bb2 100644
--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/database.py
+++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/database.py
@@ -44,10 +44,13 @@
 
     def __init__(self, context):
         super(Plugin, self).__init__(context=context)
-        self._enabled = False
+        self._enabled = True
+        if not self.environment[oenginecons.CoreEnv.ENABLE]:
+            self._enabled = False
 
     @plugin.event(
         stage=plugin.Stages.STAGE_MISC,
+        condition=lambda self: self._enabled,
     )
     def _misc(self):
         self.environment[otopicons.CoreEnv.MAIN_TRANSACTION].append(
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/domain_type.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/domain_type.py
index 611c329..ffe848d 100644
--- 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/domain_type.py
+++ 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/domain_type.py
@@ -68,6 +68,7 @@
             oenginecons.Stages.DIALOG_TITLES_S_ENGINE,
         ),
         condition=lambda self: (
+            self.environment[oenginecons.CoreEnv.ENABLE] and
             self.environment[oengcommcons.EngineDBEnv.NEW_DATABASE] and
             self.environment[
                 osetupcons.ConfigEnv.APPLICATION_MODE
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/firewall.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/firewall.py
index 7de0df2..8c7f5e3 100644
--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/firewall.py
+++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/firewall.py
@@ -49,6 +49,7 @@
             osetupcons.Stages.NET_FIREWALL_MANAGER_AVAILABLE,
             oenginecons.Stages.SYSTEM_NFS_CONFIG_AVAILABLE,
         ),
+        condition=lambda self: self.environment[oenginecons.CoreEnv.ENABLE],
     )
     def _configuration(self):
         self.environment[
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/iso_domain.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/iso_domain.py
index 224cfad..3d36cd8 100644
--- 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/iso_domain.py
+++ 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/iso_domain.py
@@ -288,6 +288,7 @@
             osetupcons.Stages.DIALOG_TITLES_E_SYSTEM,
         ),
         condition=lambda self: (
+            self.environment[oenginecons.CoreEnv.ENABLE] and
             self.environment[oenginecons.SystemEnv.NFS_CONFIG_ENABLED] and
             not self.environment[oenginecons.ConfigEnv.ISO_DOMAIN_EXISTS]
         ),
@@ -425,6 +426,7 @@
             oengcommcons.Stages.DB_CONNECTION_AVAILABLE,
         ),
         condition=lambda self: (
+            self.environment[oenginecons.CoreEnv.ENABLE] and
             self.environment[oenginecons.SystemEnv.NFS_CONFIG_ENABLED] and
             not self.environment[oenginecons.ConfigEnv.ISO_DOMAIN_EXISTS]
         ),
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/jboss.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/jboss.py
index e9d3dbd..f00ebf9 100644
--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/jboss.py
+++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/jboss.py
@@ -44,6 +44,7 @@
 
     @plugin.event(
         stage=plugin.Stages.STAGE_MISC,
+        condition=lambda self: self.environment[oenginecons.CoreEnv.ENABLE],
     )
     def _misc(self):
         for f in (
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/macrange.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/macrange.py
index ab2f565..bcf81d5 100644
--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/macrange.py
+++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/macrange.py
@@ -43,6 +43,7 @@
 
     @plugin.event(
         stage=plugin.Stages.STAGE_INIT,
+        condition=lambda self: self.environment[oenginecons.CoreEnv.ENABLE],
     )
     def _init(self):
         self.environment.setdefault(
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/options.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/options.py
index 55744d5..d43b83e 100644
--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/options.py
+++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/options.py
@@ -71,6 +71,7 @@
             oengcommcons.Stages.DB_CONNECTION_STATUS,
             oenginecons.Stages.DIALOG_TITLES_S_ENGINE,
         ),
+        condition=lambda self: self.environment[oenginecons.CoreEnv.ENABLE],
     )
     def _customization(self):
         self._enabled = self.environment[
@@ -142,6 +143,7 @@
         after=(
             oengcommcons.Stages.DB_CONNECTION_AVAILABLE,
         ),
+        condition=lambda self: self.environment[oenginecons.CoreEnv.ENABLE],
     )
     def _miscAlways(self):
         vdcoption.VdcOption(
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/protocols.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/protocols.py
index 31080c7..30726cb 100644
--- 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/protocols.py
+++ 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/protocols.py
@@ -44,6 +44,10 @@
 
     @plugin.event(
         stage=plugin.Stages.STAGE_MISC,
+        after=(
+            oenginecons.Stages.CORE_ENABLE
+        ),
+        condition=lambda self: self.environment[oenginecons.CoreEnv.ENABLE],
     )
     def _misc(self):
         def flag(o):
@@ -114,6 +118,7 @@
         after=(
             osetupcons.Stages.DIALOG_TITLES_S_SUMMARY,
         ),
+        condition=lambda self: self.environment[oenginecons.CoreEnv.ENABLE],
     )
     def _closeup(self):
         # TODO
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/public_glance_repository.py
 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/public_glance_repository.py
index cc2eaf3..be0e2dd 100644
--- 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/public_glance_repository.py
+++ 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/public_glance_repository.py
@@ -28,6 +28,7 @@
 
 
 from ovirt_engine_setup import constants as osetupcons
+from ovirt_engine_setup import engineconstants as oenginecons
 from ovirt_engine_setup.engine_common \
     import enginecommonconstants as oengcommcons
 
@@ -53,9 +54,10 @@
         after=(
             oengcommcons.Stages.DB_CONNECTION_AVAILABLE,
         ),
-        condition=lambda self: self.environment[
-            osetupcons.ConfigEnv.ADD_OVIRT_GLANCE_REPOSITORY
-        ],
+        condition=lambda self: (
+            self.environment[oenginecons.CoreEnv.ENABLE] and
+            self.environment[osetupcons.ConfigEnv.ADD_OVIRT_GLANCE_REPOSITORY],
+        )
     )
     def _misc(self):
         self.environment[oengcommcons.EngineDBEnv.STATEMENT].execute(
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/tools.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/tools.py
index c5846b3..fbbf00b 100644
--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/tools.py
+++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/tools.py
@@ -60,6 +60,10 @@
 
     @plugin.event(
         stage=plugin.Stages.STAGE_MISC,
+        after=(
+            oenginecons.Stages.CORE_ENABLE
+        ),
+        condition=lambda self: self.environment[oenginecons.CoreEnv.ENABLE],
     )
     def _misc(self):
         for entry in self.TOOLS_CONFIG:
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/core/__init__.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/core/__init__.py
new file mode 100644
index 0000000..1a604a4
--- /dev/null
+++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/core/__init__.py
@@ -0,0 +1,33 @@
+#
+# ovirt-engine-setup -- ovirt engine setup
+# Copyright (C) 2014 Red Hat, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+
+"""ovirt-engine-setup core plugin."""
+
+
+from otopi import util
+
+
+from . import misc
+
+
[email protected]
+def createPlugins(context):
+    misc.Plugin(context=context)
+
+
+# vim: expandtab tabstop=4 shiftwidth=4
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/core/misc.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/core/misc.py
new file mode 100644
index 0000000..df381a7
--- /dev/null
+++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/core/misc.py
@@ -0,0 +1,69 @@
+#
+# ovirt-engine-setup -- ovirt engine setup
+# Copyright (C) 2013 Red Hat, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+
+"""Misc plugin."""
+
+
+import gettext
+_ = lambda m: gettext.dgettext(message=m, domain='ovirt-engine-setup')
+
+
+from otopi import util
+from otopi import plugin
+
+
+from ovirt_engine_setup import dialog
+from ovirt_engine_setup import constants as osetupcons
+from ovirt_engine_setup.engine import engineconstants as oenginecons
+
+
[email protected]
+class Plugin(plugin.PluginBase):
+    """Misc plugin."""
+
+    def __init__(self, context):
+        super(Plugin, self).__init__(context=context)
+
+    @plugin.event(
+        stage=plugin.Stages.STAGE_CUSTOMIZATION,
+        name=oenginecons.Stages.CORE_ENABLE,
+        before=(
+            osetupcons.Stages.DIALOG_TITLES_E_PRODUCT_OPTIONS,
+            oenginecons.Stages.DB_CONNECTION_CUSTOMIZATION,
+        ),
+        after=(
+            osetupcons.Stages.DIALOG_TITLES_S_PRODUCT_OPTIONS,
+        ),
+    )
+    def _customization(self):
+        if self.environment[oenginecons.CoreEnv.ENABLE] is None:
+            self.environment[
+                oenginecons.CoreEnv.ENABLE
+            ] = dialog.queryBoolean(
+                dialog=self.dialog,
+                name='OVESETUP_ENGINE_ENABLE',
+                note=_(
+                    'Configure Engine on this host '
+                    '(@VALUES@) [@DEFAULT@]: '
+                ),
+                prompt=True,
+                default=True,
+            )
+
+
+# vim: expandtab tabstop=4 shiftwidth=4
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/db/schema.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/db/schema.py
index c758240..02485f8 100644
--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/db/schema.py
+++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/db/schema.py
@@ -208,9 +208,12 @@
         after=(
             oengcommcons.Stages.DB_CREDENTIALS_AVAILABLE_EARLY,
         ),
-        condition=lambda self: not self.environment[
-            oengcommcons.EngineDBEnv.NEW_DATABASE
-        ],
+        condition=lambda self: (
+            self.environment[oenginecons.CoreEnv.ENABLE] and
+            not self.environment[
+                oengcommcons.EngineDBEnv.NEW_DATABASE
+            ]
+        ),
     )
     def _validation(self):
         self._checkDatabaseOwnership()
@@ -222,6 +225,7 @@
         after=(
             oengcommcons.Stages.DB_CREDENTIALS_AVAILABLE_LATE,
         ),
+        condition=lambda self: self.environment[oenginecons.CoreEnv.ENABLE],
     )
     def _misc(self):
         backupFile = None
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/distro-rpm/packages.py
 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/distro-rpm/packages.py
index 43f9a1c..39ec9e0 100644
--- 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/distro-rpm/packages.py
+++ 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/distro-rpm/packages.py
@@ -60,6 +60,7 @@
 
     @plugin.event(
         stage=plugin.Stages.STAGE_SETUP,
+        condition=lambda self: self.environment[oenginecons.CoreEnv.ENABLE],
     )
     def _setup(self):
         def tolist(s):
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/legacy/osinfo.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/legacy/osinfo.py
index 8e6b3aa..9bdc42c 100644
--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/legacy/osinfo.py
+++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/legacy/osinfo.py
@@ -49,6 +49,7 @@
     @plugin.event(
         stage=plugin.Stages.STAGE_MISC,
         condition=lambda self: (
+            self.environment[oenginecons.CoreEnv.ENABLE] and
             not self.environment[
                 oengcommcons.EngineDBEnv.NEW_DATABASE
             ] and
@@ -153,6 +154,7 @@
 
     @plugin.event(
         stage=plugin.Stages.STAGE_CLOSEUP,
+        condition=lambda self: self.environment[oenginecons.CoreEnv.ENABLE],
     )
     def _closeup(self):
         for candidate in self._toremove:
diff --git a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/pki/ca.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/pki/ca.py
index 3208ac7..f4b9f3a 100644
--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/pki/ca.py
+++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/pki/ca.py
@@ -108,8 +108,11 @@
 
     @plugin.event(
         stage=plugin.Stages.STAGE_SETUP,
-        condition=lambda self: not os.path.exists(
-            oenginecons.FileLocations.OVIRT_ENGINE_PKI_ENGINE_CA_CERT
+        condition=lambda self: (
+            self.environment[oenginecons.CoreEnv.ENABLE] and
+            not os.path.exists(
+                oenginecons.FileLocations.OVIRT_ENGINE_PKI_ENGINE_CA_CERT
+            )
         )
     )
     def _setup(self):
@@ -124,6 +127,7 @@
             osetupcons.Stages.CONFIG_PROTOCOLS_CUSTOMIZATION,
             oengcommcons.Stages.DIALOG_TITLES_S_PKI,
         ),
+        condition=lambda self: self.environment[oenginecons.CoreEnv.ENABLE],
     )
     def _customization(self):
         if self._enabled:
diff --git a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/pki/ssh.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/pki/ssh.py
index 153b3b8..401f6db 100644
--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/pki/ssh.py
+++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/pki/ssh.py
@@ -90,6 +90,7 @@
 
     @plugin.event(
         stage=plugin.Stages.STAGE_SETUP,
+        condition=lambda self: self.environment[oenginecons.CoreEnv.ENABLE],
     )
     def _setup(self):
         self.command.detect('ssh-keygen')
@@ -100,6 +101,7 @@
         after=(
             osetupcons.Stages.CA_AVAILABLE,
         ),
+        condition=lambda self: self.environment[oenginecons.CoreEnv.ENABLE],
     )
     def _misc(self):
         rc, privkey, stderr = self.execute(
@@ -137,6 +139,7 @@
         after=(
             osetupcons.Stages.DIALOG_TITLES_S_SUMMARY,
         ),
+        condition=lambda self: self.environment[oenginecons.CoreEnv.ENABLE],
     )
     def _closeup(self):
         self.dialog.note(
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/provisioning/postgres.py
 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/provisioning/postgres.py
index 599374b..67e50a3 100644
--- 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/provisioning/postgres.py
+++ 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/provisioning/postgres.py
@@ -28,6 +28,7 @@
 
 
 from ovirt_engine_setup import constants as osetupcons
+from ovirt_engine_setup.engine import engineconstants as oenginecons
 from ovirt_engine_setup.engine_common \
     import enginecommonconstants as oengcommcons
 from ovirt_engine_setup import dialog
@@ -97,9 +98,14 @@
         condition=lambda self: self._enabled,
     )
     def _customization(self):
-        if self.environment[
+        enabled = self.environment[
             oengcommcons.ProvisioningEnv.POSTGRES_PROVISIONING_ENABLED
-        ] is None:
+        ]
+
+        if not self.environment[oenginecons.CoreEnv.ENABLE]:
+            enabled = False
+
+        if enabled is None:
             local = dialog.queryBoolean(
                 dialog=self.dialog,
                 name='OVESETUP_PROVISIONING_POSTGRES_LOCATION',
@@ -146,6 +152,11 @@
                     oengcommcons.ProvisioningEnv.POSTGRES_PROVISIONING_ENABLED
                 ] = False
 
+        else:
+            self.environment[
+                oengcommcons.ProvisioningEnv.POSTGRES_PROVISIONING_ENABLED
+            ] = False
+
         self._enabled = self.environment[
             oengcommcons.ProvisioningEnv.POSTGRES_PROVISIONING_ENABLED
         ]
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/engine.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/engine.py
index f585338..2cac2cd 100644
--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/engine.py
+++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/engine.py
@@ -43,9 +43,12 @@
     @plugin.event(
         stage=plugin.Stages.STAGE_CLOSEUP,
         name=oengcommcons.Stages.CORE_ENGINE_START,
-        condition=lambda self: not self.environment[
-            osetupcons.CoreEnv.DEVELOPER_MODE
-        ],
+        condition=lambda self: (
+            self.environment[oenginecons.CoreEnv.ENABLE] and
+            not self.environment[
+                osetupcons.CoreEnv.DEVELOPER_MODE
+            ]
+        ),
     )
     def _closeup(self):
         self.logger.info(_('Starting engine service'))
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/exportfs.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/exportfs.py
index 2cbd3bd..50f29b6 100644
--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/exportfs.py
+++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/exportfs.py
@@ -105,9 +105,12 @@
         stage=plugin.Stages.STAGE_SETUP,
     )
     def _setup(self):
-        self._enabled = not self.environment[
-            osetupcons.CoreEnv.DEVELOPER_MODE
-        ]
+        self._enabled = (
+            self.environment[oenginecons.CoreEnv.ENABLE] and
+            not self.environment[
+                osetupcons.CoreEnv.DEVELOPER_MODE
+            ]
+        )
         self.command.detect('exportfs')
         self.environment[
             osetupcons.CoreEnv.UNINSTALL_UNREMOVABLE_FILES
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/memcheck.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/memcheck.py
index cc15f98..98c42e4 100644
--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/memcheck.py
+++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/memcheck.py
@@ -118,6 +118,7 @@
     @plugin.event(
         stage=plugin.Stages.STAGE_VALIDATION,
         name=oenginecons.Stages.MEMORY_CHECK,
+        condition=lambda self: self.environment[oenginecons.CoreEnv.ENABLE],
     )
     def _validateMemory(self):
         """
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/nfs.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/nfs.py
index 3bd0e20..4bea033 100644
--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/nfs.py
+++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/nfs.py
@@ -92,9 +92,12 @@
         stage=plugin.Stages.STAGE_LATE_SETUP,
     )
     def _setup(self):
-        self._enabled = not self.environment[
-            osetupcons.CoreEnv.DEVELOPER_MODE
-        ]
+        self._enabled = (
+            self.environment[oenginecons.CoreEnv.ENABLE] and
+            not self.environment[
+                osetupcons.CoreEnv.DEVELOPER_MODE
+            ]
+        )
         if self._distribution not in ('redhat', 'fedora', 'centos'):
             self.logger.warning(
                 _('Unsupported distribution disabling nfs export')
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/selinux.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/selinux.py
index 958606c..9194227 100644
--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/selinux.py
+++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/selinux.py
@@ -29,6 +29,7 @@
 
 
 from ovirt_engine_setup import constants as osetupcons
+from ovirt_engine_setup.engine import engineconstants as oenginecons
 
 
 @util.export
@@ -56,9 +57,12 @@
         self.command.detect('selinuxenabled')
         self.command.detect('semanage')
         self.command.detect('restorecon')
-        self._enabled = not self.environment[
-            osetupcons.CoreEnv.DEVELOPER_MODE
-        ]
+        self._enabled = (
+            self.environment[oenginecons.CoreEnv.ENABLE] and
+            not self.environment[
+                osetupcons.CoreEnv.DEVELOPER_MODE
+            ]
+        )
 
     @plugin.event(
         stage=plugin.Stages.STAGE_VALIDATION,
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/sysctl.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/sysctl.py
index 24091e3..f2feb22 100644
--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/sysctl.py
+++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/sysctl.py
@@ -55,12 +55,14 @@
 
     @plugin.event(
         stage=plugin.Stages.STAGE_SETUP,
+        condition=lambda self: self.environment[oenginecons.CoreEnv.ENABLE],
     )
     def _setup(self):
         self.command.detect('sysctl')
 
     @plugin.event(
         stage=plugin.Stages.STAGE_VALIDATION,
+        condition=lambda self: self.environment[oenginecons.CoreEnv.ENABLE],
     )
     def _validation(self):
         self._content = (
@@ -124,6 +126,8 @@
     @plugin.event(
         stage=plugin.Stages.STAGE_MISC,
         name=osetupcons.Stages.SYSTEM_SYSCTL_CONFIG_AVAILABLE,
+        after=oenginecons.Stages.CORE_ENABLE,
+        condition=lambda self: self.environment[oenginecons.CoreEnv.ENABLE],
         priority=plugin.Stages.PRIORITY_HIGH,
     )
     def _misc(self):
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/upgrade/answerfile_fixup.py
 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/upgrade/answerfile_fixup.py
index 260a7e3..1ad2cb3 100644
--- 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/upgrade/answerfile_fixup.py
+++ 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/upgrade/answerfile_fixup.py
@@ -30,6 +30,7 @@
 
 
 from ovirt_engine_setup import constants as osetupcons
+from ovirt_engine_setup import engineconstants as oenginecons
 
 
 @util.export
@@ -41,6 +42,8 @@
 
     @plugin.event(
         stage=plugin.Stages.STAGE_MISC,
+        after=oenginecons.Stages.CORE_ENABLE,
+        condition=lambda self: self.environment[oenginecons.CoreEnv.ENABLE],
     )
     def _misc(self):
         for f in glob.glob(
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/upgrade/asynctasks.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/upgrade/asynctasks.py
index 345fe5e..34d8d48 100644
--- 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/upgrade/asynctasks.py
+++ 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/upgrade/asynctasks.py
@@ -309,6 +309,7 @@
     )
     def _validateEnv(self):
         self._enabled = (
+            self.environment[oenginecons.CoreEnv.ENABLE] and
             not self.environment[
                 oengcommcons.EngineDBEnv.NEW_DATABASE
             ] and
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/upgrade/dbvalidations.py
 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/upgrade/dbvalidations.py
index 5e0ddfa..06361ea 100644
--- 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/upgrade/dbvalidations.py
+++ 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/upgrade/dbvalidations.py
@@ -114,9 +114,12 @@
             oengcommcons.Stages.DB_CONNECTION_CUSTOMIZATION,
             oengcommcons.Stages.DB_CREDENTIALS_AVAILABLE_EARLY,
         ),
-        condition=lambda self: not self.environment[
-            oengcommcons.EngineDBEnv.NEW_DATABASE
-        ],
+        condition=lambda self: (
+            self.environment[oenginecons.CoreEnv.ENABLE] and
+            not self.environment[
+                oengcommcons.EngineDBEnv.NEW_DATABASE
+            ]
+        ),
     )
     def _validation(self):
         self.logger.info(


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

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

Reply via email to