Ryan Barry has uploaded a new change for review. Change subject: Add on-shutdown hooks ......................................................................
Add on-shutdown hooks With requests to save some files which aren't managed by the TUI or our config classes on reboot, add on-shutdown hooks which run when the system comes down so we can execute things there. For now, this is only used for saving virt-who config files. Change-Id: I2cc830b1b4b28db29a3fe995ac31c36b15cf6676 Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1209356 Signed-off-by: Ryan Barry <[email protected]> --- M hooks/Makefile.am M hooks/README A hooks/on-shutdown/01-save-virtwho.py M ovirt-node.spec.in M services/init/ovirt-node-hooks.conf M services/ovirt-node-hooks.service 6 files changed, 37 insertions(+), 1 deletion(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-node refs/changes/30/39730/1 diff --git a/hooks/Makefile.am b/hooks/Makefile.am index f008d35..ff68c45 100644 --- a/hooks/Makefile.am +++ b/hooks/Makefile.am @@ -16,7 +16,15 @@ # also available at http://www.gnu.org/copyleft/gpl.html. onbootdir = $(libexecdir)/ovirt-node/hooks/on-boot +onshutdowndir = $(libexecdir)/ovirt-node/hooks/on-shutdown dist_onboot_SCRIPTS = \ on-boot/03-validate-owner-ssh-keys \ $(NULL) + +dist_onshutdown_SCRIPTS = \ + on-shutdown/01-save-virtwho.py + +install-data-hook: + mv $(DESTDIR)$(libexecdir)/ovirt-node/hooks/on-shutdown/01-save-virtwho.py \ + $(DESTDIR)$(libexecdir)/ovirt-node/hooks/on-shutdown/01-save-virtwho diff --git a/hooks/README b/hooks/README index b544b01..ae75767 100644 --- a/hooks/README +++ b/hooks/README @@ -1,2 +1,2 @@ on-boot dir contains scripts that will run during the boot. - +on-shutdown dir contains scripts that will be run during shutdown. diff --git a/hooks/on-shutdown/01-save-virtwho.py b/hooks/on-shutdown/01-save-virtwho.py new file mode 100755 index 0000000..a33022f --- /dev/null +++ b/hooks/on-shutdown/01-save-virtwho.py @@ -0,0 +1,24 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# 01-save-virtwho - Copyright (C) 2015 Red Hat, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +from glob import glob +from ovirt.node.utils.fs import Config + + +if __name__ == "__main__": + for f in glob("/etc/virt-who.d/*"): + try: + Config().persist(f) + except: + "Couldn't persist {f}!".format(f=f) + raise diff --git a/ovirt-node.spec.in b/ovirt-node.spec.in index 513acca..28a0107 100644 --- a/ovirt-node.spec.in +++ b/ovirt-node.spec.in @@ -638,6 +638,7 @@ %{__install} -d -m0755 %{buildroot}%{_libexecdir}/ovirt-node/hooks/post-upgrade %{__install} -d -m0755 %{buildroot}%{_libexecdir}/ovirt-node/hooks/rollback %{__install} -d -m0755 %{buildroot}%{_libexecdir}/ovirt-node/hooks/on-boot +%{__install} -d -m0755 %{buildroot}%{_libexecdir}/ovirt-node/hooks/on-shutdown %{__install} -d -m0755 %{buildroot}%{_libexecdir}/ovirt-node/hooks/on-changed-boot-image # dracut patches for rhel6 diff --git a/services/init/ovirt-node-hooks.conf b/services/init/ovirt-node-hooks.conf index a12d9ca..f70ed2f 100755 --- a/services/init/ovirt-node-hooks.conf +++ b/services/init/ovirt-node-hooks.conf @@ -1,4 +1,6 @@ start on started vdsmd +stop on runlevel [S06] task exec /usr/libexec/ovirt-node-hooks trigger on-boot +post-stop exec /usr/libexec/ovirt-node-hooks trigger on-shutdown diff --git a/services/ovirt-node-hooks.service b/services/ovirt-node-hooks.service index 84a0c4d..0f226fa 100644 --- a/services/ovirt-node-hooks.service +++ b/services/ovirt-node-hooks.service @@ -8,6 +8,7 @@ Type=oneshot RemainAfterExit=yes ExecStart=/usr/libexec/ovirt-node-hooks trigger on-boot +ExecStop=/usr/libexec/ovirt-node-hooks trigger on-shutdown [Install] WantedBy=multi-user.target -- To view, visit https://gerrit.ovirt.org/39730 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I2cc830b1b4b28db29a3fe995ac31c36b15cf6676 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-node Gerrit-Branch: master Gerrit-Owner: Ryan Barry <[email protected]> _______________________________________________ node-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/node-patches
