Alex Lourie has uploaded a new change for review.

Change subject: packaging: setup: add constants list to the engine
......................................................................

packaging: setup: add constants list to the engine

The current implementation saves to answerfile and
postinstall file only values appearing in constants.py
and matching certain criteria, ignoring any additional
constants files existing.

The new implementation brings a new structure that holds
all constants objects, and updates the answerfile/postinstallfile
implementations to work on all elements of this structure.

To use the new method, a 3rd party plugin bringing its own
constants file should add its object to environment variable
osetupcons.CoreEnv.SETUP_ATTRS_MODULES dict.

For example, for additional constants_add.py, we do:

import constants_add as constadd
self.environment[
    osetupcons.CoreEnv.SETUP_ATTRS_MODULES
].append(constadd)

Change-Id: I6c919ed564003ed93300a84fc9072443eb865cf0
Bug-Url: https://bugzilla.redhat.com/1013790
Signed-off-by: Alex Lourie <alou...@redhat.com>
(cherry picked from commit 63558007f1955f48912a73c7758e90c2cc4fec03)
---
M packaging/setup/ovirt_engine_setup/constants.py
M packaging/setup/plugins/ovirt-engine-common/core/answerfile.py
M packaging/setup/plugins/ovirt-engine-common/core/misc.py
M packaging/setup/plugins/ovirt-engine-common/core/postinstall.py
4 files changed, 18 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/86/20386/1

diff --git a/packaging/setup/ovirt_engine_setup/constants.py 
b/packaging/setup/ovirt_engine_setup/constants.py
index 9a04d5f..e651c22 100644
--- a/packaging/setup/ovirt_engine_setup/constants.py
+++ b/packaging/setup/ovirt_engine_setup/constants.py
@@ -665,6 +665,8 @@
 
     LEGACY_PG_CREDS_FOUND = 'OVESETUP_CORE/legacyPGCredsFound'
 
+    SETUP_ATTRS_MODULES = 'OVESETUP_CORE/setupAttributesModules'
+
 
 @util.export
 @util.codegen
diff --git a/packaging/setup/plugins/ovirt-engine-common/core/answerfile.py 
b/packaging/setup/plugins/ovirt-engine-common/core/answerfile.py
index 8da9236..827f0ea 100644
--- a/packaging/setup/plugins/ovirt-engine-common/core/answerfile.py
+++ b/packaging/setup/plugins/ovirt-engine-common/core/answerfile.py
@@ -86,7 +86,12 @@
                         ],
                     )
                 )
-                for c in osetupcons.__dict__['__osetup_attrs__']:
+                consts = []
+                for constobj in self.environment[
+                    osetupcons.CoreEnv.SETUP_ATTRS_MODULES
+                ]:
+                    consts.extend(constobj.__dict__['__osetup_attrs__'])
+                for c in consts:
                     for k in c.__dict__.values():
                         if hasattr(k, '__osetup_attrs__'):
                             if k.__osetup_attrs__['answerfile']:
diff --git a/packaging/setup/plugins/ovirt-engine-common/core/misc.py 
b/packaging/setup/plugins/ovirt-engine-common/core/misc.py
index 96d0057..1a16dc4 100644
--- a/packaging/setup/plugins/ovirt-engine-common/core/misc.py
+++ b/packaging/setup/plugins/ovirt-engine-common/core/misc.py
@@ -98,6 +98,10 @@
             osetupcons.Const.DISPLAY_VERSION,
         )
 
+        self.environment[
+            osetupcons.CoreEnv.SETUP_ATTRS_MODULES,
+        ] = [osetupcons]
+
         if self.environment[osetupcons.CoreEnv.DEVELOPER_MODE] is None:
             self.environment[osetupcons.CoreEnv.DEVELOPER_MODE] = False
             if os.geteuid() != 0:
diff --git a/packaging/setup/plugins/ovirt-engine-common/core/postinstall.py 
b/packaging/setup/plugins/ovirt-engine-common/core/postinstall.py
index 046694c..adb4276 100644
--- a/packaging/setup/plugins/ovirt-engine-common/core/postinstall.py
+++ b/packaging/setup/plugins/ovirt-engine-common/core/postinstall.py
@@ -60,7 +60,12 @@
             )
         )
         content = ['[environment:default]']
-        for c in osetupcons.__dict__['__osetup_attrs__']:
+        consts = []
+        for constobj in self.environment[
+            osetupcons.CoreEnv.SETUP_ATTRS_MODULES
+        ]:
+            consts.extend(constobj.__dict__['__osetup_attrs__'])
+        for c in consts:
             for k in c.__dict__.values():
                 if hasattr(k, '__osetup_attrs__'):
                     if k.__osetup_attrs__['postinstallfile']:


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I6c919ed564003ed93300a84fc9072443eb865cf0
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: ovirt-engine-3.3
Gerrit-Owner: Alex Lourie <alou...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to