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