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 osetup.System.CONSTANTS
dict.

For example, for standard constants, we do:

import constants as osetupcons
osetupcons.System.CONSTANTS.append(osetupcons)

Change-Id: I6c919ed564003ed93300a84fc9072443eb865cf0
Bug-Url: https://bugzilla.redhat.com/1013790
Signed-off-by: Alex Lourie <alou...@redhat.com>
---
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/postinstall.py
M packaging/setup/plugins/ovirt-engine-common/system/environment.py
4 files changed, 16 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/36/20336/1

diff --git a/packaging/setup/ovirt_engine_setup/constants.py 
b/packaging/setup/ovirt_engine_setup/constants.py
index afd4d8d..9c87bcc 100644
--- a/packaging/setup/ovirt_engine_setup/constants.py
+++ b/packaging/setup/ovirt_engine_setup/constants.py
@@ -758,6 +758,12 @@
 
 @util.export
 @util.codegen
+class System(object):
+    CONSTANTS = []
+
+
+@util.export
+@util.codegen
 @osetupattrsclass
 class SystemEnv(object):
 
diff --git a/packaging/setup/plugins/ovirt-engine-common/core/answerfile.py 
b/packaging/setup/plugins/ovirt-engine-common/core/answerfile.py
index 8da9236..aec6758 100644
--- a/packaging/setup/plugins/ovirt-engine-common/core/answerfile.py
+++ b/packaging/setup/plugins/ovirt-engine-common/core/answerfile.py
@@ -86,7 +86,10 @@
                         ],
                     )
                 )
-                for c in osetupcons.__dict__['__osetup_attrs__']:
+                consts = []
+                for constobj in osetupcons.System.CONSTANTS:
+                    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/postinstall.py 
b/packaging/setup/plugins/ovirt-engine-common/core/postinstall.py
index 046694c..3d5d890 100644
--- a/packaging/setup/plugins/ovirt-engine-common/core/postinstall.py
+++ b/packaging/setup/plugins/ovirt-engine-common/core/postinstall.py
@@ -60,7 +60,10 @@
             )
         )
         content = ['[environment:default]']
-        for c in osetupcons.__dict__['__osetup_attrs__']:
+        consts = []
+        for constobj in osetupcons.System.CONSTANTS:
+            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']:
diff --git a/packaging/setup/plugins/ovirt-engine-common/system/environment.py 
b/packaging/setup/plugins/ovirt-engine-common/system/environment.py
index e5bf6f6..0dc92c6 100644
--- a/packaging/setup/plugins/ovirt-engine-common/system/environment.py
+++ b/packaging/setup/plugins/ovirt-engine-common/system/environment.py
@@ -82,5 +82,7 @@
             osetupcons.Defaults.DEFAULT_SYSTEM_USER_POSTGRES
         )
 
+        osetupcons.System.CONSTANTS.append(osetupcons)
+
 
 # vim: expandtab tabstop=4 shiftwidth=4


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I6c919ed564003ed93300a84fc9072443eb865cf0
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
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