Yedidyah Bar David has uploaded a new change for review.

Change subject: packaging: setup: Allow answer-file-only mode
......................................................................

packaging: setup: Allow answer-file-only mode

Generate answer files at end of validation instead of end of closeup.

Exit if requested to only generate answer file.

Change-Id: I4b6af75001eb3192e6839e57dbb7446344ff29f4
Bug-Url: https://bugzilla.redhat.com/1062717
Signed-off-by: Yedidyah Bar David <d...@redhat.com>
---
M packaging/setup/bin/ovirt-engine-setup
M packaging/setup/ovirt_engine_setup/constants.py
M packaging/setup/plugins/ovirt-engine-common/base/core/answerfile.py
M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/dialog/preview.py
4 files changed, 22 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/90/25290/1

diff --git a/packaging/setup/bin/ovirt-engine-setup 
b/packaging/setup/bin/ovirt-engine-setup
index 52b100a..bae7297 100755
--- a/packaging/setup/bin/ovirt-engine-setup
+++ b/packaging/setup/bin/ovirt-engine-setup
@@ -31,6 +31,8 @@
         Generate answer file.
     --jboss-home=dir
         Use this jboss.
+    --answerfile-only
+        Exit at end of validation stage after generating an answer file.
 
 __EOF__
        exit 1
@@ -69,6 +71,9 @@
                --offline)
                        environment="${environment} 
OVESETUP_CORE/offlinePackager=bool:True PACKAGER/yumpackagerEnabled=bool:False"
                ;;
+               --answerfile-only)
+                       environment="${environment} 
OVESETUP_CORE/answerFileOnly=bool:True"
+               ;;
                --help)
                        usage
                ;;
diff --git a/packaging/setup/ovirt_engine_setup/constants.py 
b/packaging/setup/ovirt_engine_setup/constants.py
index ee8d23d..771f12c 100644
--- a/packaging/setup/ovirt_engine_setup/constants.py
+++ b/packaging/setup/ovirt_engine_setup/constants.py
@@ -648,6 +648,7 @@
 class CoreEnv(object):
     OFFLINE_PACKAGER = 'OVESETUP_CORE/offlinePackager'
     ANSWER_FILE = 'OVESETUP_CORE/answerFile'
+    ANSWER_FILE_ONLY = 'OVESETUP_CORE/answerFileOnly'
     DEVELOPER_MODE = 'OVESETUP_CORE/developerMode'
     UNINSTALL_UNREMOVABLE_FILES = 'OVESETUP_CORE/uninstallUnremovableFiles'
     GENERATE_POSTINSTALL = 'OVESETUP_CORE/generatePostInstall'
diff --git 
a/packaging/setup/plugins/ovirt-engine-common/base/core/answerfile.py 
b/packaging/setup/plugins/ovirt-engine-common/base/core/answerfile.py
index 53726c1..f21e2b7 100644
--- a/packaging/setup/plugins/ovirt-engine-common/base/core/answerfile.py
+++ b/packaging/setup/plugins/ovirt-engine-common/base/core/answerfile.py
@@ -21,6 +21,7 @@
 
 import os
 import datetime
+import sys
 import gettext
 _ = lambda m: gettext.dgettext(message=m, domain='ovirt-engine-setup')
 
@@ -48,12 +49,16 @@
             osetupcons.CoreEnv.ANSWER_FILE,
             None
         )
+        self.environment.setdefault(
+            osetupcons.CoreEnv.ANSWER_FILE_ONLY,
+            False
+        )
 
     @plugin.event(
-        stage=plugin.Stages.STAGE_CLOSEUP,
+        stage=plugin.Stages.STAGE_VALIDATION,
         priority=plugin.Stages.PRIORITY_LAST,
     )
-    def _closeup(self):
+    def _validation(self):
         answers = []
         answers.append(
             os.path.join(
@@ -108,5 +113,11 @@
                                         )
                                     )
 
+        if self.environment[osetupcons.CoreEnv.ANSWER_FILE_ONLY]:
+            self.logger.info(
+                _('Running in answer-file-only mode, exiting')
+            )
+            sys.exit(0)
+
 
 # vim: expandtab tabstop=4 shiftwidth=4
diff --git 
a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/dialog/preview.py 
b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/dialog/preview.py
index 40388a4..aa8a209 100644
--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/dialog/preview.py
+++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/dialog/preview.py
@@ -50,6 +50,9 @@
     @plugin.event(
         stage=plugin.Stages.STAGE_VALIDATION,
         priority=plugin.Stages.PRIORITY_LOW,
+        condition=lambda self: not self.environment[
+            osetupcons.CoreEnv.ANSWER_FILE_ONLY
+        ],
     )
     def _customization(self):
         self.dialog.note(


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I4b6af75001eb3192e6839e57dbb7446344ff29f4
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