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