Alon Bar-Lev has uploaded a new change for review. Change subject: packaging: setup: always create answer file ......................................................................
packaging: setup: always create answer file handy for support, create answer file at: /var/lib/ovirt-engine/setup/answers Change-Id: I8fca502907c0c4769a3f22e34e0a288a1a7b5997 Signed-off-by: Alon Bar-Lev <alo...@redhat.com> --- M Makefile M ovirt-engine.spec.in M packaging/setup/ovirt_engine_setup/constants.py M packaging/setup/plugins/ovirt-engine-common/core/answerfile.py 4 files changed, 57 insertions(+), 27 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/60/18260/1 diff --git a/Makefile b/Makefile index b4a44eb..6e60d7f 100644 --- a/Makefile +++ b/Makefile @@ -415,6 +415,7 @@ install -d "$(DESTDIR)$(PKG_CACHE_DIR)" install -d "$(DESTDIR)$(PKG_STATE_DIR)/deployments" install -d "$(DESTDIR)$(PKG_STATE_DIR)/content" + install -d "$(DESTDIR)$(PKG_STATE_DIR)/setup/answers" install -d "$(DESTDIR)$(PKG_LOG_DIR)/host-deploy" install -d "$(DESTDIR)$(PKG_LOG_DIR)/setup" install -d "$(DESTDIR)$(PKG_LOG_DIR)/notifier" diff --git a/ovirt-engine.spec.in b/ovirt-engine.spec.in index d8ca289..bd9e10c 100644 --- a/ovirt-engine.spec.in +++ b/ovirt-engine.spec.in @@ -449,8 +449,7 @@ # # /var creation # -install -dm 755 "%{buildroot}/%{engine_state}/deployments" -install -dm 755 "%{buildroot}/%{engine_state}/content" +install -dm 755 "%{buildroot}/%{engine_state}"/{deployments,content,setup/answers} install -dm 755 "%{buildroot}/%{engine_log}"/{host-deploy,setup,notifier,engine-manage-domains,dump} install -dm 755 "%{buildroot}/%{engine_cache}" install -dm 755 "%{buildroot}/%{engine_run}/notifier" @@ -729,6 +728,7 @@ %{engine_data}/conf/ovirt-engine-root-redirect.conf.in %{engine_data}/firewalld/base/ %{engine_data}/setup/ +%{engine_state}/setup/ # backward compatibility %ghost %config(noreplace) %{_sysconfdir}/firewalld/services/ovirt.xml diff --git a/packaging/setup/ovirt_engine_setup/constants.py b/packaging/setup/ovirt_engine_setup/constants.py index 404dc6b..63d99cb 100644 --- a/packaging/setup/ovirt_engine_setup/constants.py +++ b/packaging/setup/ovirt_engine_setup/constants.py @@ -175,6 +175,14 @@ OVIRT_ENGINE_LOCALSTATEDIR, 'deployments', ) + OVIRT_SETUP_STATE_DIR = os.path.join( + OVIRT_ENGINE_LOCALSTATEDIR, + 'setup', + ) + OVIRT_SETUP_ANSWERS_DIR = os.path.join( + OVIRT_SETUP_STATE_DIR, + 'answers', + ) OVIRT_ENGINE_PKIKEYSDIR = os.path.join( OVIRT_ENGINE_PKIDIR, diff --git a/packaging/setup/plugins/ovirt-engine-common/core/answerfile.py b/packaging/setup/plugins/ovirt-engine-common/core/answerfile.py index fe9699c..8da9236 100644 --- a/packaging/setup/plugins/ovirt-engine-common/core/answerfile.py +++ b/packaging/setup/plugins/ovirt-engine-common/core/answerfile.py @@ -19,6 +19,8 @@ """Answer file plugin.""" +import os +import datetime import gettext _ = lambda m: gettext.dgettext(message=m, domain='ovirt-engine-setup') @@ -50,36 +52,55 @@ @plugin.event( stage=plugin.Stages.STAGE_CLOSEUP, priority=plugin.Stages.PRIORITY_LAST, - condition=lambda self: self.environment[ - osetupcons.CoreEnv.ANSWER_FILE - ] is not None ) def _closeup(self): - self.logger.info( - _("Generating answer file '{name}'").format( - name=self.environment[osetupcons.CoreEnv.ANSWER_FILE], + answers = [] + answers.append( + os.path.join( + osetupcons.FileLocations.OVIRT_SETUP_ANSWERS_DIR, + '%s-%s.conf' % ( + datetime.datetime.now().strftime('%Y%m%d%H%M%S'), + self.environment[osetupcons.CoreEnv.ACTION], + ), ) ) - with open( - self.resolveFile(self.environment[osetupcons.CoreEnv.ANSWER_FILE]), - 'w' - ) as f: - f.write('[environment:default]\n') - for c in osetupcons.__dict__['__osetup_attrs__']: - for k in c.__dict__.values(): - if hasattr(k, '__osetup_attrs__'): - if k.__osetup_attrs__['answerfile']: - k = k.fget(None) - if k in self.environment: - v = self.environment[k] - f.write( - '%s=%s:%s\n' % ( - k, - common.typeName(v), - '\n'.join(v) if isinstance(v, list) - else v, + if self.environment[osetupcons.CoreEnv.ANSWER_FILE] is not None: + answers.append( + self.environment[osetupcons.CoreEnv.ANSWER_FILE] + ) + + for answer in answers: + self.logger.info( + _("Generating answer file '{name}'").format( + name=answer, + ) + ) + with open(answer, 'w') as f: + f.write( + ( + '# action=%s\n' + '[environment:default]\n' + ) % ( + self.environment[ + osetupcons.CoreEnv.ACTION + ], + ) + ) + for c in osetupcons.__dict__['__osetup_attrs__']: + for k in c.__dict__.values(): + if hasattr(k, '__osetup_attrs__'): + if k.__osetup_attrs__['answerfile']: + k = k.fget(None) + if k in self.environment: + v = self.environment[k] + f.write( + '%s=%s:%s\n' % ( + k, + common.typeName(v), + '\n'.join(v) if isinstance(v, list) + else v, + ) ) - ) # vim: expandtab tabstop=4 shiftwidth=4 -- To view, visit http://gerrit.ovirt.org/18260 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I8fca502907c0c4769a3f22e34e0a288a1a7b5997 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: ovirt-engine-3.3 Gerrit-Owner: Alon Bar-Lev <alo...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches